【文本检测与识别白皮书-3.2】第二节:基于注意力机制和CTC的场景文本识别方法的对比

本文主要是介绍【文本检测与识别白皮书-3.2】第二节:基于注意力机制和CTC的场景文本识别方法的对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本节内容给出基于CTC和基于注意力机制的两种场景文本识别方法,并给出各自的优势与局限性

3.2.2.1 基于CTC的无需分割的场景文本识别方法

基于时序连接序列(CTC)的自然场景文本识别算法。

时序连接序列(CTC)算法早期由Graves等人(2016)提出,用以训练循环神经网络(Cho 等,2014;Hochreiter 和Schmidhuber,1997),并直接标记未分割的特征序列。CTC 算法在多个领域均证明了它的优异性能,例如语音识别(Graves 等,2013;Graves 和Jaitly,2014)和联机手写文本识别(Graves等,2009;Graves,2012)。

对于自然场景文本识别言,CTC 算法通常作为转录层,通过计算条件概率将深度卷积神经网络或循环神经网络提取的特征序列直接解码为目标字符串序列。  得益于CTC 算法在语音处理领域的成功应用,一些研究人员(Su 和Lu,2014;He 等,2016b;Shi 等,2017b)率先将其应用于自然场景文本识别算法中以改善解码性能。例如,Shi 等人(2017b)将自然场景文本识别任务视为序列识别任务,并提出了一个可端到端训练的网络模CRNN(convolutional recurrent neural network),其结构如图 所示。

该方法不仅无需逐字符分割的繁复操作,而且充分结合了深度卷积神经网络和循环神经网络的优点,有效改善了自然场景文本识别算法的性能。此后,大量基于CTC 算法解码的自然场景文本识别算法(Liu等,2016b; Su 和Lu,2017; Yin 等,2017; Wang 和Hu,2017;Gao 等,2018,2019;Qi 等,2019)展现出了优秀的识别性能。然而,一些研究人员(Liu 等,2018a)认为CTC 算法趋向于产生高度尖锐和过度自信的预测分布,这是过拟合的表现。为了解决上述难点,Liu 等人(2018a)引入最大条件熵的正则化项增强其泛化性,并鼓励CTC 算法探索更多可行的有效路径。Feng 等人(2019b)将CTC 算法与焦点损失函数相融合,以解决样本类别极度不均衡的自然场景文本识别问题。Hu 等人(2020)应用图卷积神经网络改善基于CTC 算法解码的自然场景文本识别算法的识别精度和鲁棒性。

 

 虽然CTC 算法具有很好的解码性能,并进一步推动了自然场景文本识别领域的发展,但是它也面临着一些局限性:

(1)CTC 算法的底层理论基础相对复杂,直接应用CTC 算法解码将会造成很大的计算消耗;

(2)CTC 算法容易产生高度尖锐和过度自信的预测分布(Miao 等,2015),当出现重复字符时,解码性能下降;

(3)由于CTC 算法自身结构和实现方式的限制,它很难应用于2 维的预测问题,例如不规则的自然场景文本识别问题(不规则的自然场景文本识别是指待识别的文本在自然场景文本图像中的分布呈现特殊的空间结构而非水平方向)。

为了解决CTC 算法无法应用于不规则的自然场景文本识别任务,Wan 等人(2019)通过沿着高度方向增加维度,扩展原始的CTC 算法。尽管该方法在一定程度上改善了识别性能,但是并没有从根本上解决CTC 算法应用于二维预测任务的难点。因此,基于CTC 的自然场景文本识别算法仍然存在使用场景的限制。将CTC 算法应用于解决2 维预测问题是未来领域研究中一个有潜力的研究方向。

3.2.2.2基于注意力机制的无需分割的场景文本识别方法

基于注意力机制的自然场景文本识别算法。

注意力机制由Bahdanau 等人(2015)提出,早期用于改善机器翻译算法的性能。注意力机制以人类的注意力特点为原型,即当人们在观察事物时,目光往往聚焦到感兴趣的事物上而忽略无用信息的干扰。同样地,注意力机制可以自动地分配不同时刻的权重,达到“注意”的目的。在机器翻译领域,注意力机制的特点是可以自动搜寻并高亮与当前预测词相关的句子成分,辅助生成预测词。近年来,注意力机制在多个领域都取得了优异的性能,例如图像描述(He等,2019)、文本识别(Shi 等,2019)和遥感图像分类(Wang 等,2019d) 等。对于自然场景文本识别而言,注意力机制常常与循环神经网络结合使用,作为转录层,生成目标字符串序列。

 受启发于机器翻译领域注意力机制的成功应用,大量基于注意力机制解码的自然场景文本识别算法(Lee 和Osindero,2016;Shi 等,2016,2019;Yang等,2017,2019;Cheng 等,2018;Luo 等,2019;Li 等,2019; Zhan 等, 2019; Zhang 等, 2019b; Baek 等,2019a;Zhan 和Lu,2019)得到广泛研究。相关算法大致包括:

(1)应用注意力机制解决二维的预测问题。对于不规则的自然场景文本识别而言,文本字符的不规则排布显著增加了识别的难度。注意力机制能够通过高亮字符所在位置的特征,有效弥补不规则文本和水平平直文本之间的特征差异。因此,一些研究人员(Yang 等,2017;Li 等,2019;Huang等,2020)提出了2 维的注意力机制,用于改善不规则自然场景文本识别问题。

(2)改善隐式语言模型的建模过程。一些研究认为注意力机制解码算法中的glimpse 向量不足以表征待预测字符的特征。因此,Chen 等人(2020)设计了自适应的门控机制,通过引入高阶统计语言模型作为监督信息,改善注意力机制内部字符级隐式语言模型的建模过程。__Wang 等人(2018a)通过加入历史预测字符的特征, 构建了记忆力增强的注意力机制,改善自然场景文本识别算法的识别性能。Shi 等人(2019)认为常规的基于注意力机制的预测转录模块只能捕获单一方向的语义信息,因此提出了ASTER(attentional scene text recognizer with flexible rectification),它使用了双向的注意力解码器以捕获两个方向的互补语义特征,其网络及双向的注意力解码器结构如图11 所示。

    

 

(3)并行处理优化、降低计算复杂度。虽然基于循环神经网络结构的注意力机制能够捕获长期的上下文信息,但是计算量大、耗时较多。因此,一些研究(Zhu 等,2019;Wang 等,2019b;Sheng 等,2019;Yu 等,2020)应用注意力机制的变体,即Transformer(Vaswani,2017),来改善注意力机制的并行处理,降低基于注意力机制解码的自然场景文本识别算法的计算复杂度。

(4)解决注意力漂移问题。注意力漂移问题是指注意力机制不能准确地定位到与当前解码位置相对应的文本图像特征序列。一些研究(Cheng 等,2017;Yue 等,2020)增加额外的监督信息改善注意力漂移现象。Cheng 等人(2017)提出了专注注意力网络。该方法通过在注意力机制中引入单字符位置监督,引导识别器学习待解码字符与对应的文本图像特征序列的对齐关系。Yue 等人(2020)增加了位置强化分支,将语义信息与位置信息特征融合解码。该方法不仅改善了注意力漂移问题,而且改善了识别模型对于非语义文本的泛化性。

部分研究人员(Wang 等,2019c;Huang 等,2020;Zhu等,2019)通过级联注意力模块的方式缓解注意力漂移现象。特别地,Wang 等人(2020b) 认为注意力漂移现象源于循环神经网络的递归结构。因此,他们将注意力机制的对齐操作从参照历史解码信息过程中解耦出来。该方法有效缓解了长文本的注意力漂移问题,进一步改善了自然场景文本识别性能。

基于注意力机制的自然场景文本识别算法已经逐渐成为领域的主流解码算法,并展现了优于其他传统方法的优越性能。相比于CTC 算法,注意力机制不仅进一步提升了自然场景文本识别算法的识别性能,而且可以很容易地扩展到2 维的预测问题上,例如不规则自然场景文本识别任务。

然而,注意力机制也面临着一些局限性:

(1)注意力机制需要计算文本图像特征与预测字符之间的对齐关系,这会引入额外的存储消耗。

(2)对于较长的输入文本图像而言,注意力机制很难准确地预测出目标字符串序列。因为注意力机制存在漂移现象,一旦出现对齐错误,后续的文本很难正确识别。

(3)领域中基于注意力机制解码的自然场景文本识别算法主要集中于字符类别数量较少的语种,例如英文和法文。对于拥有类别字符数量的语种,例如中文,较少获得领域内研究人员的关注。

这篇关于【文本检测与识别白皮书-3.2】第二节:基于注意力机制和CTC的场景文本识别方法的对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542168

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP