APP下载

基于残差网络及笔画宽度变换的场景文本检测

2023-02-05方承志倪梦媛

计算机技术与发展 2023年1期
关键词:文本框笔画残差

方承志,倪梦媛,唐 亮

(南京邮电大学 电子与光学工程学院、微电子学院,江苏 南京 210023)

0 引 言

自然场景中的文本检测在智能交通系统[1]、自动化设计[2]、人工智能[3]、可穿戴便携式视觉系统[4]等多个领域都有着重要作用。

传统的文本检测方法主要是使用人工设计和传统分类器,如SWT(Stroke Width Transform,笔画宽度变换)[5]和MSER(Maximally Stable Extremal Regions,最大稳定极值区域)[6],这些算法主要通过检测边缘或提取图像极端区域来检测字符,然后基于自定义规则或训练的分类器将提取的组件组合成文本区域。但这类方法在涉及连接字符、分割笔画字符或者不均匀照明时会表现不佳,无法适用于复杂场景中的文本检测。

基于深度学习的文本检测方法让计算机自动学习数据的有效特征表示。主要分为基于分割和基于回归两类。基于回归的文本检测方法是将文本视为一种检测目标,利用深度学习框架对目标定位坐标进行回归。这种方法根据是否预设锚框可以分为间接回归和直接回归。间接回归法(如Textboxes[7]、Textboxes++[8]等)采用长矩形锚框,DeepText[9]等利用k-means聚类的方法产生锚框,然后利用锚框回归相对候选框偏移的文本框坐标,其缺点是中间过程冗长,且需要大量锚框覆盖检测物体,而其中只有一小部分锚框为正样本,容易产生正负样本失衡。直接回归法则舍弃锚框,直接将特征图通过网络框架检测出文本行的坐标。例如EAST[10]算法,仅包含FCN(Full Convolutional Network,全卷积网络)[11]和NMS(Non-Maximum Suppression,非极大值抑制)两步,但受感受野的限制,对长文本检测效果不好。Advanced EAST等算法[12-14]通过改变回归目标来改善长文本的检测,但标签生成过程复杂,且对密集文本检测效果变差。因此,需要更有效的方法来解决此问题。

该文在EAST[10]算法的基础上进行改进,提出了一种基于残差网络及笔画宽度变换的文本检测算法,不仅提高了算法的准确度,还有效改善了对长文本的检测效果。首先,在特征提取阶段引入残差结构[15],增加网络深度并提升学习精度,同时避免产生梯度消失问题。其次,采用DIoU(Distance Intersection over Union,距离交并比)[16]计算几何损失函数,在原IoU(Intersection over Union,交并比)损失[17]的基础上加上预测框与真实框的中心点之间的距离作为惩罚项,使得检测效果更好。最后,增加了SWT阶段来解决长文本首尾丢失问题,将网络生成的文本框向首尾两侧按一定规则扩大,并进行笔画宽度变换[5],根据条件判断并补全长文本检测框。

1 EAST算法分析

EAST算法[10]是一种端到端的文本检测算法,能够直接预测图像中任意方向的文本或文本行,消除不必要的中间步骤,其过程简化为两个阶段:FCN阶段和NMS阶段。

其网络结构分为特征提取层、特征融合层和输出层三部分。实验中特征提取层将VGG16作为网络结构的骨干,通过四个卷积块获取不同尺度的特征图,以实现对不同尺度文本行的检测。在特征融合层,逐层将后一层的特征图通过上采样后与前一层特征图进行局部信息融合,将最终结果输出到输出层。输出层输出置信度信息和几何位置信息。对于倾斜矩形文本框Q(x,y,w,h,θ),输出的位置信息为像素点到四个边的距离以及矩形文本框的旋转角度。损失函数由分类损失和几何损失两部分组成。分类损失采用类平衡交叉熵损失[18]以平衡正负样本;几何损失的计算采用对尺度不敏感的损失,即IoU损失[17]。

NMS阶段采用局部感知NMS算法[10]。在假设来自附近像素的几何图形倾向于高度相关的情况下,提出逐行合并几何图形,并且在合并同一行中的几何图形时,迭代合并当前遇到的几何图形与最后一个合并图形。这种方法合并的文本框坐标是通过两个给定检测框的坐标按得分进行加权平均获得的,采取这种方法可以将所有框的坐标信息都加以利用,而不像常规NMS一样直接弃掉得分低的框,也许会丢失信息。

