沈伟生
摘 要:在互联网世界中,图片是传递信息的重要媒介。特别是电子商务、社交、搜索等领域,每天都有数以亿兆级别的图像在传播。自然场景就是我们所处的生活环境,自然场景图像中存在着大量的文本信息,例如路标信息、商店门店信息、商品包装信息等。随着深度学习的发展,基于深度学习的文本检测技术也逐渐流行起来。文章主要提出的是基于R2CNN的文本检测算法。在R2CNN算法的基础上对算法的结构进行改进,最终算法在ICDAR2015数据集上的召回率为87.2%,精确率为81.43%。
關键词:自然场景图像;文本检测;R2CNN算法
随着互联网技术以及便捷式移动设备的高速发展,图像在许许多多场景中取得广泛的应用,如通过手机拍摄的照片在微信上发布来分享自己的生活和工作等,图像中的文本信息更能直观地呈现出图像所表达的内容[1]。自然场景就是我们所处的生活环境,自然场景图像中的文本多为路标信息、商店门店信息、商品包装信息等,如图1所示。这些文本信息也发挥着很重要的应用,目前主要应用于图像内容识别与检索、无人驾驶、视觉辅助系统等。因此,自然场景中的文本检测与识别扮演着越来越重要的角色。
随着深度学习的快速发展,自然场景下的文本检测逐渐得到了国际的重视。国际文档分析与识别会议(International Conference on Document Analysis and Recognition,ICDAR)每两年都会举行一次,会上科研人员分享最新的研究成果。虽然传统的文档文本检测与光学字符识别技术已经趋向于成熟,但是自然场景下的文本检测仍然是一项极具挑战性的任务,具有的挑战有:图像背景的复杂性、场景文本的多样性、图像分辨率的不确定性[2]。
1 研究现状
自然场景下的文本检测是文本识别的核心前端模块,检测结果的好坏直接影响后端的识别效果。目前主流的文本检测算法都是基于深度学习技术的,主要是对通用的目标检测框架的针对性改进,使得新改进算法满足新的需求。
深度学习强大的特征提取能力,使其在目标检测领域取得出色的检测效果。基于深度学习的文本检测算法主要可以分为两类,一类是基于候选区域的检测方法,一类是基于回归的检测方法[3]。
基于候选区域的检测方法主要代表有:(1)Faster RCNN[4]使用区域候选网络(Region Proposal Network,RPN)进行候选框的筛选,再使用了感兴趣区域池化(Region of Interest pooling,ROIpooling)将RPN筛选到的候选框进行一个统一尺度(7×7)的池化,控制输入全连接层的维度。(2)R2CNN[5]算法是对Faster RCNN算法的改进,RPN筛选得到的候选框进行ROIpooling的时候,不再是一种尺度(7×7),而是多增加了两种尺度(3×11,11×3),另外增加了一个倾斜框的回归。
基于回归的检测方法的主要代表有:(1)SSD[6]加入了特征金字塔(Pyramidal Feature Hierarchy),在不同感受野的Feature map上设置预置框然后进行分类和回归,这极大地提高检测的速度。(2)YOLO[7]首选将图像划成等分相同大小的格子,然后对每个格子进行分类和回归,检测速度很快,但是精度不高。
2 本文方法
本文是基于R2CNN算法进行改进的,R2CNN算法采用的是预训练网络模型的最后一层特征图输入RPN网络,如ResNet101网络中的C5层,如图2所示。虽然高层的特征语义比较丰富,但是往往文本目标的位置比较粗糙,常常会造成文本框的定位不准确以及小文本目标被忽略的问题。除此之外,ROIpooling的尺寸过多会造成计算内存的溢出,实际情况下实现起来有难度。本文针对R2CNN存在的问题,对R2CNN算法做了如下改进。
(1)算法的输入不再是特征网络ResNet101中的C5层,而是将C4层做下采样操作后和C5层相加得到P1层再输入RPN1中。除此之外,将C3层做上采样操作和C2层相加得到P2层再输入RPN2中。RPN1和RPN2中的scale和ratio的设置也不同。
(2)对ROIpooling的尺寸进行改进,保留原来的7×7尺寸。由于ICDAR2015数据集图像中绝大数文本是水平长文本,因此,去除原来的11×3竖直的尺寸,将原来水平的尺寸修改为4×12尺寸。
改进后的R2CNN算法步骤如下:
①将C4层做下采样操作后和C5层相加得到P1层再输入RPN1中,RPN1中的scale为[256],ratio为[1,1/2,2,3,1/3,4,1/4,5,1/5,6,1/6,7,1/7,8,1/8],得到文本候选框Proposals1。
②将C3层做上采样操作和C2层相加得到P2层再输入RPN2中,RPN2中的scale为[32],ratio为[1,1/2,2,3,1/3,4,1/4,5,1/5],得到Proposals2。
③将①和②中得到的候选框合并(concat)起来得到Proposals。
④此时的损失函数为:
(1)
(2)
其中:Ncls表示RPN中参与训练softmax的候选框个数,Nreg表示RPN中训练边界框回归的候选框个数,λ是一个平衡参数。loss_cls是交叉熵损失函数,loss_reg是平滑的L1损失函数。
⑤将③得到的Proposals进行ROIpooling操作,ROIpooling的尺寸为7×7和4×12。ROIpooling的操作得到特征图扁平化(flatten),再输入全连接操作。
⑥全连接操作后进行softmax分类和两次回归,一次是水平回归,一次是旋转回归,水平回归有助于旋转回归。
⑦此时的损失函数为:
(3)
Lcls(p,t)为交叉熵损失函数,Lreg(w,w*)为平滑的L1损失函数,λ1,λ2是平衡参数,x,y,w,h分别代表候选框的中心点、宽和高,x1,y1,x2,y2,h代表的是候选框顺时针方向的两点坐标和高。
⑧综上,算法训练过程的总的损失函数为:
⑨本文改进的算法结构如图3所示。
3 实验与分析
3.1 实验数据
本实验采用的是ICDAR2015自然场景文本数据集,原训练集图像为1 000张,通过旋转数据增强,将训练集扩充至20 000张。
3.2 环境配置
操作系统:Ubuntu16.04 LTS,CPU:intel7代8700k,内存:16G,GPU:GTX1080ti,深度学习框架:Tensorflow-gpu1.2版本。
3.3 参数设置
本实验采用的是在ImageNet数据集上预训练的ResNet101模型,訓练的学习率设置为0.000 3,采用固定步长更新学习率,训练的迭代次数为10万次。
3.4 结果分析
评价算法的性能与表现采用的是精确率P和召回率R,公式如下:
4 结语
通过利用多层特征图的信息,使得文本目标的定位更加精确,也使得小的文本目标能够被检测到,极大地提高了R值。多ROIpooling的操作也使得候选框的信息能够被更多的提取出送入后续全连接层等操作,这么做使得P值提高。综上以上的两个点改进,使得改进后的算法更加具有鲁棒性,可以应用于多种自然场景数据集(ICDAR2011、ICDAR2013、MSRA-TD500等),并且可以取得可观的效果。
[参考文献]
[1]王润民,桑农,丁丁,等.自然场景图像中的文本检测综述[J].自动化学报,2018(12):2113-2141.
[2]夏勇.基于深度学习的自然场景文本检测与识别算法研究[D].西安:西安电子科技大学,2017.
[3]方清.基于深度学习的自然场景文本检测与识别[D].成都:电子科技大学,2018.
[4]REN S,HE K,GIRSHICK R,et al.Faster R-CNN: towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015(6):1137-1149.
[5]JIANG Y,ZHU X,WANG X,et al.R2CNN: rotational region CNN for orientation robust scene text detection[J].IEEE Access,2017(7):126-129.
[6]LIU W,ANGUELOV D,ERHAN D,et al.SSD: single shot multibox detector[C].Crete:European Conference on Computer Vision,2016.
[7]REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once: unified,real-time object detection[J].Computer Vision & Pattern Recognition,2015(6):67-71.