摘要:本文提出了一种针对文字识别的半监督方法。区别于常见的半监督方法,本文的针对文字识别这类序列识别问题做出了特定的设计。

本文分享自华为云社区《[CVPR 2022] 不使用人工标注提升文字识别器性能》,作者:Hint。

本文提出了一种针对文字识别的半监督方法。区别于常见的半监督方法,本文的针对文字识别这类序列识别问题做出了特定的设计。具体来说,本文首先采用了teacher-student的网络结构,然后采用字符级别的一致性约束对teacher和student网络的预测进行对齐。此外,考虑到文字识别是step-by-step,每一个字符的预测都和之前时刻的预测结果相关。为了避免student网络在当前时刻的预测结果受到之前时刻错误预测的影响,本文将当前时刻之前,teacher的预测结果作为student当前时刻之前的预测结果,这样可以得到比较鲁棒的一致性约束,从而提升性能。

近年来,场景文本识别(STR)因其广泛应用而备受关注。大多数识别模型需要大量的有标注数据进行强监督训练。虽然合成数据可以缓解识别模型对数据量的需求,但是合成数据和真实场景的域间差距极大地限制了识别模型在真实场景下的性能。在本文中,作者希望通过同时利用有标注的合成数据以及无标注的真实数据来提升STR模型的性能,完全不需要任何人工标注。本文提出了一种鲁棒的基于一致性约束的半监督方法,可以有效解决合成数据与真实数据域不一致导致的不稳定问题。字符级的一致性约束旨在减轻序列识别过程中错误识别导致的不对齐问题。在标准文字识别数据集上,大量实验证明了所提出方法的有效性。该方法能够稳步提升现有的STR模型,并得到最先进的结果。此外,本文也是第一个将一致性约束应用到文字识别领域的工作。

方法:

本框架包括两个分支,一个是输出有标签合成数据的强监督分支,一个是输入无标签真实数据的半监督分支。强监督分支和一般的识别模型一样。关于半监督分支,采用teacher-student进行一致性约束。具体来说,将强监督得到的预训练模型作为teacher和student网络的初始化模型,然后对同一张输入图像进行弱数据扩增和强数据扩增,并分别输入到teacher和student网络中;将teacher网络的预测结果作为伪标签对student的输出进行监督。

由于文字识别是一个序列识别问题,当前时刻的预测结果和之前时刻的预测结果相关。为了尽可能减少target和online模型在同一时刻预测结果的不对齐问题,online分支之前时刻的预测结果会和target分支之前时刻的预测结果保持一致,然后再进行当前时刻的字符预测。字符级别的一致性loss如下公式所示,Dist()可以是交叉熵,KL-Div或者MSE,本文采用的是KL-Div。

此外,为了减轻合成数据与真实数据之间的域间差别,本文还使用了字符级别的域对齐模块。该模块首先分别将合成数据和真实数据每个时刻的视觉特征收集起来构成一个集合H

,然后计算他们各自的协方差矩阵cov()。

最终,整个框架的loss由强监督识别loss,一致性约束loss和域适应loss构成:

实验:

在引入无标签数据之后,当前识别模型的性能能够得到稳定的提升。

相比于其他利用无标签数据的方法而言,本文提出的基于一致性约束的方法能够优于其他几种方法。

该实验主要证明了online model中的projection layer,使用EMA更新的target model和domain adaptation模块的有效性。

该实验证明了在online model中使用和target model相同的之前时刻预测结果的有效性。

该实验主要讨论了一致性loss的类型对最终性能的影响,可以看到交叉熵和KL-Div性能差不多,且优于MSE。

论文链接:[2204.07714] Pushing the Performance Limit of Scene Text Recognizer without Human Annotation (arxiv.org)

点击关注,第一时间了解华为云新鲜技术~

论文解读丨【CVPR 2022】不使用人工标注提升文字识别器性能的更多相关文章

  1. 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)

    摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...

  2. 论文解读丨表格识别模型TableMaster

    摘要:在此解决方案中把表格识别分成了四个部分:表格结构序列识别.文字检测.文字识别.单元格和文字框对齐.其中表格结构序列识别用到的模型是基于Master修改的,文字检测模型用到的是PSENet,文字识 ...

  3. 论文解读( N2N)《Node Representation Learning in Graph via Node-to-Neighbourhood Mutual Information Maximization》

    论文信息 论文标题:Node Representation Learning in Graph via Node-to-Neighbourhood Mutual Information Maximiz ...

  4. 跟我读CVPR 2022论文:基于场景文字知识挖掘的细粒度图像识别算法

    摘要:本文通过场景文字从人类知识库(Wikipedia)中挖掘其背后丰富的上下文语义信息,并结合视觉信息来共同推理图像内容. 本文分享自华为云社区<[CVPR 2022] 基于场景文字知识挖掘的 ...

  5. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  6. CVPR 2022数据集汇总|包含目标检测、多模态等方向

    前言 本文收集汇总了目前CVPR 2022已放出的一些数据集资源. 转载自极市平台 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟踪.经典论文解读.CV招聘信息. M5Produc ...

  7. zz扔掉anchor!真正的CenterNet——Objects as Points论文解读

    首发于深度学习那些事 已关注写文章   扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 ​关注他 JustDoIT 等 ...

  8. CVPR2020行人重识别算法论文解读

    CVPR2020行人重识别算法论文解读 Cross-modalityPersonre-identificationwithShared-SpecificFeatureTransfer 具有特定共享特征变换 ...

  9. CVPR2020论文解读:CNN合成的图片鉴别

    CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot... for now> 论文链接:h ...

  10. 昇腾CANN论文上榜CVPR,全景图像生成算法交互性再增强!

    摘要:近日,CVPR 2022放榜,基于CANN的AI论文<Interactive Image Synthesis with Panoptic Layout Generation>强势上榜 ...

随机推荐

  1. 手把手教你玩转 Gitea|使用 Docker 安装 Gitea

    使用 Docker 安装 Gitea 的过程非常简单的,堪比"一键式"安装.Gitea 安装使用系列教程将会从多种方式进行全方位的实操演示. 视频演示中使用腾讯云实验环境安装 Do ...

  2. C# 内存泄漏之 Internal 关键词代表什么?

    一:背景 1. 背景 前段时间有位朋友咨询说他的程序出现了非托管内存泄漏,说里面有很多的 HEAP_BLOCK 都被标记成了 Internal 状态,而且 size 都很大, 让我帮忙看下怎么回事? ...

  3. springboot的注解声明过滤器配置错误导致拦截所有请求。

    究其原因, 原来spring 扫包时候 扫了Webfilter 注解,注册了一次过滤匹配路径,扫了Component注解(又注册了一次过滤匹配路径,默认是全路径). Component注解后于WebF ...

  4. 工厂方法在Spring源码中的运用

    我们都知道Spring中IOC是使用的工厂模式,但是对于实现细节就一知半解了,今天这篇文章就带大家解读Spring中是如何使用工厂模式的. 在上篇文章中我们懂了什么是工厂模式,这篇文章就带着学过的概念 ...

  5. Double数据运算过程中精度调整

    Double数据进行运算时,容易出现多位小数的精度问题 ①问题现象 ②解决方案 使用BigDecimal类型来进行Double类型数据运算 创建BigDecimal类型对象时将Double类型的数据转 ...

  6. 【番外篇】Rust环境搭建+基础开发入门+Rust与.NET6、C++的基础运算性能比较

    前言:突然想打算把Rust作为将来自己主要的副编程语言.当然,主语言还是C#,毕竟.NET平台这么强大,写起来就是爽.缘起:之前打算一些新的产品或者新的要开发的东西,由于没有历史包袱,就想重新选型一下 ...

  7. 魔改editormd组件,优化ToC渲染效果

    前言 我的StarBlog博客目前使用 editor.md 组件在前端渲染markdown文章,但这个组件自动生成的ToC(内容目录)不是很美观,我之前魔改过一个树形组件 BootStrap-Tree ...

  8. 浅尝 ECDHE 协议流程

    前言 ECDHE 我之前是听都没听过, 但是新业务需要对前后端通信进行加密, 经过大佬推荐才知道有这个东西, 经过几天的学习和踩坑, 才大致明白其流程和使用方式. 过程坎坷, 好在最后还是成功运用到了 ...

  9. 谷歌浏览器xpath获取网页按钮路径

    谷歌浏览器打开要获取的页面按下F12打开开发者工具 点击最左边的元素选择器,高亮后光标移动到对应元素框(这里只选择里层的元素,如这里要选到input级别) 点击后下方HTML会高亮显示,鼠标移动上去右 ...

  10. python进阶(26)collections标准库

    前言 这个模块实现了特定目标的容器,以提供Python标准内建容器dict ,list ,set , 和tuple 的替代选择. 这个模块提供了以下几个函数 函数 作用 namedtuple() 创建 ...