基于旋转变量的任意方向文本检测算法

2020-05-22 12:32张兴全叶西宁
计算机工程与设计 2020年5期
关键词:文本框尺度样本

张兴全,叶西宁

(华东理工大学 信息科学与工程学院,上海 200237)

0 引 言

基于传统方法的文本检测研究已经较为成熟,特别是对图像中任意方向文本[1-4]。但由于其特征提取是人工设计的,对于背景复杂等高噪声的输入图像会产生大量误检,鲁棒性差[5]。

深度学习方法可以通过输入数据自动提取到强鲁棒性和强泛化性特征。Huang等[6]率先将卷积神经网络(convolution neural network,CNN)和传统方法MSER[7]相结合,提高了检测精度。随着对深度学习的研究深入,基于CNN的目标检测算法如Fast-RCNN[8]、Faster-RCNN[9]、CTPN[10]被相继提出,相比于传统方法有更高的检测精度和鲁棒性。其中以CTPN算法的综合检测效果最好。

CTPN算法将文本行拆分许多个子候选框(anchor)后进行预测,并用文本连接算法合并成文本行输出,解决了图像中文本的长宽比经常剧烈变化的问题。但CTPN算法仅能检测水平方向或近似水平方向(倾斜角度小于10°)上的文本区域,且对于小尺度文本检测效果较差。在现实应用场景中,图像中的文本常常发生倾斜,文本的尺度变化剧烈等现象。因此,本文借鉴CTPN的网络结构,通过特征融合解决小尺度文本检测问题,加入旋转角度预测网络解决文本倾斜扭曲问题,提出一种可适用于任意方向、端到端、多尺度文本检测算法,即CTPN-R(rotation variables-based connectionist text proposal network)。

1 文本检测算法CTPN-R

1.1 CTPN-R算法概述

算法的输入图片为RGB三通道彩色图像,经过CNN进行特征提取、特征融合和预测后,CTPN-R网络输出许多置信度大于某阈值(假设阈值为0.8)的anchor的坐标信息,如图1(a)中所示,每一个anchor都是一个带旋转方向的矩形。利用非极大值抑制算法(non-maximum suppression,NMS)将重叠率高的anchor剔除,剔除后的结果如图1(b)所示,最后根据边缘细化层输出和文本连接算法,将得到的一系列anchor合并成文本框,最终得到旋转矩形框的坐标信息。

1.2 CTPN-R网络结构

CTPN-R的CNN框架的设计借鉴CTPN[10]部分网络架构以及FPN[11]部分网络架构。算法的具体网络框架如图2 所示。CTPN-R网络框架输入RGB图像,用VGG-16[12]网络进行特征提取。VGG-16网络是目标检测中常用于作特征提取层的网络架构之一。相对于其它常用的特征提取层如Res-50,它有很多优势如网络训练参数少、网络深度不深、对硬件要求不高等。VGG-16网络的具体参数设计可在文献[12]中查询到。VGG-16网络本身是一个分类网络,而CTPN-R网络仅需要VGG-16作为特征提取层输出特征图(feature map),作为特征融合层的输入,因此不能直接使用VGG-16网络结构,需要进一步修改。

图1 CTPN-R算法基于旋转anchor的检测过程

图2 CTPN-R网络框架

1.3 特征融合层和预测层

目前大部分基于深度学习的文本检测算法一般只采用网络特征提取层的最后一层输出作为特征图进行预测[8-10]。CNN的特征提取是一个自下而上的过程,随着网络变深,网络提取的语义信息会越来越强,这一过程会使得提取的语义变得高级,但同时也会丧失掉许多低级语义信息。而文本检测需要检测小尺度文本,因此需要网络能提取到低级和高级特征用于预测。

有一种做法是采用多尺度特征图进行检测,仅从网络特征提取层中抽取不同尺度的特征图进行预测,且不会增加网络的计算成本[13,14]。然而,由于没有自上而下和横向连接过程,这种做法所提取的不同尺度特征层是分开进行计算的,不能很好地将高级特征与低级特征相融合。为了解决这个问题,CTPN-R采用最近邻上采样的特征图融合方法,将高层特征与低层特征融合后,构建新的特征金字塔作为特征图输入到预测层中。

