【文本检测与识别白皮书-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使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例