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

本文分享自华为云社区《[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. Java程序设计(二)作业

    题目1:输入一个三位十进制数,对其每一位进行筛选,逆序组合后输出. package test; import java.util.*; public class test2{ public stati ...

  2. 220722 T1 分树 (模拟)

    dfs一遍求出以每个节点为根的子树大小,然后枚举n的约数,对于每个约数i,统计sz[ ]是i的倍数的有多少个(开桶统计),如果有n/i个则答案+1. 这道题也就是个结论题,画图分析一下.复杂度O(n* ...

  3. POJ3237 Tree (树链剖分)

    通过打懒标记实现区间取反,和线段树基本操作都差不多. 本题还是一道边权化为点权的问题. 200行巨长代码: 1 #include<cstdio> 2 #include<cstring ...

  4. 可观测性的常见用例|Techtarget

    [ 文章来源 ]https://www.techtarget.com/searchitoperations/tip/Common-use-cases-for-observability 这些可观测性用 ...

  5. [C#]SourceGenerator实战: 对任意对象使用await吧!!!

    [C#]SourceGenerator实战: 对任意对象使用await吧!!! 前言 本文记录一次简单的 SourceGenerator 实战,最终实现可以在代码中 await 任意类型对象,仅供娱乐 ...

  6. JSP的内置对象 request和response

    文章目录 1.request对象 2.response响应对象 3.out输出对象 4.session会话对象 5.application应用对象 概述 在使用JSP内置对象的时候.不需要先定义这些对 ...

  7. vue3+element-plus+登录逻辑token+环境搭建

    vue3+element-plus+登录逻辑token环境搭建 安装脚手架工具 1 npm i @vue/cli@4.5.13 -g 验证是否安装成功 1 vue -V # 输出 @vue/cli 4 ...

  8. 【原创】在RT1050 LittleVgl GUI中嵌入中文输入法框架

    时隔一年多终于又冒泡了,哎,随着工作越来越忙,自己踏实坐下来写点东西真是越来越费劲,这篇文章也是准备了好久好久才打算发表出来(不瞒大家,东西做完好久了,文章憋了一年了,当真"高产" ...

  9. Pthread 并发编程(一)——深入剖析线程基本元素和状态

    Pthread 并发编程(一)--深入剖析线程基本元素和状态 前言 在本篇文章当中讲主要给大家介绍 pthread 并发编程当中关于线程的基础概念,并且深入剖析进程的相关属性和设置,以及线程在内存当中 ...

  10. pycharm安装第三方的包

    这里以安装selenium为例子 在file下找到settings 在弹出的窗口点击python interpreter ,然后在右侧点击[+] 在弹窗顶部输入要导入的包名,在下方列表找到对应包后,点 ...