对于高层特征图(如Conv7)进行2×2的反卷积操作,完成上采样过程,使得高层特征图的尺度大小与低层特征图一致。反卷积层输入与输出的特征图尺度大小计算公式为[15]

试验所用方钢管为Q235直焊缝钢管,□120×5.52、□150×5.52两种规格。再生混凝土配制原材料有海螺牌42.5R普通硅酸盐水泥、天然河砂、自来水、天然粗骨料和再生粗骨料。其中天然粗骨料为粒径5~20mm的连续级配碎石,再生粗骨料来源为实验室废弃混凝土试块,经二次破碎后人工筛分为5~20mm的连续粒级。所有再生混凝土配合比相同,水泥∶水∶砂∶粗骨料=1∶0.38∶1.11∶2.06(水泥用量540kg/m3),再生粗骨料取代率改变时相应地调整再生和天然粗骨料的比例,总的粗骨料重量保持不变。预留钢管、再生混凝土的标准试样与试件同条件养护和高温试验,实测力学性能指标如表2、表3所示。

o′=s(i′-1)+k-2p

(1)

其中,o′、i′分别代表输出和输入特征图的大小,k、s、p分别代表卷积核的大小、步长和填充边距。高层特征图在进行反卷积之后特征图为矩阵A,低层特征图经过1×1卷积后为矩阵B,两个矩阵的大小一致。为了消除数据之间的量纲关系,分别对两个特征层中元素进行标准化(batch normalization),避免反向传播更新通过梯度优化权重时产生数值问题。由于点积计算有更好的精度,所以CTPN-R算法采用元素点积进行特征图结合。输出通道i的特征图Ti的计算公式如下

(2)

对已融合的特征图,需要用3×3卷积核进行卷积操作,从而消除上采样造成的混叠效应,最终得到特征融合后的特征图,将特征图输入到预测层中。

本文参考了CTPN[10]部分框架。在本文中,用5个变量 (x,y,w,h,θ) 表示矩形框的坐标信息,x、y、w、h和θ分别代表矩形框的中心点坐标,宽度、高度以及旋转角度。在预测层中,对于输入通道数N的 (W×H×N) 特征图,每一行作为一个序列输入到256维的BiLSTM(bi-directional long short term memory network)中,输出为 (W×256)。 接着将BiLSTM层的输出再输入到512维的全连接层中,输出k个anchor的2k维预测分数向量、4k维坐标偏移向量 (Δx,Δy,Δh,Δθ) 以及2k维边缘调整偏移向量Δo。k的计算公式为

k=Hi×Wi×angel_scale

(3)

其中,Hi、Wi分别代表输入第i张融合特征图的高度、宽度。angel_scale代表anchor默认的方向个数,angel_scale=6。 由于CTPN-R采用的是基于特征融合的特征金字塔作为预测层输入,所以每个特征图的默认anchor尺度不同于仅采用最后一层作为预测层输入的情况,此处的anchor的默认长宽比并不需要设定,而是由特征图的感受野决定。

1.4 非极大值抑制和文本连接算法

在不同尺度下,特征图经过预测层输出anchor在真实图像中的坐标位置后,需要进行非极大值抑制。首先将置信度大于设定阈值ψ=0.7的anchor组成集合,然后按置信度的值从高到低进行排序,然后将第一个文本框作为当前文本框,当重叠率IoU大于某阈值ρ时,则剔除该文本框,若不是最后一个,则取下一个文本框作为当前文本框,然后继续计算重叠率,直到算法结束。

(4)

(5)

最终得到预测文本框的5个坐标参数b=(xb,yb,wb,hb,θb)。

2 网络训练

2.1 正负样本的选取

(6)

