李玥束 鑫常锋
(江苏科技大学计算机学院 镇江 212003)
自然场景图像中的文本包含着重要的信息,对图片中的文字进行检测可以帮助人们理解不同的场景环境。如交通标志上的文字信息能够为司机提供更加准确的路况信息;商品包装上的文字信息能够准确认识商品的种类和生产日期。但某些自然场景中的字符具有方向倾斜、字体模糊等问题,快速准确地在复杂背景中检测文字仍面临着巨大的挑战。因此,国内外学者通过大量的实验和研究,提出了许多自然场景文本检测方法。
传统的场景文字检测方法主要依靠手工设计特征。Epshtein等[1]利用笔画宽度变换(Stroke Width Transform,SWT)提取文本边缘像素,得到候选文本区域;Neumann等[2]通过最大稳定极值区域(Maximally Stable Extremal Region,MSER)算法搜索候选字符特征,然后根据自定义规则或分类器将提取的特征组合成单词或者文字区域。这两种方法效率相对较高,但在光照不均匀的情况下表现力较差。Louloudis等[3]利用文本行之间上下边缘平行或对称的性质,实现了对文本候选框的有效检测。Meng等[4]提出了一种通过边缘融合和边缘分类两个步骤提取自然场景文本的方法,通过边缘检测算法分割图像,然后合并有相似笔划宽度和颜色的边缘,准确率较高。但这些方法在精度和适应性方面都落后于近年来出现的深度神经网络方法[5~7],特别是在处理低分辨率、几何失真等具有挑战性的场景时,图片中的文本被复杂背景干扰,加大了文字检测的难度。
基于深度学习框架的自然场景文本检测方法大致分为三类[8~10]:第一类是基于局部文字的方法,第二类是基于单词的方法,第三类是基于文本行的方法。Huang等[11]首先通过MSER算法找出候选字符,然后利用深度神经网络算法作为分类器筛选出最终文本行。Jaderberg等[12]借助滑动窗口扫描图像,并使用卷积神经网络模型生成多尺度特征图。Tian等[13]提出了一个创新性的模型——CTPN,通过结合CNN和RNN深度网络提取特征,增强了文本行之间的联系,提高了检测精度,但是只能检测水平方向的文本。由于普通卷积神经网络的感受野范围是有限的,直接检测较长的文本行具有较大的挑战性,所以Shi和Bai等提出了SegLink[14]文字检测算法。该方法首先检测单词或者文本行的局部区域,然后将这些局部区域连接起来形成完整的单词或文本行。虽然大多数方法都能够准确地检测到文本,但后续的处理方法复杂而缓慢,并且对感受野较长的文本效果不是很好。
本文针对以上问题,以现有的文字检测算法EAST[15]为基础,对其存在的不足进行分析与改进,设计了一种端到端的网络模型,采用Resnet50[16]作为提取图像特征的基础网络,改进了网络结构,加入LSTM方法,增强了文本特征之间的联系,优化了原始EAST的训练方式,改进了文本检测算法的性能。
本节详细介绍了本文算法的执行流程。1)标记出输入图像的文本位置坐标和文本内容并存储在文件中,接着对图像的大小进行随机剪裁,去除部分与文本区域无关的位置;2)将图像输入以Resnet50为基础网络的EAST模型中,通过卷积提取出图像文本特征,并使用特征金字塔结构(Feature Pyramid Network,FPN)融合多尺度的特征图;3)输出图像中文本区域可能出现的位置和分数,用四边形标注出候选框,并采用非极大值抑制(Non-Maximum Suppression,NMS)算法对候选文本框分数进行排序筛选,从而得到最终的文本候选框。文本检测的总体框架如图1所示。
图1 文字检测框架图
传统的文本检测方法大多步骤较多,训练时间较长,并且需要对多个参数调优,这势必会影响最终的文字检测效果,而且非常耗时。EAST网络结构是一种高效准确的场景文字检测模型,该模型可以直接预测图像中任意方向的文本,省去了不必要的中间步骤,能实时处理自然场景中的图片,达到较好的检测效果。但同时它也存在着一些缺点,对于较长的文本,文字候选框定位会不完整。尤其是在中文场景中,EAST算法对连续出现的长文本进行检测时就会丢失文本行的两端,而不能完整地检测出文本行,如图2所示。
图2 EAST算法对长文检测效果图
为提高EAST算法对长文本的检测精度,本文对其网络结构进行了改进,使感受野增大,能够准确检测出长文本。整个过程包括特征提取、特征融合以及生成分数特征图score map和几何特征图RBOX。网络结构图如图3所示。
图3 改进的EAST网络结构
1)特征提取层
在特征提取层,首先对输入的图片进行文本信息标注和随机裁剪大小。当文本区域较稀疏时,EAST模型可以很好地裁剪,并且保证文本行不会被切断。但是当文本行较长且密集时,EAST模型的裁剪区域只能保留部分文本,为了确保不切断文本区域,将忽略部分长文本。本文改进的EAST模型放宽了筛选条件,即可以切断文本区域。首先确定要裁剪的区域,然后对落在该范围内的文本区域进行采样筛选,保留有两个采样点落在裁剪范围内的文本区域,这样就可以保留大部分长文本。使用Resnet50网络结构提取图像特征,提取的特征图的大小分别为输入图像的1/32,1/16,1/8,1/4。
2)特征融合层
在特征融合层,首先融合提取到的文字图像特征信息,融合公式如下:
其中gi表示待融合特征量,hi表示融合后的特征图,运算符[;]表示沿着通道轴线连接。
原始EAST网络模型最后一个特征映射通过上采样操作来增加感受野大小,虽然获得了更多的图像信息,但也增加了类之间的重叠,且易生成一些无效样本,并且卷积网络学习的只是感受野的空间信息。因为文字序列是连续的,而长短时记忆LSTM方法可以增强特征序列的关联性,利用上下文信息筛除重复或无效的样本信息,提高模型的学习能力。因此改进的EAST模型在融合阶段加入了双向长短时记忆(BLSTM)方法,即将两个方向相反的LSTM相连。首先对模型最后一阶段的特征图进行上采样操作,然后为了减小计算量,使用1×1和3×3的卷积核对特征图进行卷积,接着与当前特征图连接合并,最后将特征序列输入到一个双向的LSTM中,所以最终的特征层将输出更多更大尺寸的感受野,保留了更多的文本特征信息,使得检测结果更具鲁棒性。
3)输出层
输出层包含文本得分、文本框和旋转角度θ。
损失函数是用来对网络模型进行优化的代价函数。函数值越小,模型性能就越优越。所以本文算法的总损失函数公式如下所示:
其中Ls为文本框的得分损失,Lg为几何图的损失。λg表示损失权重。在实验中设置λg为1。
为了简化训练过程,本文使用类平衡交叉熵[17]来计算得分通道损失,公式如下:
自然场景图像中的文本大小差别很大,使用L1或L2损失函数会丢失一些长文本区域,从而影响最终结果。因此,本文的文本框回归采用IOU损失函数[18],公式如下:
本文使用Adam优化算法在Ubuntu系统上进行训练和测试。使用的显卡为NVIDIA GTX 1080 Ti,内存为8G,深度学习框架是Tensorflow。针对短文本检测效果较好,长文本部分检测不到的情况,改进的EAST算法对训练图像进行旋转操作,并调整图像尺寸大小为256*256、384*384和512*512,先在小图像训练,再将模型迁移到大图像;训练批尺寸为24;初始学习率为1e-3,到1e-5停止。
为了评估该算法的性能,将所提出的算法与当前先进的检测模型进行了比较,测试数据为ICDAR2013[19]和ICDAR2015[20]。ICDAR 2013数据集共包含462张水平方向的文本图像,其中训练图像229张,测试图像233张。而ICDAR2015数据集比ICDAR2013数据集更丰富多样,并且支持多方向文本检测,包括1000张训练图像和500张测试图像。本文分别从检测率、准确率和召回率三个指标来分析算法的性能。实验结果如表1、表2所示。
表1 ICDAR2013数据集检测结果对比
表2 ICDAR2015数据集检测结果对比
如表1所示,本文算法在ICDAR2013数据集上的召回率、检测率和准确率分别为83.2%、88.2%和93.3%,与SegLink[14]方法相比,本文算法的准确率提高了5.6%,检测率提高了2.9%。与Pixel-Anchor[21]方法相比,本文算法虽然召回率降低了4.3%,但是准确率却提高了4%以上,并且本文算法的检测速度高于Pixel-Anchor方法,因为Pixel-Anchor方法采用八连通域,执行搜索次数要八次,在一定程度上影响了网络的执行时间。与原始EAST算法相比,本文算法的召回率提升了0.5%,并且准确率和检测率也提高了0.7%左右。
如表2所示,SegLink方法和SSTD[22]方法在ICDAR2015数据集中的检测率分别达到75.6%和76.9%,而本文算法对于ICDAR2015数据集的准确率和检测率均达到80%以上,明显优于SegLink方法和SSTD方法。与原始EAST算法相比,本文算法的召回率增加了5.4%,准确率和检测率都提高了5%左右。因为本文算法加入了LSTM方法,减慢了文字序列的执行速度,所以在执行速度上不如原始EAST算法,但是从其他各项指标值来看,本文算法性能更佳。
图4是原始EAST模型和改进后EAST模型对长文本的检测效果图,其中,图4(a)为原始EAST模型对应的检测效果图,图4(b)为改进后的EAST模型对应的检测效果图。
图4 检测效果对比图
由图4(a)可以看到,对于图片中的英文网址,原始EAST模型虽然也能够完全检测出英文字符,但是却是用四个文本框标记出文本位置的,并且图片中的中文字符也只能检测出部分区域,如字迹较浅的“洪福电子”和字体较小且连续出现的“消费者保障”等区域。
由图4(b)可以看到,改进后的EAST模型只需一个文本框就可以完整标记出英文文本的位置并且对于连续出现的中文字符也能够标记出大部分区域,但是对于较小的、字迹模糊的中文区域表现力还有些不足。
本文提出了一种基于改进EAST的自然场景文本检测算法,采用Resnet50网络提取图像特征,并在EAST模型中加入了长短时记忆网络LSTM,调整了训练过程,改善了网络感受野的尺寸,均衡了特征样本,使算法能够快速准确地检测图片中的文本。和经典EAST算法以及目前流行的检测算法相比,精度和性能上都有了显著的提升,但是对于长文本的检测还有一些不足,有的区域并不能完整检测出来。后续工作中我们将进一步优化网络结构和参数,调整损失函数权重,并融合其他方法,使其能够应对日常更复杂的场景环境。