但EAST算法对长文本的检测效果较差,这主要是由感受野不够大导致的[10]。其特征提取网络层数为16层,经过5次池化,stage4输出的特征图感受野大小为212×212,而感受野内特征点的有效性类高斯分布由中心向边缘递减,因此有效感受野的范围更小,导致该算法对长文本,尤其是贯穿图片的长文本检测效果不好,容易出现文本的首尾部分丢失的情况。

此外,损失函数所采取的IoU损失,仅通过交并比计算损失,缺少对准确位置问题的区分和调整,一定程度上影响了预测的准确度。同样的问题也出现在许多其他直接回归文本框的算法中。

要通过深度学习的方法改善长文本检测的效果,一种思路是改变回归目标,但往往会带来其他问题,例如回归像素点到文本框边界的距离,对小文本的检测效果并不好,尤其是在检测密集文本时容易产生边界错乱。且目前常用的数据集并没有可以直接使用的标注,因此这种方法还需要复杂的标签生成过程。另一种思路是增加网络深度以及池化次数来扩大感受野,但更深层所提取的特征图会损失更多的小尺度信息,对小文本的检测效果将会变差。且由于深度神经网络是通过损失函数梯度的反向传播来指导权值的更新优化,单纯增加网络深度,梯度逐层累乘,容易出现梯度消失现象,浅层参数无法更新,网络难以收敛。此外神经网络并不是越深越好,当超过一定层数时,要继续提高精度所需要的网络层数呈指数级增长,所带来的参数量和计算量的挑战都十分巨大。因此,该文考虑将深度学习与传统算法相结合,更为简单快捷地改善长文本检测。

2 基于残差网络及SWT的文本检测

2.1 算法流程

为了提升模型精度,改善对长文本的检测效果,该文提出了一种基于残差网络及SWT的自然场景文本检测算法。主要从三个方面对EAST算法进行改进。一是增加特征提取层的网络深度,为了防止网络退化和梯度消失,引入了残差结构。二是在损失函数中增加一个惩罚项,提高预测框回归的准确度。三是在NMS阶段后,增加一步SWT阶段,通过局部性的笔画宽度变换,依据设定的条件,补全缺失的长文本检测框。

算法流程如图1所示。

图1 基于残差网络及SWT的文本检测算法流程

首先,将图像送入残差网络,通过四个stage提取不同尺度的特征图,每个stage都包含若干残差块;然后,通过对特征图上采样和通道拼接逐层进行特征融合,得到融合后的特征图h4;再经过一个卷积层输出得分图及预测文本框的位置信息;之后,使用位置感知的NMS,获取得分高的预测文本框;最后,将预测文本框送入SWT阶段,检查文本框两侧是否存在未检测到的字符,若存在,则将其补全。

2.2 残差网络结构

该文考虑增加网络层数来提取更深层次的网络信息,提高学习的准确度,同时还能增大感受野。但随着网络加深,容易出现网络退化的问题,这是由于在反向传播的过程中,梯度逐渐消失,无法对前面的网络层权重进行有效的调整。为了解决这一问题,引入了残差网络结构[15](见图2)。

图2 残差结构

假设某段网络的输入为x,期望输出为H(x)。在残差网络结构中,通过捷径连接直接将输入x传到输出作为初始结果,网络学习的将是输入和输出的差值,即残差F(x)=H(x)-x,训练的目的是使残差结果逼近于0,相比于训练一个等价映射,这样训练的难度要大大降低。

在原网络的基础上引入残差网络结构。每个stage主要包含两种模块,Conv Block和Identity Block[15],如图3所示,其中包含若干卷积层、BN(Batch Normalization,批归一化)层和ReLU(Rectified Linear Unit,修正线性单元)激活函数层。Conv Block输入和输出的维度不同,捷径连接处用1×1的卷积层降维,它的作用是改变网络的维度。而Identity Block输入和输出维度相同,直接将输入加到最后的输出上,它的作用是加深网络的深度。改进后的网络结构如图4所示。

图3 残差模块结构

输入图像在特征提取层首先通过7×7的卷积和池化,然后通过4个stage获取不同尺度的特征图f4、f3、f2、f1,尺寸分别为原图的1/4、1/8、1/16、1/32,通道数分别为64、128、256、512。而后在特征融合层,底层特征图h1经过上采样将尺寸放大一倍,然后与上一层特征图f2进行通道拼接,再经过1×1卷积核减少通道数,经3×3卷积核将特征信息融合得到特征图h2。重复上述操作,逐层进行特征融合,得到尺寸为原图1/4的特征图h4。特征融合层满足:

(1)

