蔡鑫鑫,王 敏
(河海大学 计算机与信息学院,南京 211100)
文本是传递语义信息的最基本媒介,它在日常生活中无处不在:路牌、商店招牌、产品包装、餐馆菜单等,这种自然环境中的文本被称为场景文本[1].自然场景中的文本检测及识别技术可以广泛地应用到场景分析与理解、视觉障碍导航、智能交通管理、无人驾驶等领域.由于场景文本具有不同的尺度和形状,包括水平文本、多方向文本和曲线文本,因此对每个文本实例的边界框或区域进行定位仍然是一项具有挑战性的任务.基于分割的场景文本检测方法能够预测像素级的结果来描述各种形状的文本,近年来受到了广泛的关注.然而,大多数基于分割的方法推理速度慢,模型和后处理步骤复杂,限制了它们在真实环境中的部署.同时已有高效的文本检测器多数是针对四边形文本实例设计的,在检测曲线文本时存在不足.
为了解决这些问题,本文提出了一种可以检测任意形状文本的方法,同时可以在速度和准确度之间达到很好的平衡.本文方法主要有3 个步骤:(1)使用轻量级的分割网络提取特征,预测文本的概率图和阈值图;(2)根据可微二值化模块将概率图和阈值图结合得到近似的二值图,自适应地预测图像中每个位置的阈值,从而很好的区分前景和背景中的像素;(3)对近似二值图进行简单后处理,得到文本区域.
目前基于深度学习的自然场景文本检测方法可以分为3 类:基于区域建议的方法、基于分割的方法和混合方法[2].
基于区域建议方法的主要思想是先对自然场景文本图像提取候选框,然后对每个区域进行分类和回归,最后得到文本检测结果.Textboxes[3]方法可以快速地计算文本在每个区域存在的可能性,将常用的卷积核修改成1 ×5,使其更适合自然场景文本检测.Textboxes++方法[4]将Textboxes 水平排列文本检测器扩展为任意方向排列文本检测器.基于区域建议的方法通常使用简单的后处理算法(如非极大值抑制算法NMS),但是大多数方法不能精确的表示不规则文本(如曲线文本)的边界框.
基于分割的方法主要借鉴了全卷积神经网络(FCN)的思想,针对图像中每一个像素点进行分类判断,以达到语义级别分割的目的.EAST 方法[5]首先通过FCN输出文本区域像素级检测结果,然后将上述结果通过NMS 算法获得文本区域.TextSnake 方法[6]将文本实例描述为一个以对称轴为中心的重叠圆盘序列,每个圆盘都与潜在的可变半径和方向相关,这种几何属性是通过FCN 模型来估计的.PSENet[7]为每个文本实例生成不同比例的内核,并逐渐将最小比例内核扩展为具有完整形状的文本实例.基于分割的方法通常需要复杂的后处理,会降低推理速度.
混合方法是将上述的两种方法相结合来进行场景文本检测.LOMO 方法[8]可以多次逐步定位文本,通过迭代细化逐步感知整个长文本,考虑文本实例的几何特性对不规则文本进行精确再现.FTSN 模型[9]从实例感知语义分割的角度,利用语义分割任务和基于区域建议的目标检测任务的优点,对文本实例进行联合检测和分割.
本文方法侧重于在不损失推理速度的情况下,将二值化过程包含到训练周期中来改进分割结果.
图1为本文提出方法的总体框架.首先,为了提高效率,本文采用一种计算效率高的分割头来细化特征.分割头包括两个关键模块:特征金字塔增强模块(FPEM)和特征融合模块(FFM)[10].如图1所示,FPEM 是可级联的,可以附加在主干之后,使不同尺度的特征更深入和更具表现力,然后利用特征融合模块(FFM)将不同深度的FPEM 产生的特征融合得到最终的分割特征F.其次,利用特征F对概率图(P)和阈值图(T)进行预测,根据可微二值化模块(DB)将概率图和阈值图结合得到近似的二值图(B'),自适应地预测图像中每个位置的阈值[11].最后,在推理阶段,通过边界框形成从近似二值图中获得文本区域的边界框.
FPEM 是一个U 型模块,如图2所示,它由两个阶段组成:Up-Scale 增强和Down-Scale 增强.Up-Scale增强作用于输入的特征,它以步长32,16,8,4 像素在特征图上迭代增强.在Down-Scale 阶段,输入的是由Up-Scale 增强生成的特征,增强的步长从4 到32,同时该阶段输出的特征就是最终FPEM 的输出.本文使用分离卷积代替常规卷积来构建FPEM 的连接部分(见图2虚线部分),因此FPEM 能够以较小的计算开销扩大感受野和加深网络.与FPN 类似,FPEM 能够通过融合低层和高层信息来增强不同尺度的特征,同时它还有两个优点:(1)FPEM 是一个级联模块,随着级联数目m的增加,不同尺度的特征图融合更充分,特征的感受野变得更大;(2)FPEM 的计算开销很小,它建立在分离卷积的基础上,计算量大约为FPN 的1/5.
图1 总体框架
图2 FPEM 模块
采用特征融合模块FFM 对不同深度的特征F1,F2,···,Fm进行融合,对于语义分割来说,低层和高层的语义信息都很重要,组合这些特征直接有效的方法是对它们进行上采样和级联.然而,此方法给出的融合特征图具有较大的通道数(4×128×m),这会降低最终的预测速度.因此,本文采用另一种融合方法,如图3所示,首先通过逐元素增加的方法组合相应的尺度特征图,然后对添加后的特征图进行上采样并连接成仅具有4×8 个通道的最终特征图.
图3 FFM 模块
根据分割网络生成的概率图P∈RH×W,其中H和W表示图的高度和宽度,需要将其转换为二值图P∈RH×W,其中值为1 的像素被认为是有效的文本区域.通常,这种二值化过程可以描述如下:
其中,t为预定义的阈值,(i,j)表示图中的坐标点.
式(1)中描述的标准二值化是不可微的,在训练过程中不能随着分割网络进行优化.为了解决这一问题,本文使用步长函数进行二值化:
其中,B'是近似二值图,T是从网络中学习的自适应阈值图,k是放大系数,本文设置为k=50.该近似二值化函数与标准二值化函数相似,但具有可微性,因此可以在训练期间随分割网络进行优化.自适应阈值的可微二值化方法不仅可以区分文本区域和背景,而且可以分离出连接紧密的文本实例.
DB 提高性能的原因可以用梯度的反向传播来解释,以二元交叉熵损失为例,定义f(x)=1/(1+e−kx)作为本文的DB 函数,其中x=Pi,j−Ti,j,那么正标签的损失l+和 负标签的损失l−为:
可以用链式法则很容易地计算出损失的微分:
由微分可知:(1)梯度被放大系数k增大;(2)梯度的放大对大多数错误预测区域都是显著的,从而有利于优化和帮助产生更显著的预测.此外,当x=Pi,j−Ti,j时,P的梯度受到T的影响,并在前景和背景之间重新缩放.
概率图的标签生成是受到PSENet[7]的启发,如图4所示,给定一个文本图像,其文本区域的每个多边形由一组线段来描述:
式中,n是顶点的数量,在不同的数据集中可能不同,如ICDAR2015 数据集的4 个顶点和Total-Text 数据集的16 个顶点.然后,使用Vatti 裁剪算法将多边形G缩小到Gs,收缩的偏移量D是由原多边形的周长L和面积A计算出来的:
其中,r是收缩比,设置为0.4.
通过类似的过程,可以为阈值图生成标签.首先将文本多边形G以相同的偏移量D展开至Gd,将Gs和Gd之间的间隙作为文本区域的边界,通过计算到G中最接近的线段的距离来生成阈值图的标签.
图4 标签生成
损失函数L可以表示为概率图Ls的损失、二值图
Lb的损失和阈值图Lt的损失的加权和:
根据损失的数值,α 和β 分别设置为1 和10.
本文对Ls和Lb都应用了二元交叉熵损失(BCE).为了克服正负数的不平衡,在BCE 损失中采用了hard negative mining 的方法.
Sl是 正负比为1 :3的采样集.
Lt为扩展多边形Gd内预测和标签之间的L1距离之和:
其中,Rd是 扩展多边形Gd内像素的一组索引,y∗是阈值图的标签.
在推理阶段,使用概率图来生成文本边界框,框的形成过程包括3 个步骤:(1)将概率图二值化为常数阈值(0.2),得到二值图;(2)从二值图中得到连通区域(缩小后的文本区域);(3)使用Vatti 裁剪算法中的偏移量D'对缩小的区域进行扩展.D'计算为:
其中,A'是收缩多边形的面积,L'是收缩多边形的周长,r'设置为1.5.
SynthText 是一个包含800 k 图像的合成数据集,此数据集仅用于对本文的模型进行预训练.
ICDAR2015 是多方向文本检测常用的数据集,它由1000 张训练图像和500 张测试图像组成,文本实例以单词级标注.
Total-Text 是包含各种形状文本的数据集,包括水平、多方向和曲线文本实例,它由1255 张训练图像和300 张测试图像组成,文本实例以单词级标注.
对于所有模型,首先使用SynthText 数据集对它们进行100 k 次迭代预训练,然后使用1200 epochs 对真实数据集上的模型进行微调,训练批大小设置为8.本文遵循多学习率策略,当前迭代的学习率Lr=Ir×(1−i/max_i)p,其中初始学习率Ir设置为0.001,p为0.9,权重衰减为0.0001,动量为0.9,m ax_i表示最大迭代次数,这取决于最大的epoch.
训练数据的数据扩充包括:(1)在(−10°,10°)范围内随机旋转角度;(2)随机裁剪;(3)随机翻转.所有处理后的图像都重新调整为640×640,以提高训练效率.
在训练阶段,忽略所有数据集中标记为“DO NOT CARE”的模糊文本区域.在推理阶段,保持测试图像的高宽比,并通过为每个数据集设置合适的高度来重新调整输入图像的大小.推理速度测试批大小为1,在单个线程中使用单个1080ti GPU,推理时间包括模型前向传播时间和后处理时间.
本文检测性能评测方法主要考虑3 个性能参数:准确率Precision、召回率Recall和综合评价指标F-measure,其中综合评价指标是准确率与召回率的调和平均值,该值是评价文本检测方法性能的综合指标.定义如下:
其中,TP,E,T分别表示正确的检测结果集合,检测结果集合以及Ground-truth 集合.
为了验证特征金字塔增强模块FPEM 和特征融合模块FFM 的有效性,在数据集ICDAR2015 实验中,与特征金字塔FPN 进行了实验对比,如表1所示,不管主干网络是ResNet-18 还是ResNet-50,FPEM-FFM 都具有较高的性能(73.72% vs 79.14%,75.59% vs 79.96%)和速度(4.26 vs 21.31,2.84 vs 14.22).
表1 不同设置的实验结果
为了验证可微二值化模块DB 的有效性,在数据集ICDAR2015 实验中进行了有无DB 模块的实验对比,从表1中可以看到DB 显著地提高了数据集上ResNet-18 和ResNet-50 的性能.对于ResNet-18 主干网,DB 在ICDAR2015 数据集上实现了1.93%的性能提升.对于ResNet-50 主干网,DB 在ICDAR2015 数据集上实现了2.46%的性能提升.此外,在两个主干网中,有DB 模块比没有DB 模块的速度都提高了约2 倍.
从表1中可以看到ResNet-50 主干网模型比ResNet-18 模型性能更好,但运行速度更慢.具体来说,ResNet-50 模型比ResNet-18 模型的性能高1.35%,但时间成本约为ResNet-18 的1.6 倍.
本文将所提出的方法与之前的方法在两个标准数据集上进行了比较,包括多方向文本数据集ICDAR2015和曲线文本数据集Total-Text.
ICDAR2015 数据集是一个面向多方向的文本数据集,它包含许多小的和低分辨率的文本实例.在表2中可以看到,与之前最快的方法EAST 相比,“FPEM-FFMDB(ResNet-50)”的性能比它高4.22%,运行速度快了两倍.当使用ResNet-18 主干时,“FPEM-FFM-DB(ResNet-18)”速度可以达到43 fps,F-measure为81.07%.
表2 ICDAR2015 数据集上的检测结果
本文在曲线文本数据集Total-Text 上验证所提出方法的鲁棒性,如表3所示,本文的方法在性能和速度上都达到了较好的结果.具体来说,“FPEM-FFMDB(ResNet-50)”在性能上比之前的最新方法高出1.15%,同时运行速度比之前的方法都快.使用ResNet-18 主干网可以进一步提高速度,但性能会有所下降.与最近的基于分割的方法PSENet 相比,“FPEM-FFMDB(ResNet-50)”速度快10.5 倍,“FPEM-FFM-DB(ResNet-18)”速度快17.9 倍.
表3 Total-Text 数据集上的检测结果
本文提出了一种可以高效准确的检测任意形状文本的框架,该框架包括由特征金字塔增强模块和特征融合模块组成的轻量级分割头和分割网络中的可微二值化过程,该分割头既有利于特征提取,又能带来较小的额外计算量,可微二值化模块可以显著地提高文本检测的性能.即使使用轻量级主干网络(ResNet-18),本文的方法也能以较快推理速度在测试数据集上实现可比较的性能.虽然本文的方法呈现出了一个可以与其他先进方法相媲美的效果,但是实现实时精确的自然场景文本检测任务还面临诸多挑战,未来仍有很多工作有待去解决.