自然场景图像中的文本检测现状研究和展望
2021-04-01刘洁芯陈虹光邓成梁
刘洁芯,陈虹光,邓成梁
(1.西南交通大学希望学院信息工程系,成都610000;2.成都信息工程大学软件工程学院,成都610000)
0 引言
(1)研究背景与意义
文本作为人类文明的基石,可以有效可靠地超越时空限制传递信息。因此,从自然场景中进行自动文本识别,逐渐成为计算机视觉中重要的研究领域。在自然场景中识别文本,称为场景文本识别(Scene Text Recognition,STR),已成为广泛工业应用中的重要任务。随着科技日新月异的发展,每天都有大批纸质表格、票据、档案等文档图片不断产生。为了使纸质文献资料能更好保存、传播与利用,我们需要将这些品类繁多而大量的纸质文档图片以电子文本文档的形式存储。OCR(Optical Character Recognition)利用光学技术和计算机技术将印刷文本转换为计算机可接受且易于理解的格式,相比人工录入模式,其速度较快,而且对质量较好的文档图像识别率达到了98%以上[1]。但由于实际场景出现的多样文本外观和外界环境的干扰,大多数传统的OCR方法在STR任务上都无法达到良好的效果。
从二十世纪60年代初期起,国内外研究者对基于自然场景图像中的文本检测做了广泛的研究,取得了大量研究成果。传统OCR文本检测识别方法包含图像输入、预处理、字符切割、字符识别、版面恢复、后期处理等步骤,见图1。
图1传统OCR工作流程图
而除了文本检测,其他步骤较为固定[1]。因此,传统OCR方法的研究重点在于如何提升文本检测准确度。
(2)自然场景文本检测的难点
文本的自然场景图像由多样的文本区的和复杂的非文本区组成,如图2所示。
文本检测的困难主要存在以下三个方面[2-3]:①背景的复杂性和干扰:自然场景的背景几乎是不可预测的。可能存在与文本极为相似的图案(例如,树叶、交通标志、砖块、窗户和栅栏),或由异物引起的遮挡,这可能会导致混乱和错误。②自然场景中文本的多样性和可变性:自然场景下的文本往往包含不同语种、字体结构、大小、颜色、方向、形状,等等。③不完美的成像条件:在较差的成像条件下,文本可能由于不适当的拍摄距离或角度而具有较低的分辨率和严重的失真,或者由于无法聚焦或晃动而变得模糊,或者由于光线不足而产生噪点,或者由于高光或阴影产生遮挡,等等。
图2复杂的图片
1 自然场景图像中文本检测方法综述
由于文本检测是OCR技术中重要的环节,国内外的研究者做了大量的研究工作,并提出了许多文本检测方法[2]。文本检测方法大体上可以归纳为:基于模式识别的文本检测方法、基于特征提取的自然场景文本检测方法、基于深度学习的自然场景文本检测方法。
1.1 基于模式识别的文本识别方法
由于文字数量大、结构复杂,从而特征也多种多样。文字特征分为结构特征和统计特征,前者描述汉字的轮廓结构信息,而后者描述用统计方法从文字抽象出来的矢量特征。因此,基于模式识别的文本检测法也分为基于结构模式和基于统计模式。
(1)基于结构模式的识别方法
汉字是一种特殊的模式,其结构比较复杂,但具有相当严格的规律性,含有丰富的结构信息。结构模式识别是指提取含这种信息的结构特征及其组合规律,作为识别汉字的依据。
1999年,王秋让等人[4]提出对图像进行二值化,再用数学形态学中的闭合和开启算子从所得的二值图像中提取模式的封闭边缘,如图3所示。
随后通过对此边缘进行直线逼近得一多边形,最后将此多边形与各模板进行匹配而完成对模式的正确识别。
用这种方法来描述汉字字形结构在理论上是比较恰当,其主要优点在于对字体变化的适应性强,区分相似字能力强;但在实际应用中,面临的主要问题是抗干扰能力差,如实际得到的文本图像中存在倾斜、扭曲、断裂、粘连、对比度差等干扰。这些因素直接影响到结构基元的提取。此外结构模式识别的描述比较复杂,匹配过程的复杂度因而也较高。所以在印刷体汉字识别领域中,纯结构模式识别方法已经逐渐衰落,句法识别的方法正日益受到挑战[5]。
图3提取的封闭边缘
(2)基于统计模式的识别方法
统计模式识别方法是用概率统计模型提取待识别汉字的特征向量,然后按照一定准则所确定的决策函数进行分类判决。常用的方法有模板匹配、特征变换、外围特征、特征点特征。表1对几种经典统计模式的方法进行了分析。
表1 经典统计模式识别优缺点分析
模板匹配是统计模式识别方法中最基本和应用最广泛的识别方法。其要点是将汉字的图像直接作为特征,与特征库中的模板相比,相似度最高的模板类即为识别结果。在开源计算机视觉库OpenCV里,平方差模板匹配的定义为:
为最小值处即为匹配目标。
2015年,Ryan[6]采用了两种模板匹配算法,分别是3×3算法和逐像素算法。3×3算法将图像划分为9个正方形,然后根据笔划类型对每个正方形进行编码。每种笔画类型提供一个标识,并创建识别字符的模式,如图4所示。
图4模板匹配算法
2016年,Mayan[7]利用该模板匹配块将原始图像的每个像素值与相应存储的模板的像素值进行比较,并返回模板度量值作为输出。该模型中存储的模板包括英语的各种字体。2002年,Huo等人[8]提出通过在一个空间分辨率均匀采样的位置使用一个波长提取Gabor特征,为每个字符图像形成一个特征向量。利用Gabor特征作为原始特征,构造了几种中文OCR引擎。
2000年,任金昌等人[9]提出了一种基于多级分类的印刷体文字快速识别算法,该算法首先采用36×36,点阵进行归一化,从而有效地减少了计算量和字典容量;其次是采用改进的粗外围特征,并进行二重分割,以提高特征的稳定性;最后在各级分类中采用了不同的判别准则,包括绝对值距离、欧氏距离及相似度准则,以适应于时间、准确性的不同要求,其结果证明实际的正确率达95%。
统计模式识别具有良好的鲁棒性(Robustness),适合有噪声的文字,它一般采用多维特征值累加的方法,抗干扰性强,匹配与分类的算法简单,易于实现,减少噪声的影响。但是,累加也会使相似汉字的结构的差异消失,细分能力较弱,区分相似字能力较差存在很大的困难。
1.2 自然场景图像文本区域检测方法
自然场景文本区域检测方法是根据图像自身的特征(如灰度、纹理、边缘等)进行特征提取,再送入分类器做分类以实现文本候选区域检测,如图5所示。
传统非深度学习候选区域的检测方法大致可以归为基于区域和基于连通区域两类。
(1)基于区域的文本候选区域提取方法
基于区域的方法是利用颜色同质性、强边缘性等局部特性来进行文本区域提取的方法。其中,基于边缘特征是该类方法的典型。
图5基本流程图
边缘特征的方法利用文字区域的边缘信息来区分文本区域与背景区域。由于图像中的文本和非文本区域通常具有高对比度,因此可以通过检测文本区域的边缘来实现文本区域分类。获得图像的边缘后,再根据图像边缘密度,利用文本区域的几何结构等特征来判断是否为文本区域。常见的边缘检测算子有梯度算子[13]、Sobel算子[14]、Canny算子[15]等。
2004年,Chen等人[16]首次提出了两步的文本区域定位思路。首先采用Canny滤波器获得输入图像的水平和垂直边缘图,通过不同的数学形态算子将水平边缘和垂直边缘分别连接成块,得到候选文字区域。其次,提取备选文本块的微分、距离映射、恒定梯度等特征,再使用多层感知器(Multi-Layer Perceptron,MLP)和SVM分类器对备选文本进行分类。2009年,Jung[17]采用Canny算子检测文本区域,先通过形态学处理后获得候选文本区域;在验证阶段,提取区域特征(灰度特征、N-Gray、CGV(Consistent Gradient Variance)),利用SVM分类器对候选文本区进行分类,并且根据SVM的输出结果进一步精确提取本区域。
(2)基于连通区域的文本候选区提取方法
自然场景的文本检测方法通常有像素灰度值近似相等、颜色近似相同以及笔画宽度相近等特点。对自然场景文本图像进行特定处理后,文本中的相邻像素在其空间结构上表现出连通性。基于连通区域的方法通过检测图像中的连通区域来获得文本候选区域。首先将图像分割成若干个连通区域,然后对每个连通区域的几何特征进行分析,利用文本候选区域的边缘密度、轮廓梯度等特征,通过设定判断规则,或提取文本区域的描述特征并结合已训练好的分类器对其进行判断,将之分类为文本区域与背景。常用方法有稳定极值区域(Maximally Stable Extremal Regions,MSER)、二值化、阈值分割等。
图6
2015年,Venkateswarlu[18]从输入图像中检测最大稳定极值区域(MSER)。然后将MSER区域的图像输入到Canny边缘检测器,会在文本区域上产生边缘,通过滤波技术来移除图像的剩余部分,最后将文本区域图像输入到后续OCR产生实际文本,如图6所示。
2016年Islam[19]提出了一种准确有效的检测增强极大稳定极值区域(MSER)作为主要候选文本区域的算法,并且这些候选区域按行程宽度变化进行过滤,以去除笔划宽度表现出过多变化的区域。其流程为:首先对自然图像进行预处理,然后检测MSER之后,产生Canny边缘和MSER区域的交叉点以定位甚至更可能属于文本的区域。最后,将所选文本区域作为OCR技术的输入,以使文本可编辑。综上,表2为基于边缘特征的识别方法所述。
表2
基于极值区域的方法作为一种快速有效的候选连通区域提取技术,具有尺度不变性、对文字大小不敏感等优势,成为近年主流的算法之一;但是该方法存在极值区域的提取和极值区域数量的控制方面的问题。
1.3 基于深度学习的自然场景文本检测方法
深度学习是机器学习算法的一个近年发展迅猛的领域,其核心在于模拟大脑中神经网络的学习过程进行训练学习的过程[26]。深度学习中每层卷积神经网络的特征由上一层的局部区域通过共享权值和卷积核获得。这使得卷积神经网络(Convolutional Neural Network,CNN)更适合于学习和表示图像特征。与传统的“手动特征提取+分类器”目标识别框架不同,深度学习[27-30]网络通过组合底层特征来形成更抽象的高级别来表示属性类别。传统目标检测方法对于文本检测任务来说并不理想,主要原因有:①文本行是有方向性的;②一些艺术字体使用曲线文本;③背景图像干扰丰富。而基于深度学习的方法最大的优势是可以避免繁琐且低效的人工特征工程。
基于分类的卷积神经网络目标检测有:窗口滑动产生候选区域或者整个检测区域直接输入到卷积神经网络作为候选区域图像分类后进行处理。该类方法的研究重点在于如何提升卷积神经网络的特征提取能力、特征选择能力以及特征分类能力,以提高图像识别的准确度。
2016年,Zhi Tian[31]提出一种垂直定位机制的文本检测框架CTPN(Connectionist Text Proposal Network),如图7所示。
图7 CTPN工作流程
CTPN结合CNN与LSTM深度网络,能有效地检测出复杂场景的横向分布的文字,是目前比较好的文字检测算法。该算法改进了Faster R-CNN,提出检测小框代替直接检测大文本框;CTPN还提出了在文本检测中加入RNN来进一步提升效果,以及加入边界优化提升文本框边界预测精准度。但其对非水平的文本的检测效果并不好。
CTPN并没有针对多方向的文本检测有深入探讨,对于任意角度的文本检测,2017年Shi[32]提出的Seg-Link给出了一个新的算法思路。该算法既融入CTPN小尺度候选框的思路,又加入了SSD算法[33]的思路,达到了当时自然场景下文本检测最好的效果。算法要点如下:先检测文本或者文本行的局部区域,再将这些局部区域连接起来形成一个完整的单词或者文本行。它将文字检测任务分解成两个子任务:检测文字片段和预测片段之间的连接关系。其中,片段是具有方向的矩形包围盒,它们覆盖着单词或者文本行的一部分;片段之间的连接关系是指两个片段是否属于同一个单词或者文本行。2017年,Liao[34]提出采用基于SSD的TextBoxes,通过预测文字包围盒的置信度和该包围盒与默认包围盒的坐标偏置,直接在多个特征层输出单词包围盒的坐标信息。以上框架的思路都是把完整文本行先分割检测再合并的。2017年,Zhou等人[35]提出省略模型中常见的区域建议、单词分割和子块等步骤的EAST(Efficient and Accurate Scene Text Detector)模型,只分为FCN生成文本行参数阶段和局部感知NMS阶段,网络的简洁使得检测的准确性和速度都有了进一步的提高。表3-表4对这几种经典的方法优缺点进行比较。
表3
表4
2 结语
由于文字具有高层次语义信息,文字检测识别的发展具有重要的价值。为了分析文本检测中的问题,本文综合近几年复杂场景下的几种典型和常见的图像文字检测算法和框架,并介绍了其发展过程、原理、检测效果及优缺点。通过对以上各类算法的总结发现,文字检测识别技术的正确率越来越高,但依然有召回率低的问题。
在未来的研究中,传统的自然场景文本检测方法仍可能通过创新的模式识别方法实现识别精度的突破;近几年效果最好的主流算法都采用了基于深度学习的方法。自然场景文字检测算法的发展趋势可能有以下几个方面:
(1)深度学习得到的特征可以很好地表征目标的各类信息,因此基于深度学习提取文字候选是未来发展的一个趋势,如何有效地使用这些特征是未来重点研究的方向。
(2)深度学习需要大量的训练数据,因此未来必然会出现大量标定好的文本数据集用于训练深度网络。
(3)现有的目标检测方法中的检测框架是将候选区域生成、候选区域图像分类和后处理集成于统一的框架,该类方法实现了端到端的统一。文字检测也是候选区域图像分类和后处理的合成,因此未来必然会出现多种基于深度学习的统一候选区域图像分类和后期处理的文字检测网络模型。
(4)随着智能设备和移动互联网得发展,未来人们生活得方方面面都将依赖于智能终端设备。考虑到智能终端设备的功耗和处理能力,提供实时的文字检测算法也将成为未来的一大需求,因此如何平衡速度和检测精度也是未来发展的一个方向。