(2)

其中,gi为特征融合基,hi为融合特征图,[·;·]表示二者通道拼接,通道数增加。

图4 改进的残差网络结构

融合后的特征图h4经32核3×3的卷积层送入输出层。在输出层分别经过1×1的卷积核,输出1维得分图score map、4维顶点偏移信息和1维旋转角度信息。

利用残差结构来增加网络的深度,扩大感受野,可以有效提高网络性能。改进后的特征提取网络层数增加到49层,同时感受野增加到427×427。此外,残差网络采用1×1和3×3的卷积核来组合成模块结构,与仅使用3×3卷积核的VGG网络相比,大幅减少了计算量和参数量,不仅准确度大大提高,而且计算效率也有所提升。

2.3 改进型损失函数

原算法所采用的IoU损失[17]计算的是预测文本框和真实文本框的交集与并集之比。该算法对尺度不敏感,即不受目标物体尺度大小的影响,但是这种算法无法指示出预测框与真实文本框的重叠方式的差异。如图5所示,图(a)和图(b),其预测框与真实框都不相交,无论与真实框的距离远近,二者的IoU都为0,此时的IoU损失在训练中无法回传梯度进行更新,但显然图(a)的预测框比图(b)更接近真实文本框;图(c)和图(d)预测框都与真实框相交,虽然重叠方式不同,但IoU相同,二者在训练过程中无法通过IoU损失进行区分,但显然图(c)预测框的中心点与真实文本框更接近,预测的效果也比图(d)更好。

通过以上例子不难发现,在预测框与真实框IoU相同的情况下,两者中心点间的距离越小,预测结果越接近真实值,检测效果越好。因此,采用DIoU Loss来计算损失函数,即在IoU Loss的基础上,将预测框与真实框中心点间的距离作为惩罚项引入损失函数计算中,用以区分与真实框不同重叠方式的预测框。改进后的损失函数Loss由分类损失Ls和几何损失Lg组成,满足下式:

图5 预测框与文本框IoU效果示意图

Loss=Ls+λgLg

(3)

其中,λg为几何损失权重。分类损失Ls采用类平衡交叉熵损失平衡正负样本,满足下式:

Ls=-βYgtlogY-(1-β)(1-Ygt)log(1-Y)

(4)

几何损失Lg由边界框位置损失LQ和旋转角度损失Lθ组成,LQ采用DIoU计算损失,满足下式:

Lg=LQ+λθLθ

(5)

(6)

Lθ=1-cos(θ-θgt)

(7)

其中,λg为损失权重,Y为预测得分,Ygt为真值,β为正负样本的平衡因子;R为预测的文本框,Rgt为真实文本框,d(c,cgt)为预测框中心点c与真实框中心点cgt间的欧氏距离;λθ、λd分别是旋转角度损失和惩罚项的权重;p为能够同时覆盖检测框和真实框的最小矩形的对角线长度,在此起归一化的作用,使损失适用于不同大小的文本检测。

相比于IoU Loss,DIoU Loss同样具有尺度不变性,且在检测框与真实框不重叠时,后者可以为边界框提供移动方向。对于重叠的框,DIoU通过惩罚项优化检测框与真实框之间的距离,能够分辨不同的重叠方式。

2.4 笔画宽度变换(SWT)阶段

对于长文本的检测,原EAST算法的弊端在于感受野受限,尽管通过增加网络深度、空洞卷积[19]等方法可以扩大感受野,但在图片较大时,仍不足以获得较好的检测效果。且一味增加网络深度,浅层特征的学习能力会下降,从而影响检测效果。一些算法[12-14]通过改变回归目标来避免感受野受限的问题,但往往需要复杂的标签生成过程和后处理过程,且在文本密集的情况下容易边界错乱。因此,该文考虑增加一个SWT阶段,通过传统的笔画宽度判定预测文本框两侧是否存在漏检的文本,从而对长文本进行补全。

笔画宽度变换(SWT)[5]利用笔画宽度,即平行字符边缘的点对之间的距离,进行文本和非文本的区分。笔画宽度是文字所独有的特征,一般的自然场景文本图像中的字符的笔画宽度值通常比较稳定,非字符的笔画宽度值一般变化较大,因此,可以利用笔画宽度值对一些非文本区域进行剔除。SWT算法首先利用Canny算子获得边缘图像,对每个边缘像素点沿梯度方向搜索组成像素点对;然后将路径上的像素赋值为所组成的点对之间的距离,即为笔画宽度。具体算法流程如算法1所示。