其中,(xa(i,j),ya(i,j)) 代表默认anchor在输入图像上的中心点坐标。 (wa(i,j),ha(i,j),θa(i,j)) 分别表示anchor在输入图像上的宽度、高度和旋转角度,θa(i,j)默认为6个方向,用弧度制表示。旋转角度以顺时针为正。如图3所示,β参数对算法的总体性能影响不大,F-measure是文本检测中常用的一个综合指标。在β={0.85,…,1.25} 之间时,F-measure没有较大的起伏,说明CTPN-R算法对于人工定义的参数并不敏感。在β=1.2时取到最大值,而β=1.3时性能有小幅度地降低,这是因为anchor过大时,会导致同一文本行的anchor之间重叠面积过大,相邻anchor会被误认为属于同一位置的anchor,从而被非极大值抑制算法删除掉。而在β=0.8时,性能有较大的降低。这是因为相邻anchor之间过于分散,在文本连接算法中对同一文本行的相邻anchor的距离设定阈值为1.2wa,而wa默认设定过小,则会导致原本是相邻anchor误认为是非相邻anchor。本文在不改变文本连接算法的阈值下,取β=1.2。

图3 β参数对F-measure的影响

(7)

网络学习需要基于旋转变量的anchor的采样策略。由于本文将文本框拆分成一系列anchor进行检测,所以一般目标检测的IoU计算方法(式(8))不适合CTPN-R算法,为此采用一种新的IoU计算方法(式(9))

(8)

(9)

其余的作为非正样本和非负样本的区域,在训练过程中不作为回归样本。

2.2 目标函数

(10)

通过上述方法,图像中的文本框被分成一系列宽度为固定值的anchor。如图5(a)所示,ground-truth在旋转后与anchor重叠区域的宽度小于固定值,或者出现如图5(b)所示,ground-truth被anchor分割后,左右两边出现的边界区域(中ground-truth的最左边区域)。这两种情况下的边界区域正样本选取由2.1中条件④决定,选择的正样本不仅作为坐标偏差层的正样本,也作为边缘细化层的正样本进行回归。边缘细化参数化元组o=(ox,oy) 的计算公式为

(11)

其中,(xside,yside) 是经过文本框中心点与w平行线段的边界点预测坐标,(xa,ya) 是anchor的中心点坐标。 (x′side,y′side) 是边界点的实际坐标。

图4 计算正样本与ground-truth的坐标偏差值步骤

图5 边缘细化层正样本选取条件

对于anchor的损失函数采用多任务损失函数形式,引入了3种损失函数,并最小化总体目标函数L(s,v,o),计算公式为

(12)

其中,s是anchor作为文本的预测概率,s′={-1,0,1} 是真实值,-1代表负样本,0代表无关样本,1代表正样本。v是anchor的尺度不变参数化元组,里面包含4个变量 (vx,vy,vh,vθ)。 Lcls(·) 是softmax损失函数,用于计算文本/非文本的分类损失。 Lreg(·) 是smoothL1损失函数,函数具体形式如式(13)所示。o是边缘细化参数化元组,o=(ox,oy)。Ns、Nv、No是标准化参数,λ1、λ2是损失权重,用来权衡各任务,通常设置为1.0或者2.0

(13)

3 实验结果与分析

3.1 数据集

CTPN-R在两个流行的文本检测数据集上对算法评估—ICDAR2013和MSRA-TD500。MSRA-TD500是一个包含倾斜角度的中英文本框的数据集,共300张训练图像和200张测试图像。数据集中的标注是以文本行的坐标和倾斜角度组成,可以评估多方向文本检测算法的性能。ICDAR2013 是一个所有文本实例都是用水平对齐的数据集,包含229个训练图像和233个自然图像进行测试,通过对特定方向如水平方向的检测,评估本文改进之后的检测性能,方便了解CTPN-R对特定方向文本检测的适应性。

3.2 网络参数

文本使用Adam算法训练并更新网络权重参数,动量设置为0.9,权值衰减系数为0.0005,最大迭代次数为50 000。学习率初始值为10-5,迭代到30 000次后,学习率调整到10-6。整个实验是在TensorFlow的GPU版本平台下运行,输入图片尺寸均调整到600*1000。配置为 Intel i5 CPU,显卡为Nvidia GTX1070。

3.3 实验分析

