基于特征融合的电商图片文本检测∗
2020-11-02王麟琦何成威
王麟琦 何成威
(1.南京烽火天地通信科技有限公司 南京 210019)(2.武汉邮电科学研究院 武汉 430074)(3.国网电力科学研究院武汉南瑞有限责任公司 武汉 430074)
1 引言
电子商务自从1999 年在中国出现以来,发展迅速。到2017 年年底,中国电子商务市场交易额高达29.16 万亿元,其中网络零售市场交易规模达到了7 万亿,占据全球网售份额的50%。中国已经成为电子商务规模最大、发展最快的国家之一。如今电商平台越来越多地采用图片的方式展示信息,而电商图片存在背景复杂、水印重叠等问题,这为电子商务的管理带来了技术上的挑战。因此,自动读取商品信息图片中的文本信息成了热点问题。
根据不同的实现框架,文本检测的方法大致可以分为三类:自底向上的生成式方法[1~3];基于滑动窗口的方法[4~5];基于深度学习的检测方法[6]。随着深度学习算法的不断优化和硬件水平的提高,基于深度学习的文本检测算法已经成为图像文本检测领域的主流方法。其中以Faster R-CNN[7~9]系列、MR-CNN[10]以及SPP-NET[11]为主流的基于RP(Re⁃gion Proposal)的目标检测算法,由于区域推荐网络(RPN)结构的存在,虽然检测结果精度越来越高,但是检测的速度却遇到瓶颈,难以满足有实时性需求的场景。
针对以上问题,为了能检测电商图片中的文本,本文实现了一种基于特征融合的文本检测模型。通过50 层的残差网络提取输入图像的特征,然后将残差网络得到的每一层不同尺寸的特征图进行特征融合,对特征融合后的特征图进行回归和分类,去除候选区域的提取、过滤和融合等步骤,提高模型的效率。通过利用改进后的NMS 将预测的文本框合并,得到最终的检测结果。为解决非平衡数据的问题以及加快模型的收敛,模型引入了DiceLoss 和实例间平衡的交叉熵损失相结合的损失函数
2 网络结构
图1 特征提取层结构图
本文通过残差网络构建的全卷积网络文本检测模型,网络结构分为以下三个部分:特征提取层、特征融合层、结果输出层。特征提取层采取残差网络来做特征提取。图1 为特征提取层结构图,如图所示,在特征提取步骤中,原图先经过一层卷积核为7×7,步长为2 的卷积层,输出的通道数为64。图中一共有4 个Block 模块,模块的中括号里的三位数字分别代表:残差单元第三层输出通道数、前两层输出通道数、中间层的步长。在本网络中,每个残差学习单元里面有三个卷积层,例如[256,64,2]代表构建的残差学习单元中,第三层输出通道数为256,前两层输出通道数为64,且中间层的步长为2,在Block1 中有3 个残差学习单元。特征图每经过一次Block 区域的操作后,得到新的特征图尺寸变为上一层特征图的一半,而通道数则增加一倍,达到抽取不同层次的特征图的目的。因此可以得到不同尺度的特征图,解决文本行尺度变换剧烈的问题。低层的特征图尺寸较大,对局部信息较为敏感,可用于预测较小的文本行,高层特征图尺寸较小,提取的特征更为抽象,可用于检测较大的文本行。特征提取层得到的特征图依次为f4、f3、f2、f1。
特征融合层将特征提取层中抽取的特征进行合并,合并的规则采用了U-net[12]的方法。图2 为特征融合层的结构图。从图中可以看出,特征融合层首先从特征提取网络的顶部特征逐步向下进行合并,在每一个合并阶段,从上一个阶段来的特征图先进行反卷积,使得特征图尺寸增大一倍,然后和当前特征图级联。然后,利用一个1×1 的卷积层减少特征图的通道数,也达到了降低计算量的目的,接着经过一个3×3 的卷积核对特征图进行卷积,将信息融合,最终产生合并阶段的结果。在最后一个合并阶段之后,利用一个3×3 卷积层产生最终的归并部分的特征图,并输入到输出层。
图2 特征融合层结构图
第三部分为结果输出层,将特征融合层产生的特征图进行1×1 的卷积,激活层采用Sigmoid 作为激活函数。输出的结果分为两个部分。一个是完成分类任务的输出,另外一个表示检测框的输出,检测框的输出有5 个通道,前四个通道分别对应点到边框的四条边的距离。最后一个通道表示文本框的旋转角度。
2.1 非极大值抑制算法的优化
非极大值抑制算法(Non-maximum suppres⁃sion,NMS)的本质是通过选择最具代表性的候选框删除同一对象的重叠候选框。
物体检测中应用NMS 算法的主要目的是消除交叉重复的窗口,找到最佳物体检测位置。通常的流程为以下三步:
1)通过滑动窗口或者其他的目标推荐的方法产生大量的候选窗口;
2)用训练好的分类器对候选窗口进行分类,类似于打分的过程;
3)使用NMS对检测结果进行融合。
非极大值抑制算法常用于物体检测领域,并能取得较好的检测的结果。物体检测和文本检测有很多相同之处,文献[13]采用NMS 算法作为去掉重复率较大的文本框。NMS算法公式如式(1)所示。
其中M 为当前得分最大的文本框,Nt 为抑制阈值,si为分数。
NMS 这种简单直接的方法也存在一些不利。假设有两个物体之间存在遮挡,则后面的物体预测框有可能被NMS 算法误删掉,从而导致检测网络无法起到作用。为了解决这种hard threshold(硬阈值)问题,遵循IoU 越大,得分越低的原则,对该函数进行平滑处理。平滑函数的选取一般有两种,一种是线性加权函数,一种是高斯加权函数。两者的目的都是为了将NMS的函数进行平滑化。
该式满足了连续的惩罚函数在没有重叠时没有惩罚项,而在高度重叠时有非常高的惩罚项。
2.2 训练损失函数
网络损失函数由两个部分构成:分类误差函数和几何误差函数,具体损失函数如式(4)所示。其中,Ls为分类误差,λg为权重,Lg为几何误差。
1)分类误差函数
文本检测在文本检测问题中,文字和背景的比例通常较小,存在数据的不平衡问题。本文采用Dice loss 缓解数据的非平衡问题。Dice loss 是Fausto Milletar[14]等 在V-net 中 提 出 的 损 失 函 数,Dice Loss的本质就是不断学习,使得交集和并集的比值越来越大。如式(5)所示,DSC 表示两个轮廓区域的相似的程度,A 和B 分别表示两个轮廓区域所包含的点集。
当DSC越高,代表分割结果和标准答案相似度越高,但模型是用求最小值的思想进行训练,因此分类误差函数如下式所示。
在计算损失函数时,为了避免不同大小的文本框对损失造成的影响不同,较大的文本框造成的影响大,为缓解这个问题,本模型采用了实例间平衡的交叉熵损失[15]。假设图像中有M 个文本框。Sj代表第j 个文本框的面积,S 表示所有文本框的总面积,则文本框i的损失权重应为
2)几何误差函数
文本检测中的一大挑战是文本在图像中的尺寸变化范围较大。直接用L1 或者L2 损失,会导致文本区域的损失偏差更大。文本检测需要的是一个不会影响尺寸的回归损失函数,因此回归损失采用IoU(Intersection over Union)Loss。IoU Loss 的公式和Dice Loss较为相似,如式(9)所示。
其中,R 代表预测的文本框的几何位置,R*代表的真实值。
几何误差函数除了边框的回归损失函数外,还包含角度的误差损失函数,角度误差函数如式(10)所示。
其中θ*代表的角度的真实值,θ代表的预测的角度值。完整的几何误差函数如式(11)所示。
2.3 数据预处理
本文数据集来自天池大赛的ICPR MTWI 挑战赛。为了丰富图像数据集,提高模型的泛化能力,本文采用了以下步骤对训练图像进行数据增强。设立四种缩放倍数0.5、1、2、3,随机从中选取一个参数对图片进行缩放操作,对缩放的图片进行随机剪切(不小于原图的十分之一)并随机选取一些图像数据进行旋转角度处理。处理后的图片如图3所示。
图3 预处理后的图片数据示例
检测的任务中,一般会存在正负样本严重失衡的情况,为缓解数据集文字和背景样本不平衡的问题和增强模型的鲁棒性,本文采用均衡采样的方法,将数据增强后的纯背景图片和包含文字的图片比例控制在3:5,最后利用双线性插值法将图像尺寸改变为模型所需的输入尺寸。数据集中的四个坐标围成的文本框并不一定为矩形,因此,需要对文本框坐标进行数据预处理。首先将坐标的方向都改为顺时针,以便于模型后续的计算,然后按照增加最小面积的原则,将文本框填补为矩形。在后续的学习过程中,标准的文本框中会存在一些非文本信息,进行适当地缩进可以减少这些信息对最终目标的影响,从而提高网络的性能。
2.4 评估标准以及训练参数配置
文本检测的效果评价共有三个评价指标,分别为精度、召回率以及二者之间的综合评价因素F-Score(f)。召回率表示图片中真实存在的文本框被检测到的比例,代表真实标签有多大比例被检测出来,精度表示正确检测文本定位框与检测文本框总数的比例,代表检测出来的结果正确率。实际情况下,算法得到的检测结果与人工标记的边界框不可能完全重合,当检测框与真实框之间的匹配度满足一定阈值则认为是正确匹配。这三个参数的定义如下所示:
本模型的训练过程中,基础模型选用的残差网络以及全卷积网络,采用Adam 算法替代传统随机梯度下降算法(Stochastic Gradient Descent,SGD)对训练参数不断更新,该算法计算高效,所需的内存少,梯度对角度缩放的不变形,适合解决大规模数据和参数的优化问题。训练过程中一共迭代了3万次,初始的学习率为10-4,采用指数衰减法,通过迭代逐步减小学习率,每1 万次迭代后,缩小0.96。为了使得模型在测试数据上更加健壮,本模型采用滑动平均模型控制参数更新前后的差距,达到减缓参数变化的目的。
3 实验结果分析
算法检测为正样本的条件是:
1)预测框和真实1之间的IoU值大于0.5;
2)在条件1)满足的同时,预测框和真实框之间角度差应小于10°。
图4 展示了ICPR MTWI 挑战赛上的正确检测样本。图5 为模型训练过程中,模型总损失函数的训练过程。在训练最开始的5000 次训练中,模型总损失的下降速度较快,5000 次以后,分类损失逐步下降速度变缓,到30k次后,趋于稳定。
图4 ICPR MTWI挑战赛的部分正确检测结果
图5 模型总损失的训练过程
表1 为对本实现模型做的切除实验的实验结果,用于分析关键步骤对模型表现的影响。
表1 本实验模型切除实验结果
实例间平衡的交叉熵损失用于缓解文本实例大小差异过大对模型的影响。实验3 没有使用实例间平衡的损失函数,在计算损失函数时,所有像素使用一样的权重。改进后的NMS 能取得比传统NMS 更好的性能。对比实验1 和实验2,加入改进的NMS 后,可以发现召回率和精准率都提高了三个百分点。同时,可以在高度重叠的环境下取得更大的性能提升,在电商图片中,存在大量的水印文字和图片的文字重叠的情况。因此,相比于传统NMS,改进后的NMS 在文本检测中具有更好的定位效果。改进后的NMS 对相邻区域内的检测框的分数进行调整而不是NMS 方法中的彻底抑制,达到了提高检测率时准确率的目的。NMS 对相邻区域的彻底抑制使其在较高重叠环境下更容易发生漏检文本框的情况,而改进后的NMS 在低检索率时,仍能提高模型的检测性能。由实验4 可以看出,在本模型中使用ResNet 作为基础网络,比使用VGG16 作为基础网络,性能更好,实验结果在召回率和精准率都有一定提升。
表2 为本文的检测方法和其他一些主流的文本检测算法进行比较的结果。表中其他深度学习的文本检测算法,都将ICPR MTWI 挑战赛的数据集作为训练集。
表2 不同方法文本检测指标对比
从表中可以看出,在多方向ICPR MTWI 挑战赛的数据集上,本模型的召回率、精度、F-measuren都达到了较好的评估结果。CTPN在水平方向的文本上的检测效果较好,而在多方向的文本检测时,检测效果差强人意。PixelLink 也是基于全卷积神经网络的,但它在处理重叠问题时,可能会将两个有重叠部分的文本框划分成四个文本框,而ICPR MTWI 挑战赛的数据集主要为电商图片,有着大量的水印,因此文本框重叠是很常见的。这个问题使得PixelLink模型对该数据集有着较大的影响。
4 结语
本文主要完成电商图片的多方向文本检测的任务,提出了一种基于全卷积的文本检测网络模型,直接产生预测的文本框,免除了中间多个步骤,如候选区域的提取、过滤和融合,以及后处理等。首先通过一个50 层的残差网络进行特征抽取,抽取不同尺寸的特征图,以解决文本行尺度变换剧烈的问题。然后将特征抽取层的不同尺寸的特征进行上采样后,采用通道数串联的方式合并,将融合后的特征图传到输出层。最后用改进后的非极大值抑制的方法对上一层结果进行处理,得到最终的预测结果。本节算法在ICPR MTWI 挑战赛的数据集上进行测试,通过切除实验,分析了残差网络、改善后的NMS 以及实例平衡的交叉熵损失对本算法的影响。最后,将算法测试结果与其他文本检测的方法进行对比,取得了较好的检测效果。