算法1:笔画宽度变换算法。

输入:图片S。

输出:笔画宽度图S'。

Step1:设S'每一个像素点的笔画宽度初始值设置为无穷大;利用Canny算子对图片S进行边缘检测,取得边缘图像,并获取边缘像素点的梯度方向。

Step2:设p是边缘图像一个边缘上的像素点,根据其梯度方向dp沿着路径r=p+n*dp(n≥0)查找对应边缘上的一个像素点q,其梯度方向为dq。

Step4:重复Step2、Step3,直至标记该图像上所有没被废弃掉的路径上像素的笔画宽度值。若有像素点被多次赋值,则保留最小值。

Step5:矫正拐点,计算每一条路径上的所有像素的笔画宽度的中值,若该路径上像素点的笔画宽度值大于中值,则对该像素点赋值为该路径上笔画宽度的中值。

Step6:由于存在亮底暗字背景和暗底亮字背景两种情况,从梯度相反方向重复Step2至Step5进行二次搜索。

Step7:若8邻域内像素与中心像素的笔画宽度之比在[1/3,3]内,则聚合成连通域。计算每个有效连通域的笔画宽度的均值和方差,滤除方差大于阈值varth的连通域。

该文提出的SWT阶段需要将预测框向首尾两侧扩展一定的宽度,分别对预测框内和扩展区域进行SWT,获得区域内的笔画宽度信息,而后按照给定的条件判断扩展区域内是否存在漏检字符。这样可以有效摒除复杂环境的干扰,克服SWT本身鲁棒性差的缺点。

自然场景中的文本形状较为规则,在预测框具有良好包裹性的情况下,预测框的高度大致就是一个字符的宽度,考虑到字符间可能存在间隙,该文将扩展区域的宽度设定为预测框高的1.5倍。对于前述网络所得的预测文本框R(x,y,w,h,θ),其中心点坐标为(x,y),宽度为w,高度为h,旋转角度为θ。将文本框向首尾两侧各扩展1.5h,则两侧扩展区域分别为Re1(x-(w+1.5h)cosθ/2,y+(w+1.5h)sinθ/2,1.5h,h)、Re2(x+(w+1.5h)cosθ/2,y-(w+1.5h)sinθ/2, 1.5h,h),如图6阴影部分所示。

图6 文本框扩展区域示意图

分别对预测文本框R和扩展区域Re1和Re2做SWT,获取三个区域内的笔画宽度特征信息。若扩展区域内不存在与R相似的笔画特征信息,则保持原预测结果;否则认为存在漏检的文本内容,并根据漏检字符的坐标形成新的文本框左右边界。而后再次扩展,重复以上过程,直至没有新的漏检字符出现,从而解决长文本两侧不全的问题。具体算法流程如算法2所示。

算法2:SWT阶段算法。

输入:预测文本框R。

输出:补全的预测文本框R*。

Step1:对预测框R进行SWT,获得笔画宽度图,形成连通域,并滤除方差大于阈值varth的连通域,计算整个预测框内有效文本区域的笔画宽度均值meanpr令R*=R。

Step2:将R*向首尾两侧各扩展1.5h,获得扩展区域Re1和Re2,若扩展区域与其他预测框相交则相交区域置零。

Step3:分别对扩展区域Re1和Re2进行SWT,滤除方差大于阈值varth的连通域,计算每个连通域的笔画宽度均值mean。

Step4:若存在连通域,其1/3≤mean/meanpr≤3,则判断该连通域为字符。

Step5:若字符属于区域Re1,则将连通域内横坐标最小的像素点所在的垂直于上下边界的线作为新的预测框左侧边界;同理,若字符属于区域Re2,则根据横坐标最大的像素点确定新的右侧边界,得到新的文本框R*。

Step6:重复Step2至Step5,直至没有新的字符出现。

3 实验结果分析

3.1 数据集及预处理

本次实验采用ICDAR2015和MSRA-TD500数据集。

ICDAR2015是目前文本检测算法中常用的数据集,包含500张测试图像和1 000张训练图像,所有的图像尺寸均为720×1 280。该数据集图像从谷歌街景中搜集,标注为单词级别的四个顶点的坐标,文字呈多方向排布,模糊遮挡较多,对算法鲁棒性要求高。MSRA-TD500数据集包含200张测试图像和300张训练图像,分辨率在1 296×864到1 920×1 280之间。该数据集包含中英文,大部分文本都在引导牌上,标注以行为单位,而不是单词,每张图片都完全标注,对于长文本的检测有较高的参考价值。