如图6所示,A、B、C分别代表本文加入和改进的3个策略:特征融合、边缘细化和带旋转变量的循环文本预测网络。D为对图像做边界填充。本文提出的算法CTPN-R在没有添加上述3个策略时,仅加入旋转变量进行训练,在MSRA-TD500数据集上评估效果是精确率(P值)为68.2%,召回率(R值)为57%,F-measure为62.1%,优于直接使用CTPN进行预测的P、R和F为40.2%、38.9%和39.5%。单独添加方法A,F-measure提高了8.9%,主要表现在R值的增加上面,这主要是因为 CTPN-R 在小尺度文本检测上提高了召回率。再加入策略B使得网络在F-measure上提高到了72.9%,增长了1.9%。结果进一步表明了CTPN-R优化后的边缘细化层在任意方向文本检测中的有效性,也进一步验证本文通过优化边缘细化层输出,使其应用在任意方向文本检测这一策略是正确的。如图7所示,加入边缘细化层后,算法检测的文本框位置更为精确。通过加入3个策略之后,网络整体性能得到了较大的提升,P值提高了12.8%,R值提高了17.2%,F-measure提高了15.4%。而加入了策略D之后,P值虽然相比之前有1.2%的提升,但是R值也下降了1%,主要是表现在边缘处的误检测上。上述结果验证了CTPN-R在能准确预测出图像中任意方向文本。在下述与其它算法比较中,本文将加入策略A、B、C作为最佳结果进行比较。

图6 CTPN与CTPN-R在MSRA-TD500上性能比较结果

图7 加入边缘细化层前后效果

为了评估CTPN-R对水平方向文本检测性能,方便与其它算法性能作对比,在ICDAR2013数据集上进行文本检测。检测结果见表1,CTPN-R相比于原始算法 CTPN 在准确率上稍微下降,但是召回率显著提高了4.2%,在综合性能指标F值上相比于其它算法达到了最好的效果。CTPN-R和CTPN在准确率上相比其它算法检测效果更理想的原因在于使用了循环文本网络以及多尺度anchor的检测策略,说明本文通过加入特征融合的策略是有效的,验证了神经网络可以通过特征融合构建特征图金字塔,提高算法对小尺度文本检测效果,从而提高召回率,使得算法整体性能得到改善。

表1 各算法在ICDAR2013数据集上的检测结果

从表2可以看出,CTPN-R在MSRA-TD500数据集上有81%的准确率,综合性能评价F-measure为77.5%,相比之前表2中准确率最高的算法(表2中的文献[20]),CTPN-R在召回率上提高了11.2%,F-measure提高了3.5%。这主要得益于加入了特征融合层和边缘细化层,提高了网络对小尺度文本检测效果,使其召回率上升。

表2 各算法在MSRA-TD500数据集上的检测结果

在本文配置中,CTPN的每次迭代平均时间为0.24 s,而CTPN-R算法每次迭代时间0.4 s。考虑到CTPN-R相比于原始网络多输出3k个参数,几乎增加了一倍的训练参数,增加的训练时间在合理范围内,同时说明增加特征融合层不会大幅度增加网络的计算成本,因为计算成本主要集中在特征融合层中的反卷积计算中。

4 结束语

针对文本检测算法CTPN不能很好检测倾斜文本和小尺度文本问题,提出了基于旋转变量的改进算法CTPN-R。CTPN-R加入旋转变量的预测和回归,用最近邻上采样方法将高级和低级特征相融合,丰富特征图的语义特征信息,增强特征图的表达性,使网络更有效地检测小尺度文本。通过优化边缘细化层,使其能有效应用到倾斜文本检测中。针对倾斜文本anchor的训练,提出了一种新的IoUnew计算方式和正样本选取策略,为基于深度学习中拆分文本框的文本检测算法提供了一种思路。仿真结果表明:CTPN-R 对图像中任意方向文本有很好的检测效果,且实时性好。

猜你喜欢
文本框尺度样本
用样本估计总体复习点拨
巧用文本框实现PPT多图片排版
财产的五大尺度和五重应对
PPT文本框的另类应用
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
宇宙的尺度
村企共赢的样本
文本框酷变3D效果
9