基于深度学习的字符级场景汉字检测与识别问题研究

发布时间:2021-01-14 19:33:51 论文编辑:vicky
本课题完成研究内容和结论如下:(1) 本文提出基于多尺度特征和多目标函数的自然场景文本检测算法。通过运用语义分割的思想对传统的特征提取网络进行重新设计,增加网络的感受野,使其更加自由的应付自然场景下中文文本存在的形式,同时新颖的提出了使用多分割损失函数分别作用于检测网络,提高模型检测的召回率和准确率。该模型解决了场景文本检测中多尺度问题,提升了检测网络区分文本与非文本的能力。

第 1 章 绪论

1.1 课题研究背景及意义
文字作为人们日常生活交流中的载体有着重要的研究意义。通过文字的描述来表达人的情感,在人类的进化过程中也具有着非凡的意义。世界上的语言种类繁多,中国的汉字是使用人数最多的,历史也最久远的文字。最早的古代文字“甲骨文”,也是最原始的文字形式,被记录在牛骨和龟壳上,现代发掘到的甲骨文碎片对于历史进化的研究具有深远的意义。现在使用的汉字在历史长河的演变过程中已经变的简单易写,而且形式也多种多样如楷书、行书、行草等等。汉字记录着优秀的中华文明,不仅对中国历史的研究有着推动作用,也影响着世界的文化发展。
随着社会的进步,汉字在生活的环境中随处可见。以往的汉字研究经常是从已存的书籍和出版的报纸中提取需要的有关信息,伴随着计算机技术的日渐成熟,各类 OCR产品相继出现,对于这些排列整齐,背景纯净的版面文字的分析的效果也越来越好。与纯净的文档版面相比,自然场景下的汉字在字体上复杂多变,即使同一行文字也会存在着不同的字体和尺度,这些外界因素的存在会严重影响场景汉字检测识别的质量,也为汉字的研究带来了极大的挑战,具体的挑战可以分为以下几类:
1. 场景汉字的背景:不同于整齐分布的文档,通过简单的图像处理算法对图片进行处理后便可以得到干净的二值化文字。自然场景下的外界影响因素极其不确定,标牌中的颜色和纹路可能与文字极其相似,导致肉眼都难以区分背景与文字。自然环境中文字会受到雨水的腐蚀或是树枝、墙瓦的遮挡等,这些非文本实例的存在都会影响检测和识别的效果。
2. 场景汉字的多样性:汉字在字形、字体和倾斜程度都有较大的变化,与字体规整的文档相比,自然场景中的汉字无规律可循。自然界中文字出现的形式多种多样如道路标志牌、悬挂的横幅、街边的商店标牌等,没有统一的特征增加了检测和识别的难度。
3. 场景汉字的类别分布:英文字符区分大小写一共 52 个字符,类别较少。汉字的种类根据国标 GB2312-80 统计经常使用的有 3755 个,还有使用频率比较少的类别不计其数。汉字的类别庞大,使用的频率分布不均,不均衡的数据量使汉字识别变得困难。
.........................

1.2 国内外研究现状
这些年场景文本检测和识别一直是研究的热点,不管是从传统学习还是现在的深度学习方面,识别结果都是最终的目的。研究人员通常都会将检测和识别分为两个任务,首先对于图片中的文字进行定位,得到准确的位置后再去进行识别任务。虽然有一些基于深度学习的端到端的检测识别算法出现,其本质也是在同一个网络中先定位后识别。
1.2.1 自然场景文本检测研究现状
根据时间节点最早的文本检测研究都是由传统算法构成。Chen[1]等人把文字的纹理作为一种特有的特征,使用处理过的特征集合计算联合概率分布,再通过 AdaBoost 将多个弱分类器组合成级联的强分类器检测得到候选文本区域。基于纹理的算法常选择对整张图片进行扫描计算,耗时较大且处理步骤繁琐。而后便有研究者提出了基于连通域的思想[2][3][4],一般会对图片处理比如像素聚类首先得到候选的连通域集合,再经过研究人员设计的过滤规则对候选的文本区域分类过滤。Epshtein 等人提出笔画宽度变换(Stroke Width Transform,SWT)[2],对图片逐像素地计算笔画宽度,按宽度相似规则组合成小的文本区域。该方法分为边缘像素 SWT 操作、字符分量查找和字符分量聚合三个步骤,能够处理不同尺度范围内文本和任意方向的文本。最大稳定极值区域(Maximally Stable Extremal Regions,MSER)[5]算法因为其高效快速的空间搜索特性,被 Neumann 等人[6]应用在文本检测领域。由于对原图的所有区域进行空间搜索消耗巨大,该算法将搜索的空间限制在 MSER 区域,使用训练好的支持向量机(Support Vector Machine,SVM)分类器[7]过滤掉非文本候选区,再根据一些特性(颜色、字符高度、字符之间的距离等)对字符候选区进行衡量,最后将衡量过的候选区聚合成文本行。然而该算法并未将角度范围大的倾斜文本行考虑在内,仅能处理小角度的近似水平文本行。Wang 等人[8]使用滑动窗口分类器做多尺度字符的检测,在相关英文数据集上取得了相对不错的效果,然而在整张图像上滑动的计算量太大。传统算法处理图像的过程复杂,无法应对背景噪声多的自然场景图片,不能达到研究人员需要的效果。
............................