由于数据集较小,先通过数据增强扩充数据集,对图像进行裁剪、移位、亮度增强、对比度增强、水平翻转和随机方向旋转,将ICDAR2015扩充到7 000张,将MSRA-TD500扩充到5 000张。

3.2 实验环境及参数设置

实验是在Python3.7下基于keras深度学习框架编写,采用自适应矩估计(Adaptive Moment Estimation,Adam)优化器[20]优化模型,学习率设置为3e-4,衰减系数为1e-4,输入图像尺寸为512×512,每次迭代的输入图像个数为4。

3.3 评价指标

实验采用标准的自然场景文本检测评估指标,即:准确率(P)、召回率(R)、F值(F),计算公式分别为:

(8)

(9)

(10)

其中,TP表示检测正确的文本框数量;D表示模型检测出的文本框数量;G表示真实的文本框数量。若检测结果与真实文本框之间的交并比大于阈值(阈值取0.5),则认为该检测结果是正确的。F值是准确率和召回率的调和平均数,用以综合评估模型的性能。

3.4 结果分析

文中算法与EAST算法的检测结果如图7所示。原图为MSRA-TD500中的一张图片,EAST算法的检测结果如图(a)所示,对于长文本“中关村广场购物中心”以及“ZHONGGUANCUN”,其检测框不能完全覆盖文本内容,遗漏较多文本信息;通过改进后的网络而未经过SWT阶段预测所得的文本框如图(b)所示,相比于EAST算法已经有了较大的改进,其文本框覆盖文本内容更加完整,但对于其中较长的文本首尾的“中”和“心”字仍然未能完全检测到,这是由于改进后的网络虽然将感受野扩大到427×427,但仍不足以应对更大尺寸的文本信息;经过SWT阶段后所得检测结果如图(c)所示,检测框完整检测到了所有的文本信息,补全了长文本缺失的首尾部分。

图7 文中算法检测结果

表1为文中算法与EAST算法以及其他同期算法在ICDAR2015测试集上进行的实验结果对比。

表1 ICDAR2015数据集上算法评估结果

从表1中可以看出,文中算法相比于EAST算法,准确率、召回率、F值分别提高了4.5百分点、3.1百分点、3.7百分点。且与其他基于回归的检测算法相比,文中算法的检测效果也更好。这是由于引入的残差结构加深了网络的深度,使得网络的学习能力更强,且融合了与真实文本框中心点间距离的损失函数能够更好地校准预测文本框的位置。

为了验证文中算法在长文本检测方面的优势,进一步在MSRA-TD500数据集上进行实验。表2为文中算法与其他算法的检测结果对比。

表2 MSRA-TD500数据集上算法评估结果

从表2中可以看出,与EAST算法相比,文中算法在准确率、召回率、F值上分别提高了2.3百分点、6.4百分点、4.9百分点,与同期其他算法相比各项指标也都具有较大优势。由于MSRA-TD500数据集以文本行为标注,且包含较多长文本,进一步验证了文中算法的有效性,尤其是SWT阶段能够有效地补全漏检的长文本字符,改善长文本的检测效果。

4 结束语

该文提出了一种基于残差网络及笔画宽度变换的自然场景文本检测算法。在特征融合阶段,增加网络层数以提高神经网络的学习能力,同时扩大感受野,提高对大尺度文本的检测能力,并且利用残差结构解决梯度消失问题。而后,将预测文本框与真实文本框中心点间的距离作为惩罚项加入损失函数,解决了传统IoU损失在预测框与文本框不相交时梯度无法回传的问题,并在相交的情况下也能有效区分重叠方式。最后,增加了SWT阶段,对预测文本框进行扩展,依据笔画宽度等条件补全缺失的长文本信息。该算法在ICDAR2015和MSRA-TD500数据集上进行测试,都取得了不错的效果,相比于EAST算法,检测结果都有所提升,验证了算法的有效性。此外,该算法主要针对的是矩形倾斜文本,在后续的研究工作中,将考虑SWT阶段在任意形状四边形文本或曲形文本检测中的应用。

猜你喜欢

文本框笔画残差
基于双向GRU与残差拟合的车辆跟驰建模
笔画相同 长短各异
——识记“己”“已”“巳”
巧用文本框实现PPT多图片排版
基于残差学习的自适应无人机目标跟踪算法
有趣的一笔画
PPT文本框的另类应用
基于递归残差网络的图像超分辨率重建
找不同
一笔画
综合电离层残差和超宽巷探测和修复北斗周跳