3.2技术背景——文本识别方法
3.2.1 基于分割的场景文本识别方法
基于分割的识别算法是自然场景文本识别算法的一个重要分支(Wang 等,2012;Bissacco 等,2013;Jaderberg 等,2014),通常包括3 个步骤:图像预处理、单字符分割和单字符识别。基于分割的自然场景文本识别算法通常需要定位出输入文本图像中包含的每个字符的所在位置,通过单字符识别器识别出每一个字符,然后将所有的字符组合成字符串序列,得到最终的识别结果。
一个早期的自然场景文本识别系统(Wang 等,2011),以单字符的得分和位置作为系统输入,利用图形模型从一个特定的词典中找到与识别结果相对应的最佳匹配文本,将其作为最终的识别结果。该方法不仅在识别性能上超过了当时最领先的商用OCR 系统ABBYY,同时也奠定了自然场景文本识别领域的基准性能。受启发于深度卷积神经网络在视觉理解任务(LeCun 等,1998)的成功应用,堆叠多层神经网络的无监督特征学习方式被广泛应用于自然场景文本识别任务( Wang 等, 2012; Liu 等,2016c;Mishra 等,2016),用以训练一个高性能的字符识别模块。特别地,字符间距算法或集束搜索(beam search)算法(Liu 等,2002)被用于处理后续字符串转录,从一个特定的字典中匹配到最佳的识别结果。为了进一步改善自然场景文本识别算法的识别性能,尺度不变特征变换(scale-invariant feature transform,SIFT)描述子(Phan 等,2013)、笔画(Yao等,2014b)及中级视觉特征(Gordo,2015)等算法被用于提取更鲁棒的文本图像视觉特征表达。具体而言,与Wang 等人(2011)不同,Phan 等(2013)将基于分割的识别算法中的单字符识别任务视为寻找字符集与特定字典的最佳匹配任务,通过在任意方向上提取文本图像的尺度不变特征变换描述子,获取图像特征表达,用于后续的自然场景文本识别。Yao 等人(2014b)为单字符识别器设计了一个新颖的特征表达,即笔画(Strokelets),可以通过字符边框位置由深度神经网络自动地学习得到,并从多个图像尺度上捕获字符的结构特征。经过大量的实验验证及可视化分析得出,笔画特征在鲁棒性、泛化性和可解释性上都显著优于传统的特征描述子。
上述提到的算法均依赖于字典匹配获取最佳的识别结果。然而,算法的搜索时间与字典的规模相关。随着待匹配字典规模的增加,算法的搜索空间也大大增加,因此,依赖于字典匹配获取最佳识别结果的自然场景文本识别算法很难直接应用于实际的应用中。为了解决上述难点,无字典约束的自然场景文本识别算法开始被广泛探索。Mishra 等人(2012)利用大规模的字典作为高阶统计语言模型,克服了需要特定字典来匹配识别结果的缺点,实现了无字典约束的自然场景文本识别。其他研究人员则利用更大规模的数据(Bissacco 等,2013)和更复杂的网络结构(Jaderberg 等,2014;Guo 等,2016),例如Maxout 网络(Goodfellow 等,2013)等,改善无字典约束的自然场景文本识别算法的识别性能。
尽管基于分割的自然场景文本识别算法从识别性能和泛化性能上都明显优于传统文本识别算法,但基于分割的自然场景文本识别算法要求精准的字符分割结果。特别地,字符分割被视为计算机视觉领域最具挑战性的研究课题之一。因此,基于分割的自然场景文本识别算法的识别性能高度依赖并受限于单字符分割的性能。
3.2.2 无需分割的场景文本识别方法
自然场景文本识别算法的另一个重要分支是无需分割的识别算法。无需分割的自然场景文本识别算法旨在将整个文本行视为一个整体,直接将输入的文本图像映射为目标字符串序列,从而避免了单字符分割的缺点和性能限制,此类方法也是当前的主流方法。无需分割的自然场景文本识别算法如图所示,通常包括4 个阶段:图像预处理阶段、特征提取阶段、序列建模阶段和预测转录阶段。
1.图像预处理阶段
图像预处理阶段旨在提升输入图像的质量,从而改善后续文本图像特征表征,降低识别难度。常用的图像预处理算法包括:背景擦除、超分辨率和不规则纠正等。
1)背景擦除。自然场景文本大多具有十分复杂的背景,且背景中的部分纹理特征与文本特征从视觉上看是十分相似的,这大大增加了自然场景文本识别的难度。除了建模更加复杂精密的特征提取阶段(Liu 等,2018b) 和合成背景复杂的文本数据(Fang 等,2019;Wu 等,2019)外,一个简单且直接的方法是将文本从复杂的背景中剥离。尽管传统的图像二值化方法(Casey 和Lecolinet,1996)针对文档图像具有较好的处理性能,但这类方法很难处理自然场景文本复杂多变的字体风格和多种环境噪声干扰。Luo 等人(2021)利用生成对抗网络(Goodfellow等,2014)移除背景,保留文本特征。该 方法大大降低了后续识别网络的难度,并显著改善了识别性能。
2)超分辨率。自然场景文本通常受到多种环境噪声的干扰而呈现低分辨率的特点。较低的分辨率会加大后续识别网络出现误识别及字符缺漏的风险。图像超分辨率算法能够根据给定低分辨率的图像有效输出对应的较高分辨率的图像,降低后续识别网络的识别难度。传统的超分辨率算法,如双线性插值、双三次插值等,旨在重构整幅自然场景文本图像的纹理特征,并不完全适用于低分辨率的自然场景文本(Wang 等,2020c)。相比于简单地将自然场景图像超分辨任务视为回归任务( Dong 等,2016),研究人员(Wang 等,2020c;Mou等,2020)采取多任务的网络结构设计,将超分辨率与自然场景文本识别任务有机结合,显著改善了自然场景低分辨率文本的识别性能。
3)不规则纠正。不规则纠正的目的在于规范化输入的自然场景文本图像,将不规则的文本排布恢复为常规的水平平直文本,从而降低后续识别网络的识别难度。不规则自然场景文本是指含有透视变换或不规则排布的自然场景文本。空间变换网络(Jaderberg 等,2015b)作为早期的纠正模块,常被用于纠正整幅自然场景文本图像(Shi 等,2016;Liu 等,2016b)或单字符区域的文本图像(Liu 等,2018b)。Shi 等人(2019) 应用薄板样条插值( thin plate spline,TPS)算法(Bookstein,1989)处理更加复杂的文本形变。越来越多精细设计的纠正网络被提出,例如, Luo 等人(2019)通过预测输入自然场景文本图像不同区域的偏置,设计了一个多目标的像素级自然场景文本图像纠正网络。Zhan 等人(2019)为了改善自然场景文本图像纠正性能,提出了一个新颖的线性拟合变换和一个迭代的基于薄板样条插值的纠正网络。Yang 等人(2019)基于图像属性(中心线、尺度和旋转方向等)提出了一个对称性限制的自然场景文本图像纠正网络。
为了处理多变的文本噪声,越来越复杂的图像预处理模块设计已经成为一种新的行业趋势。然而,复杂的模块设计除了带来识别性能的提升,也意味着时间和内存的大量消耗。研究人员应该根据实际的应用场景理性权衡评估算法的性能和速度需求。随着不规则文本检测技术的迅猛发展,自然场景文本识别算法中的不规则纠正模块是否是解决文本排布规则的唯一方案值得思考。
图像预处理包括且不限于上述内容,不同处理算法间可以叠加使用。图像预处理能够通过改善输入自然场景文本图像的质量,显著地提高后续识别网络的识别性能。虽然近年来自然场景文本识别算法获得了迅猛发展,但是上述基础的图像预处理方案却很少在领域中应用。因此,设计更加精巧的图像预处理算法值得研究人员及相关从业人员的关注。
2.特征提取阶段
特征提取阶段旨在将输入的自然场景文本图像映射为鲁棒的高级视觉特征表达,强调待识别字符特征,抑制无关背景及属性特征,如字体、颜色和尺度等。
早期,Su 和Lu(2014) 应用方向梯度直方图(HOG)特征描述子构建自然场景文本图像的序列文本特征。得益于视觉理解等任务的成功应用,度卷积神经网络(Yin 等,2017;Cheng 等,2018;Liu等,2018b;Zhan 和Lu,2019;Luo 等,2019;Wan 等,2020)及其变体广泛地应用于特征提取阶段,例如VGGNet(Visual Geometry Group Network)(Simonyan 和Zisserman, 2015; Shi 等, 2017a; Jaderberg 等,2015a;Yu 等,2020;Yang 等,2017)。为了获得更强大的视觉特征表达,更多精心设计的、复杂的神经网络相继应用于自然场景文本识别领域,如残差神经网络(He 等,2016a;Liu 等,2016b;Fang 等,2018;Wang 等,2020b;Shi 等,2019;Chen 等,2020;Xie 等,2019c;Li 等,2019;Zhan 等,2019;Yang 等,2019;Baek 等,2019a;Qi 等,2019;Zhu 等,2019;Zhan 和Lu,2019) 和DenseNet ( Huang 等, 2017; Gao 等,2018;Gao 等,2019)等。研究人员尝试从多个不同的角度改善特征提取阶段的特征表征。例如,Lee和Osindero(2016)应用递归卷积神经网络建立参数高效的特征表征。相比于传统的卷积神经网络而言,递归卷积神经网络能够在相同的参数规模下,建模更加紧凑的特征空间。受启发于循环卷积神经网络在图像分类中的成功应用,Wang 和Hu(2017)设计了一个门控循环神经网络,通过控制识别模型内部视觉特征的信息流动,改善自然场景文本的序列特征表征。不同于上述算法,Liu 等人(2018e)专注于实时的自然场景文本识别,并提出了新颖的二进制卷积神经网络层。经过大量的实验验证,二进制的特征表征显著加快了推理速度,降低了内存消耗。一些研究(Gao 等,2018;Zhang 等,2019b;Liao 等,2021;Huang 等,2020;Fang 等,2018)认为,直接使用深度卷积神经网络在原始自然场景文本输入图像上进行特征提取会引入大量的额外噪声,从而增加后续识别网络的识别难度。因此,将深度卷积神经网络与注意力机制(Bahdanau 等,2015)相结合,强化有效的前景文本区域,弱化背景噪声。特别地,Liao支在与检测分支结合后,可进一步达到端到端自然场景文本检测与识别系统的领先水平。近期,Zhang等人(2020b)利用网络结构搜索确定特征提取阶段的网络结构,改善自然场景文本识别算法对于丰富多样的输入文本图像的泛化性。
更深的网络结构以及更先进的特征提取算法通常会带来更好的图像特征表征,改善具有复杂背景的自然场景文本识别算法的识别性能。然而,识别性能的提升往往以大量的计算及内存消耗为代价。在未来的领域研究中,背景擦除的图像预处理算法与相对简单的特征提取器的结合也许是改善复杂背景的自然场景文本识别算法识别性能的有效方案。
3.序列建模阶段
序列建模阶段,作为视觉特征表征阶段与转录解码阶段的衔接桥梁,旨在建模字符与字符之间的语义相关性,捕获序列文本间的上下文信息。多层双向长短期记忆网络(Graves 等,2009)能够捕获长期的上下文依赖关系,常作为序列建模模块(Su 和Lu,2014,2017;Shi 等,2017b,2019;Liu 等,2016b;Wang 和Hu,2017;Wang 等,2018a;Cheng 等,2018;Gao 等,2018;Luo 等,2019;Chen 等,2020; Li 等,2019;Zhan 等,2019;Yang 等,2019;Baek 等,2019a)广泛地应用于自然场景序列文本识别算法中。Litman等人(2020)通过在不同网络深度增加监督信息,成功地堆叠了多层双向长短期记忆网络,改善了上下文信息即语义信息的建模过程。然而,一些研究人员认为(Yin 等,2017;Fang 等,2018;Xie 等,2019b;Gao 等,2019;Qi 等,2019)双向长短期记忆网络或许不应该成为自然场景文本识别算法的必需组成部分。尽管双向长短期记忆网络能够有效地建模上下文信息,但其递归的网络结构耗时严重,还可能引起训练过程中的梯度消失及梯度爆炸问题。因此,部分研究人员选择滑窗(Yin 等,2017)或深层一维卷积神经网络(Fang 等,2018;Xie 等,2019b;Gao等,2019)代替双向长短期记忆网络建模语义信息。尽管在早期的领域研究中,深度卷积神经网络广泛应用于提取视觉特征表征(Wang 等,2012;Mishra等,2016;Liu 等,2016c),但深度卷积神经网络也可以通过精准地控制感受野范围建模语义特征。近年来,一些研究人员(Yu 等,2020;Qiao 等,2020b)更多地专注于建模全局语义信息。Yu 等人(2020)通过多路并行传输,设计了一个全局语义推理模块捕获全局语义信息。Qiao 等人(2020b)借助自然语言处理领域强大的预训练模型作为监督信息,指导语义特征的学习。
语义特征对于基于图像的自然场景文本识别任务而言是十分重要的。尽管基于循环神经网络(Hochreiter 和Schmidhuber,1997)及其变体的网络结构,例如长短期记忆网络和双向长短期记忆网络,能够有效地建模语义信息,捕获长期的上下文依赖关系,但它仍然存在一些局限性。相反,深度卷积神经网络或Transformer(Vaswani 等,2017) 结构通过精准的感受野设计,不仅能够建模文本的语义信息,而且能够高效地并行处理。通过深度卷积神经网络或Transformer 结构建模自然场景文本的语义信息也许将成为领域内的新趋势。
4.预测转录阶段
预测转录阶段旨在将自然场景文本图像特征向量解码为目标字符串序列。预测转录阶段根据选用解码器的不同,大致可以分为基于时序连接序列(connectionist temporal classification,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.3 常用的文本识别模型
CRNN
2017年华中科技大学在发表的论文《An End-to-End Trainable Neural Network for Image-based Sequence Recognition and ItsApplication to Scene Text Recognition》提出了一个识别文本的方法,这种方法就是CRNN。该模型主要用于解决基于图像的序列识别问题,特别是场景文本识别问题。
CRNN算法原理:
CRNN的网络架构如图1所示,由卷积层、循环层和转录层三个组成部分组成。在CRNN的底部,卷积层自动从每个输入图像中提取一个特征序列。在卷积网络的基础上,建立一个递归网络,由卷积层输出,对特征序列的每一帧进行预测。采用CRNN顶部的转录层,将循环层的每帧预测转化为标签序列。虽然CRNN是由不同类型的网络架构组成的。CNN和RNN),它可以用一个损失函数进行联合训练。文本识别是对序列的预测方法,所以采用了对序列预测的RNN网络。通过CNN将图片的特征提取出来后采用RNN对序列进行预测,最后通过一个CTC的转录层得到最终结果。
所以CRNN算法主要采用的是CNN+RNN+CTC三层网络结构,从下到上,依次为:
(1)卷积层,使用CNN,从输入图像中提取特征序列;
(2)循环层,使用RNN,预测从卷积层获取的特征序列的标签(真实值)分布;
(3)转录层,使用CTC,把从循环层获取的标签分布通过去重整合等操作转换成最终的识别结果。
CNN(即卷积层)
在CRNN模型中,卷积层的分量是通过从标准CNN模型中提取卷积层和最大池化层(去掉全连接层)。该组件用于从输入图像中提取序列特征表示。在被输入网络之前,所有的图像都需要缩放到相同的高度。然后从卷积层的分量生成的特征映射中提取出一个特征向量序列,作为递归层的输入。具体来说,特征序列的每个特征向量在特征映射上从左到右依次生成。这意味着第i个特征向量是所有映射的第i个列的连接。在CRNN的设置中,每一列的宽度都被固定为单个像素。这意味着第i个特征向量是所有映射的第i个列的连接。在CRNN的设置中,每一列的宽度都被固定为相同像素。
由于卷积层、最大池化层和元素激活函数层作用于局部区域,因此它们是平移不变的。因此,特征映射的每一列对应原始图像的矩形区域(称为接受域),这些矩形区域与特征映射上对应列的排列顺序相同。如图2所示,特征序列中的每个向量都与一个感受域相关联,可以考虑作为该区域的图像描述符。
2.RNN(即循环层)
一个深度双向递归神经网络建立在卷积层的顶部,作为递归层。循环层预测特征序列x = x1,……,xt中每一帧xt的标签分布yt。循环层的优点有三方面。首先,RNN具有很强的捕获序列中的上下文信息的能力。使用上下文线索进行基于图像的序列识别比独立处理每个符号更稳定和更有帮助。以场景文本识别为例,宽字符可能需要连续几帧进行充分描述(参见图2)。此外,一些模糊的字符在观察上下文时更容易区分,例如,对比角色高度更容易识别“il”,而不是单独识别“il”。其次,RNN可以将误差差分反向传播到其输入端,即卷积层,允许我们在一个统一的网络中联合训练循环层和卷积层。
LSTM是定向的,它只使用过去的上下文。在基于图像的序列中,两种方法的上下文是有用的和互补的。然后,CRNN将两个LSTM,一个向前,一个向后,组合成一个双向LSTM。此外,可以堆叠多个双向LSTM,产生深度双向LSTM,如图3.b所示。深度结构比浅层结构具有更高层次的抽象性,并在语音识别[17]任务中取得了显著的证明性能。在循环层中,误差差分与图3.b所示的箭头方向相反,即时间反向传播(BPTT)。在循环层的底部,将传播的差分序列连接成映射,将特征映射转换为特征序列的操作,并反馈到卷积层。在实践中,我们创建了一个自定义的网络层,称为“映射到序列”,作为卷积层和循环层之间的桥梁。
3.CTC(即转录层或翻译层)
转录是将RNN对每帧的预测转换为标签序列的过程。在数学上,转录是指在每帧预测的条件下找到具有最高概率的标签序列。在实践中,存在两种转录模式,即无词汇的转录和基于词汇的转录。词典是预测所约束的一组标签序列,例如一个拼写检查字典。在无词汇模式下,没有任何词汇即可进行预测。在基于词汇的模式下,通过选择概率最高的标签序列来进行预测。
实验结果:
CRNN选择Synth作为模型训练的数据集,选择ICDAR 2003(IC03), ICDAR 2013 (IC13), IIIT 5k-word (IIIT5k), 和Street View Text (SVT)作为测试数据。其中IC03测试数据集包含251个带有标记文本边界框的场景图像。IC13测试数据集继承了IC03的大部分数据。它包含1015个经过裁剪的单词图像。IIIT5k包含从互联网上收集的3000张经过裁剪的单词测试图像。SVT测试数据集由从Google street view收集的249张街景图像组成。
表2显示了通过提议的CRNN模型和最新技术(包括基于深度模型的方法)获得的上述四个公共数据集的所有识别精度【(《Deep featuresfor text spotting》)、(《Reading text in the wild with convolutional neural networks.》)、(《Deep structured output learning for unconstrained text recognition.》)】。在词汇受限的情况下,CRNN的方法始终优于大多数最先进的方法,并且平均优于[22]中提出的最佳文本阅读器。具体而言,CRNN在IIIT5k上获得了优异的性能,SVT与《Reading text in the wild with convolutional neural networks.》相比,在IC03上只有“完整”词典的性能较低。请注意,《Reading text in the wild with convolutional neural networks.》中的模型是在特定词典上训练的,即每个单词都与一个类标签相关联。与《Reading text in the wild with convolutional neural networks.》不同,CRNN不局限于识别已知词典中的单词,并且能够处理随机字符串(如电话号码)、句子或其他脚本,如中文单词。因此,CRNN的结果在所有测试数据集上都具有竞争力。在无约束词典的情况下,CRNN的方法在SVT上取得了最好的性能,但仍然落后于IC03和IC13上的一些方法。请注意,表2“无”列中的空白表示这种方法无法应用于没有词典的识别,或者在无约束的情况下没有报告识别精度。CRNN的方法仅使用带有单词级标签的合成文本作为训练数据,这与PhotoOCR非常不同,后者使用790万个带有字符级注释的真实单词图像进行训练。文献《Reading text in the wild with convolutional neural networks.》报告的最佳性能是在无约束词典的情况下,得益于其大词典,然而,它并不是前面提到的对词典严格无约束的模型。从这个意义上讲,CRNN在无约束词典案例中的结果仍然很有希望。
得到的实验结果如下:
结论:
提出了一种新的神经网络结构,称为卷积递归神经网络(CRNN),它综合了卷积神经网络(CNN)和递归神经网络(RNN)的优点。CRNN能够获取不同尺寸的输入图像,并生成不同长度的预测。例如,在每个阶段中,每个详细元素都会直接运行(例如,在每个阶段中,每个详细元素都会运行注释)。此外,由于CRNN放弃了传统神经网络中使用的完全连接层,因此可以得到更紧凑、更高效的模型。所有这些特性使得CRNN成为基于图像的序列识别的一种优秀方法。
在场景文本识别基准上的实验表明,与传统方法以及其他基于CNN和RNN的算法相比,CRNN取得了优越或极具竞争力的性能。这证实了该算法的优越性。此外,在光学音乐识别(OMR)的基准测试中,CRNN显著优于其他竞争对手,这验证了CRNN的通用性。
因此,CRNN实际上可以应用于其他领域的汉字识别。进一步加快CRNN的速度,使其在实际应用中更加实用,是未来值得探索的另一个方向。
TextSnake
2018年的论文《TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes》提出了一种灵活的任意形状场景文本检测方法TextSnake。
其主要贡献有三个方面:(1)提出了一种灵活的任意形状场景文本的通用表示方法;(2) 在此基础上,提出了一种有效的场景文本检测方法;(3) 提出的文本检测算法在多个基准上实现了最先进的性能,包括不同形式(水平、定向和弯曲)的文本实例
现有文本检测方法有一个共同的假设:
本实例的形状大体上是线性的;因此采用相对简单的表征方法(轴对齐矩形、旋转矩形四边形);
处理不规则形状的文本实例时,依然会暴露问题;
对于带有透视变形(perspective distortion)的曲形文本(curved text)传统方法在精确估计的几何属性方面力不从心;
文本实例不同表征方法的对比,图a是轴对齐矩形,图b是旋转矩形,图c是四边形;图d是TextSnake。
TextSnake算法原理:
TextSnake图示
如图1所示,场景文本的常规表示(如轴对齐矩形、旋转矩形和四边形)不能精确描述不规则形状的文本实例的几何属性,因为它们通常假设文本实例大致为线性形式,这对于曲线文本不成立。为了解决这个问题,提出了一个灵活的和通用的方法:TextSnake。如图2所示,TextSnake将一个文本实例表示为一个重叠的圆盘序列,每个圆盘都位于中心线上,并与一个半径和一个方向相关联。直观地说,TextSnake能够改变其形状,以适应文本实例的变化,如旋转、缩放和弯曲。
从数学上讲,由几个字符组成的文本实例t可以视为一个有序列表S (t)。S (t) = {D0、D1、···、Di、···、Dn},其中Di代表第i个圆盘,n为圆盘的数量。每个圆盘D都与一组几何属性相关联,即D =(c、r、θ),其中c、r和θ分别为圆盘D的中心、半径和方向。半径r定义为其局部宽度t的一半,而方向θ是中心线围绕中心c的切向方向。在这个意义上,通过计算S (t)中圆盘的并集,可以很容易地重建文本区域t。
请注意,圆盘与t对应的字符不一致。但是,S (t)中的几何属性可以用于修正不规则形状的文本实例,并将其转换为矩形的直形图像区域,这对文本识别器更友好
方法Pipeline:
为了检测具有任意形状的文本,TextSnake使用了一个FCN模型来预测文本实例的几何属性。该方法的管道流程如图3所示。基于FCN的网络预测文本中心线(TCL)和文本区域(TR)的得分图,以及几何属性,包括r、cosθ和sinθ。TCLmap被TRmap进一步掩盖,因为TCL自然是TR的一部分。为了执行实例分割,鉴于TCL彼此不重叠,使用不相交集。采用跨越式算法提取中轴点列表,最后对文本实例进行重构。
网络架构:
整个网络如图4所示。受FPN和U-net的启发,TextSnake采用了一种逐步合并主网络不同层次特征的方案。主干网络可以是被提出的用于图像分类的卷积网络,如VGG-16/19和ResNet。这些网络可以分为5个卷积阶段和一些额外的全连接(FC)层。TextSnake删除FC层,并在每个阶段后将特征映射提供给特征合并网络。TextSnake选择VGG-16作为主干网络,以便与其他方法进行直接公平的比较。
推理:
馈送之后,网络输出TCL,TR以及几何图,对于TCL和TR,阈值分别设为Ttcl和Ttr,然后,通过TR和TCL的交点,给出了TCL的最终预测。使用不相交集,可以有效地将TCL像素分离为不同的文本实例。
最后,设计了一种跨步算法,提取出表示文本实例的形状和过程的有序点列表,并对文本实例区域进行重构。采用两种简单的启发式方法来过滤出false positive文本实例:1)TCL像素的数量应至少为其平均半径的0.2倍;2)在重建的文本区域中,至少有一半的像素应该被归类为TR。
跨步算法的执行过程如图5所示。它具有3个主要动作,即Act (a)、Act (b)和Act (c),如图6所示。首先,随机选择一个像素作为起点,并将其集中起来。然后,搜索过程分叉到两个相反的方向,大步前进和集中化,直到它到达终点。这个过程将在两个相反的方向上生成两个有序的点列表,它们可以组合起来产生最终的中心轴列表,它遵循文本的过程,并精确地描述形状。这3个动作的细节如下所示
实验结果:
本文中用于实验的数据集如下:
SynthText是一个大型sacle数据集,包含约800K个合成文本图像。这些图像是通过将自然图像与随机字体、大小、颜色和方向呈现的文本混合而成的,因此这些图像非常逼真。我们使用这个数据集对模型进行预训练。
TotalText是一个新发布的文本检测基准。除了水平和面向多个方向的文本实例之外,该数据集还特别具有曲线文本,这在其他基准数据集中很少出现,但实际上在实际环境中非常常见。该数据集分为训练集和测试集,分别包含1255张和300张图像。
CTW1500是另一个主要由曲线文本组成的数据集。它由1000个训练图像和500个测试图像组成。文本实例使用具有14个顶点的多边形进行注释。
ICDAR 2015被提议作为Challenge 4 of the 2015 Robust Reading Competition中偶然场景文本检测的挑战4。该数据集中的场景文本图像由谷歌眼镜拍摄,不考虑位置、图像质量和视点。该数据集具有小的、模糊的、多方向的文本实例。有1000张图片用于培训,500张图片用于测试。此数据集中的文本实例标记为单词级四边形。
MSRA-TD500是一个具有多语言、任意定向和长文本行。它包括300个训练图像和200个带有文本的测试图像行级注释。在之前的工作[3,10]之后,实验还将来自HUST-TR400[39]的图像作为训练数据,在对该数据集进行调整时,因为其训练集非常小。
在ICDAR 2015和MSRA-TD500上的实验中,实验根据方法的输出文本区域确定了最小边界矩形。
得到了如下图示的实验结果:
为了进行比较,Textsnake还对Total Text和CTW1500上的EAST和SegLink模型进行了评估。表1和表2显示了这两个数据集上不同方法的定量结果。
如表1所示,TextSnake所提出的方法在总文本的准确率、召回率和F-measure上分别达到82.7%、74.5%和78.4%,显著优于以前的方法。请注意,TextSnake方法的F- measure是原始Total Text论文[12]中提供的Baseline的两倍以上。
在CTW1500上,该方法的准确率、召回率和F-measure分别达到67.9%、85.3%和75.6%。与CTW1500数据集一起提出的CTD+TLOC相比,TextSnake算法的F-measure高出2.2%(75.6%对73.4%)。该方法在全文本和CTW1500上的优异性能验证了该方法能够处理自然图像中的曲线文本。
ICDAR 2015的微调将在大约30k次迭代时停止。在测试中,所有图像的大小都调整为1280×768。Ttr、Ttcl设置为(0.4、0.9)。考虑到ICDAR 2015中的图像包含许多未标记的小文本,将过滤掉短边小于10像素或面积小于300的预测矩形。
ICDAR 2015上不同方法的定量结果如表3所示。仅通过单尺度测试,TextSnake的方法优于大多数竞争对手(包括多尺度评估的方法)。这表明所提出的表示TextSnake是通用的,可以很容易地应用于复杂场景中的面向多个方向的文本。
MSRA-TD500上的微调将在大约10k次迭代时停止。Ttr、Ttcl的阈值为(0.4、0.6)。在测试中,所有图像的大小都调整为1280×768。结果如表4所示,TextSnake方法的F- Measure(78.3%)高于其他方法。
分析与讨论:
TextSnake的方法与其他方法的区别在于,它能够预测文本实例的形状和过程的精确描述(见图8)。
TextSnake将这种能力归因于TCL机制。文本中心线可以看作是一种支撑文本实例的骨架,以及提供更多细节的地理属性。文本,作为一种书面语言的形式,可以看作是一个映射到二维表面上的信号流。当然,它应该遵循一条需要延伸的路线。
因此,TextSnake建议预测TCL,它比整个文本实例要窄得多。它有两个优点: (1)一个细长的TCL可以更好地描述过程和形状;(2)直观地看,TCL彼此不重叠,因此实例分割可以以一种非常简单和直接的方式完成,从而简化了TextSnake的pipeline。
此外,如图9所示,TextSnake可以利用局部几何图形来绘制文本实例的结构,并将预测的弯曲文本实例转换为规范形式,这可能在很大程度上促进了识别阶段。
为了进一步验证TextSnake的方法的泛化能力,在没有弯曲文本的数据集上训练和微调TextSnake的模型,并在两个具有弯曲文本的基准测试上对其进行评估。具体来说,在ICDAR 2015上调整了TextSnake的模型,并在目标数据集上对它们进行了评估。我们以EAST 、SegLink 和PixelLink 的模型作为baseline,因为这两种方法也在ICDAR 2015上进行了训练。
如表5中所示,TextSnake的方法在弯曲文本上仍然表现良好,并且明显优于三个强大的竞争对手SegLink,EAST和PixelLink,而没有对弯曲文本进行微调。TextSnake将这种优秀的泛化能力归因于所提出的灵活表示。表示不是将文本作为一个整体,而是将文本视为局部元素的集合,并将它们集成在一起以做出决策。局部属性在形成一个整体时被保留。此外,它们是相互独立的。因此,TextSnake的方法的最终预测可以保留文本的形状和过程的大部分信息。这是所提出的文本检测算法能够搜索具有不同形状的文本实例的主要原因。
结论:
TextSnake提出了一种新颖、灵活的表示方法,用于描述具有任意形状的场景文本的属性,包括水平、多向和曲线文本实例。TextSnake提出的文本检测方法在两个新发布的曲线文本数据集(Total text和SCUT-CTW1500)以及两个在该领域广泛使用的数据集(ICDAR 2015和MSRA-TD500)上获得了最先进或可比的性能,证明了方法的有效性。
EAST
2017年的论文《EAST: An Efficient and Accurate Scene Text Detector》提出了一个高效和准确的场景文本检测pipeline文本检测模型EAST。
典型的文本检测模型一般是会分多个阶段(multi-stage)进行,在训练时需要把文本检测切割成多个阶段(stage)来进行学习,这种把完整文本行先分割检测再合并的方式,既影响了文本检测的精度又非常耗时,对于文本检测任务上中间过程处理得越多可能效果会越差。
那么现在我们来学习又快、又准的检测模型。
EAST的贡献:
1.提出了一个由两阶段组成的场景文本检测方法:全卷积网络阶段和NMS阶段。
2.该pipeline可灵活生成word level或line level上文本框的预测,预测的几何形状可为旋转框或水平框。
3.算法在准确性和速度上优于此前最先进的方法。
EAST算法原理:
EAST模型简介
该算法的关键组成部分是一个神经网络模型,它被训练来直接从完整的图像中预测文本实例及其几何形状的存在。该模型是一个完全卷积的神经网络,适用于文本检测,它可以输出对单词或文本线的密集的每像素预测。该模型是一个完全卷积的神经网络,适用于文本检测,它可以输出对单词或文本行的密集的每像素预测。这就消除了诸如候选提案、文本区域的形成和文字的划分等中间步骤。后处理步骤只包括对预测的几何形状的阈值化和NMS。该探测器被称为EAST,因为它是一个高效和精确的场景文本检测pipeline。
图2(e)显示了EAST的管道的高级概述。该算法遵循DenseBox 的一般设计,将图像输入FCN,生成多个像素级文本评分图和几何图形通道。其中一个预测的通道是一个像素值在[0,1]范围内的评分图。其余的通道表示包含在每个像素视图中的单词的几何图形。这个分数代表了在同一位置上预测的几何形状的置信度。EAST实验了文本区域的两种几何形状,旋转框(RBOX)和四边形(QUAD),并为每个几何图形设计了不同的损失函数。然后将阈值应用于每个预测区域,其中分数超过预先定义的阈值的几何图形被认为是有效的,并保存为以后的非最大抑制。NMS之后的结果被认为是管道的最终输出。
EAST模型网络结构
EAST模型的网络结构,如下图:
在设计用于文本检测的神经网络时,必须考虑到几个因素。由于单词区域的大小,如图5所示,变化很大,确定大单词的存在需要神经网络后期的特征,而预测包含一个小单词区域的准确几何形状在早期阶段需要低水平的信息。因此,网络必须使用来自不同级别的特性来满足这些需求。HyperNet在特征图上满足这些条件,但在大型特征图上合并大量通道将显著增加后期阶段的计算消耗。为此,我们采用u型的思想,逐步合并特征图,同时保持上采样分支较小。我们一起得到了一个网络,它既可以利用不同级别的特性,又可以保持较小的计算成本。我们的模型的示意图如图3所示。该模型可分解为特征提取主干、特征合并分支和输出层三部分。
主干可以是一个在ImageNet 数据集上预先训练好的卷积网络,具有交错的卷积层和池化层。从主干中提取出四级特征图,分别表示为fi,其大小分别为输入图像的1/32、1/16、1/8和1/4。图3中描述为PVANet 。在实验中,我们还采用了众所周知的VGG16 模型,其中提取了pooling-2到pooling-5之后的特征映射。
在特征合并分支中,我们逐步合并它们:
其中gi是合并基,hi是合并的特征映射,操作符[·;·]表示沿通道轴的连接。在每个合并阶段中,来自最后一个阶段的特征映射首先被输入到一个非池化层,以使其大小加倍,然后与当前的特征映射相连接。接下来,一个conv1×1瓶颈减少了通道的数量并减少了计算,然后是一个conv3×3,它融合信息,最终产生这个合并阶段的输出。在最后一个合并阶段之后,一个conv3×3层生成合并分支的最终特征图,并将其提供给输出层。
每个卷积的输出通道数如图3所示。我们保持分支中卷积的通道数很小,这只增加了主干上的一小部分计算消耗,使网络的计算效率很高。最终的输出层包含几个conv1×1操作,以将32个通道的特征映射投影到1个通道的分数映射Fs和一个多通道几何映射Fg中。几何输出可以是RBOX或QUAD中的一个,在表1中总结。
对于RBOX,几何形状由4个通道的轴对齐的边界框(AABB)R和1个通道的旋转角度θ表示。R的公式与(《Unifying landmark localization with end to end object detection》)相同,其中4个通道分别表示从像素位置到矩形的上、右、下、左边界的4个距离。
对于QUAD Q,使用8个数字来表示从四边形的四个角顶点{pi|i∈{1,2,3,4}}到像素位置的坐标位移。由于每个距离偏移量包含两个数字(∆xi,∆yi),因此几何图形输出包含8个通道。
标签生成(Label generation)
Score Map Generation for Quadrangle:
只考虑几何是四边形的情况。得分图上的四边形的正面积大致被设计为原始地图的缩小版本,如图4 (a).所示对于一个四边形Q = {pi|i∈{1,2,3,4}},其中pi= {xi,yi}是按顺时针顺序在四边形上的顶点。为了缩小Q,首先计算每个顶点p的参考长度ri为
式中,D(pi,pj)是pi和pj之间的l2距离。我们首先缩小一个四边形的两条较长的边,然后缩小那两个较短的边。对于每一对两个相反的边,我们通过比较它们的长度的平均值来确定“较长的”对。对于每条边<pi,p(i mod 4)+1i>,我们通过沿边移动其两个端点向内分别移动0.3ri和0.3r(i mod 4)+1来收缩它。
Geometry Map Generation:
几何图是RBOX或QUAD之一。RBOX的生成过程如图4(c-e)所示。对于那些文本区域以QUAD风格进行注释的数据集(例如,ICDAR 2015),我们首先生成一个旋转的矩形,它覆盖了具有最小面积的区域。然后对于每个得分为正的像素,我们计算它到文本框的4个边界的距离,并将它们放到RBOX地面真相的4个通道中。对于QUAD地面真相,在8通道几何地图中每个得分为正的像素的值是它从四边形的4个顶点的坐标偏移。
实验结果:
定性结果:
图5描述了该算法的几个检测示例。它能够处理各种具有挑战性的场景,如不均匀的照明,低分辨率,不同的方向和透视失真。此外,由于NMS过程中的投票机制,所提出的方法在具有不同形式的文本实例的视频上显示出较高的稳定性2。该方法的中间结果如图6所示。可以看出,训练后的模型产生了高度精确的几何图和得分图,其中很容易检测出不同方向的文本实例。
定量结果:
如表3和表4所示,EAST的方法在IC-DAR 2015和COCO文本上大大优于以前的最先进方法。在ICDAR 2015挑战4中,当图像以原始比例馈送时,所提出的方法的F -score达到0.7820。当使用同一网络在多个量表3上进行测试时,EAST的方法的F-score达到0.8072,就绝对值而言,这比最佳方法高出了近0.16(0.8072 vs.0.6477)。比较使用VGG16网络的结果,当使用四路输出时,该方法的性能也比之前的最佳工作好0.0924,当使用RBOX输出时,该方法的性能也比之前的最佳工作好0.116。同时,这些网络的效率相当高。在COCO text中,所提出的算法的所有三种设置都比之前的top-performer(《Scene text detection via holistic, multi-channel prediction. 》)具有更高的精度。具体而言,F -score比(《Scene text detection via holistic, multi-channel prediction. 》)提高了0.0614,召回得分提高了0.053,这证实了该算法的优势,因为COCO text是迄今为止最大、最具挑战性的基准。请注意,实验还将(《Coco-text: Datasetand benchmark for text detection and recognition in natural images. 》)中的结果作为参考,但这些结果实际上不是有效的Baseline,因为方法(A、B和C)用于数据注释。与以前的方法相比,该算法的改进证明了一个简单的文本检测pipeline,它直接针对最终目标并消除冗余过程,可以击败复杂的pipeline,甚至是那些与大型神经网络模型集成的pipeline。如表5所示,在MSRA-TD500上,EAST方法的所有三种设置都取得了优异的结果。最佳工作的F-score(Ours+PVANET2x)略高于《Scene text detection via holistic, multi-channel prediction. 》。与之前发布的最先进系统Zhang等人(《Multi-oriented text detection with fully convolutional networks》)的方法相比,最佳执行者(Ours+PVANET2x)的F-score提高了0.0208,精确度提高了0.0428。请注意,在MSRA-TD500上,配备VGG16的算法的性能比配备PVANET和PVANET2x的算法差得多(0.7023比0.7445和0.7608),主要原因是VGG16的有效感受野小于PVANET和PVANET2x的有效感受野,而MSRA-TD500的评估协议需要文本检测算法的输出行级别,而不是单词级别的预测。此外,实验还根据ICDAR 2013基准评估了Ours+PVANET2x。该方法在查全率、查准率和F得分方面分别达到0.8267、0.9264和0.8737,与之前的最先进方法相比,前者的查全率、查准率和F得分分别为0.8298、0.9298和0.8769。
EAST模型的优势在于简洁的检测过程,高效、准确,并能实现多角度的文本行检测。但也存在着不足之处,例如(1)在检测长文本时的效果比较差,这主要是由于网络的感受野不够大;(2)在检测曲线文本时,效果不是很理想
参考文献:
Liu C Y, Chen X X, Luo C J, Jin L W, Xue Y and Liu Y L. 2021. Deep learning methods for scene text detection and recognition. Journal of Image and Graphics,26(06):1330-1367(刘崇宇,陈晓雪,罗灿杰,金连文,薛洋,刘禹良. 2021. 自然场景文本检测与识别的深度学习方法. 中国图象图形学报,26(06):1330-1367)[DOI:10. 11834 / jig. 210044]
Shi B G, Bai X and Yao C. 2017a. An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(11): 2298-2304 [DOI: 10. 1109 / TPA-MI. 2016. 2646371]
Zhou X Y, Yao C, Wen H, Wang Y Z, Zhou S C, He W R and Liang J J. 2017. EAST: an efficient and accurate scene text detector/ / Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE: 5551-5560 [DOI: 10. 1109 / CVPR. 2017. 283]
Long S B, Ruan J Q, Zhang W J, He X, Wu W H and Yao C. 2018. TextSnake: a flexible representation for detecting text of arbitrary shapes/ / Proceedings of the 15th European Conference on Computer Vision. Munich, Germany: Springer: 19-35 [DOI: 10. 1007 / 978-3-030-01216-8_2]