第 2 章 相关工作

2.1 基于深度学习的图像语义分割方法
目前卷积神经网络(CNN)在图像识别、场景分类和其他领域都起着重要作用。图像的分割在于对图像中不同的区域进行拆分,作出相关分析。传统算法一般使用阈值分割、边缘检测等方法对图像进行分割,同文本检测相似,都需要人工分析其特征。深度学习的方法一般由图 2-1 的结构组成,相比传统算法,深度学习的方法简单许多且应用领域广泛,近些场景文本检测的研究也大都基于语义分割相关方法。
图 2-1 深度学习语义分割网络流程
2.1.1 语义分割算法-FCN
全卷积网络(Fully Convolutional Networks,FCN)通过将卷积神经网络后的全连接层全部替换为卷积层进行像素到像素的预测分类[33]。传统的分割方法在执行过程中需要复杂的细节处理才能达到不错的效果,而 FCN 可以进行端到端的监督训练,除去多余的操作,在效率上提升明显。该网络的主要模块如下:
1. 一些经典的分类网络的输出都是固定维度的特征向量,在这种限定条件下就需要固定图片的输入尺寸比如经常使用的 224×224。语义分割区别于分类识别的问题,固定维度的输出特征会造成图片内容的空间信息丢失,因此 FCN 在分类网络的基础上丢弃全连接层并使用卷积层替代,在不同感受野下输出相应的分割图,而且网络的输入可以是任意尺寸的图片。
......................

2.2 基于深度学习的目标检测方法
目标检测的研究在于从给定的场景中定位到感兴趣的目标。目标的类别不固定、大小差异不确定和复杂的背景等等因素都会影响检测质量,目标检测所面临的这些挑战同样是促进研究不断进步的动力。与目标检测相似,场景文本检测问题可以把文本视为一类特殊的物体,因此许多的场景文本检测算法根据文本的特性在目标检测框架上进行改进。下面简要介绍各个系列的目标检测框架。
2.2.1 目标检测算法-Faster R-CNN
早期的基于深度学习的目标检测算法需要提取候选区域,在候选区域的基础上做精分类,因此区域建议算法一定程度的影响着物体检测的效果。R-CNN[9]和 Fast R-CNN[11]在检测速度上与传统算法相比有一定的提高,然而并没有做到端到端的训练,使用selective search[10]方法产生建议区域较多,为后续分类和回归网络增加了负担。Faster R-CNN 算法中引入了 RPN 网络[12],实现了网络参数的共享,显著的提升了检测速度。其网络结构如图 2-4 所示,图片首先经过卷积神经网络得到多个通道的特征图,紧接着RPN 网络通过在特征图上滑动产生矩形建议框,RoI pooling 层根据 RPN 产生的建议框坐标将其映射回卷积得到的特征图上,两者的特征图是共享的,最后再次对产生的建议框分类和回归。
图 2-4 Faster R-CNN 网络结构
...........................

第 3 章 基于多尺度特征与多目标函数的场景文本检测算法........................25
3.1 DenseASPP 结构 ................................ 25
3.2 场景文本检测框架.................... 26
第 4 章 基于深度度量学习的场景汉字字符识别算法...........................45
4.1 孪生网络................... 45
4.2 场景汉字字符识别框架....................... 46
第 5 章 字符级文字检测与识别算法级联...............................59
5.1 场景汉字文本行识别框架............................. 59
5.2 数据集及评价指标........................... 60

第 5 章 字符级文字检测与识别算法级联


5.1 场景汉字文本行识别框架
目前主流文本识别研究大都是英文文本的识别,ASTER[31]文本识别网络是目前较为优秀的基于序列到序列的文本识别算法,该算法在识别网络之前加入了一层矫正网络,在进入识别网络前对图片中的文本进行水平方向上的矫正,能够处理不规则的文本场景,在英文数据集上拥有优秀的识别准确率。然而基于序列的识别网络较为复杂,优化困难。中文场景下的汉字类别在数量上要远远超过英文的字母类别,而且中文场景下的文本形式较为丰富,如果简单的将英文文本识别算法应用在中文文本识别上,并不能取得很好的识别效果。与英文相比,中文文本实例可以更好的通过字符去定义与分割。
传统的基于字符的文本识别步骤首先对图片进行预处理,去除背景等因素带来的影响;接着对场景图片进行二值化,对字符区域与背景区域进行区分;再使用投影法等切分方法对场景图片进行字符切分;最后将切割好的字符集合送入字符分类器进行识别。该过程较为繁琐,中文场景文本的背景较为复杂且存在粘连问题,传统的切分方法难以取得很好的切割效果。本章将使用深度学习的方法,将中文文本识别问题划分为字符检测与字符识别,不需要额外的处理程序,与 ASTER 相比本章算法能够避免矫正处理带来的文本分辨率拉伸问题并且模型简单,具体操作流程如图 5-1 所示。具体识别步骤如下:
(1) 首先将待测试文本行图像送入字符检测网络,经字符检测网络得到每个字符的坐标定位。
(2) 计算待测试图片的宽高比值,确定该图像中文本属于横向顺序或竖向顺序。如果文本属于横向顺序,根据检测结果的水平坐标对各个字符进行排序;如果文本属于竖向顺序,则根据检测结果的垂直坐标对各个字符进行排序。得到待测试图像文本中的字符顺序。
(3) 使用字符识别网络对待测试图片按字符顺序进行逐个识别,最后组合成文本识别结果。
图 5-1 字符检测与识别算法级联流程图
..........................

第 6 章 总结与展望

6.1 总结
目前基于深度学习的自然场景文本研究比较丰富,但主要的研究方向为英文文本的研究,本文通过分析中文文本与英文之间存在的差异及目前存在的研究难题,主要开展对场景文本检测与场景中文文本识别的研究,并且将语义分割的思想运用在场景文本检测,将度量学习的思想应用于场景汉字字符识别。本课题完成研究内容和结论如下:
(1) 本文提出基于多尺度特征和多目标函数的自然场景文本检测算法。通过运用语义分割的思想对传统的特征提取网络进行重新设计,增加网络的感受野,使其更加自由的应付自然场景下中文文本存在的形式,同时新颖的提出了使用多分割损失函数分别作用于检测网络,提高模型检测的召回率和准确率。该模型解决了场景文本检测中多尺度问题,提升了检测网络区分文本与非文本的能力。
(2) 本文提出基于深度度量学习的场景汉字字符识别算法。分析了卷积神经网络模型在字符识别上的不足,将字符模板作为参照物进行字符识别,将双通道应用于孪生网络,并融合多级的特征提高网络的处理精度,基于度量学习的方法使得该网络在中文数据匮乏的情况下,也拥有精确的匹配识别能力,并且在面对新的数据字符类别时,表现出了优秀的泛化识别性能。在处理模板匹配带来的时间消耗问题上,先进行粗分类再精确识别,两级识别的流程有效的减少了识别的时间。
(3) 本文使用基于多尺度特征和多目标函数的场景文本检测算法和基于度量学习的场景汉字字符识别算法,提出了基于字符检测和识别级联的中文文本行识别算法。将字符检测网络与字符识别网络结合实现文本行的识别,不对数据有任何预处理操作。最终的实验结果在全对率和编辑距离相似度上都要高于 ASTER,充分说明了该算法拥有较好的中文文本识别能力。
参考文献(略)