APP下载

基于特征金字塔网络的自然场景图像文本检测

2022-03-18林金朝

关键词:内核实例像素

林金朝,文 盼,庞 宇

(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.光电信息感测与传输技术重庆市重点实验室,重庆 400065)

0 引 言

自然场景文本检测是许多智能应用的基础,例如场景理解,产品标识和自动驾驶[1]等。文本检测算法的核心任务是区分文本实例与背景区域。由于自然场景中图像背景复杂,光照变化干扰和图片质量参差不齐等外界因素,加上文本行的排列角度随机与形状任意等内在因素的影响,限制了文本检测算法的性能提升,因此,目前场景文本检测算法的研究仍然具有挑战性。近年来,随着深度学习卷积神经网络(convolutional neural network,CNN)[2]的发展,场景文本检测也取得了飞速的进步。基于深度学习方法的场景文本检测方法从特征提取、区域建议网络(regional proposal network,RPN)、多目标协同训练、Loss改进、非极大值抑制(non-maximum suppression,NMS)、半监督学习等角度对常规文本检测方法进行改造,在一定程度上提升了自然场景图像中文本检测的准确率。文本检测主要基于CNN框架,其中,场景文本检测大致分为2类:基于回归的方法和基于分割的方法。

基于回归的方法,文本目标通常以具有特定方向的矩形或四边形的形式表示,但是此类方法无法处理具有任意形状的文本实例。基于回归的方法通常基于通用的对象检测框架,例如Faster R-CNN[3]和SSD[4]。文献[5]用双向长短期记忆网络(Bi-directional long short-term memory,BLSTM)模块提取字符所在图像上下文特征,以提高文本块检测精度。文献[6]调整了文字区域参考框的长宽比例,并将特征层卷积核调整为长方形,从而更适合检测出细长型的文本行。近年来的检测方法则是专为多方向的文本检测而设计的,例如RRPN[7]采用了Faster R-CNN,并提出了RPN部分的旋转建议以检测任意方向的文本。RRD[8]从2个单独的分支中提取了用于文本分类和回归的特征图,以更好地检测长文本。

基于分割的方法主要受全卷积网络[9](fully convolutional network,FCN)的启发,Zhang[10]采用FCN提取文本块,并通过MSER从这些文本块中检测字符候选区域。Yao[11]将一个文本区域表示为各种属性,例如文本区域和方向,然后利用FCN预测相应的热图。Lyu[12]利用角点定位为文本实例找到合适的不规则四边形。文献[13]通过预测不同文本实例之间的像素连接来分离彼此靠近的文本。文献[14]使用实例分割框架,并利用上下文信息来检测任意形状的文本,同时抑制误报。

基于分割的检测算法虽然能够从提取特征中学习到文本特征,在检测不同形状文本实例具有一定鲁棒性,但在检测2个相距很近的文本实例时会产生错误的预测。即将2个文本框错误检测为一个或者无法检测出结果,这使后续文字识别的准确率不高。由于自然场景中的文本具有不规则、多方向、任意形状的特征,难以直接将困难样本分离,该问题在一定程度上限制了检测性能的发挥。为了解决这个问题,提高自然场景中多方向任意形状文本的性能,本文提出了一种特征金字塔网络(feature pyramid network,FPN)[15]和内核扩展算法相结合的框架,该模型通过利用较小内核分离文本,同时通过像素聚合生成任意形状的检测结果。主要工作与创新有以下2个方面。

1)作为基于图像分割的方法,网络模型将执行像素级分类,同时主要采用50层的残差网络(residual networks,ResNet)为骨干网络构建FPN网络,提取多尺度图像特征进行分别预测,为每个文本实例分配了多个预测的分割区域。

2)采用了一种特征内核扩展算法,利用该算法可以成功分离并识别相邻文本实例。通过扩展内核方式完成像素的聚合,同时在训练时加入在线难例挖掘[16]的训练方法,最终完成预测。

1 基于特征金字塔的文本检测算法

1.1 整体算法框架

本文首先采用ResNet作为模型的骨干网络,构建4层的FPN网络用于提取图像特征,然后融合连接到一个256通道的新的特征图F中,目的是将低级纹理特征与高级语义特征连接起来。采用FPN的方式构建的特征融合网络不同层都分别参与了特征图的预测,能够生成不同尺度特征内核。

整体算法框架见图1,使用不同层次连接好的特征图F映射到n个分支中,以产生多个不同比例的分割结果K1,K2,…,Kn。对于特定区域内的所有文本实例,每个Ki将被二值化处理生成一个对应的黑白像素的分割掩码(segmentation mask,SM),即不同尺度大小的内核。在训练阶段进行了剔除背景处理,只有预测文本区域中生成的内核参与扩展部分的训练和损失计算。Mask区域中生成的内核中,K1表示具有最小比例(即最小内核)的文本实例的分割结果,Kn表示原始分割掩码(即最大内核)的文本实例。获得这些Mask之后,为保证像素扩展的准确性,采用内核扩展算法将K1中所有实例的特征内核逐渐扩展为K2,如此渐进式地扩展为Kn中完整文本实例的形状。在这个过程中完成了特征图的像素聚合和不同文本实例像素的分类,获得最终的检测结果R。

图1 基于特征金字塔的文本检测网络模型Fig.1 Text detection network model based on feature pyramid

1.2 特征金字塔网络

深度残差网络早期被应用于图像分类任务,近年来研究表明其在特征提取时的表现也十分具有竞争力,因此也被广泛应用于目标检测领域。残差网络由残差块(residual blocks,RB)堆叠构成,能够减轻深层网络训练的难度,使得训练深层网络时能够达到较好的效果。

残差块结构见图2,首先使用一个1×1卷积层对特征层进行降维,然后中间3×3的卷积层提取特征,最后用另一个1×1的卷积层对通道数做了还原操作,既保持了精度又大幅度减少了计算量。分批归一化(batch normalization,BN)作用是特征缩放,是把偏离的特征值拉回到均值为0,方差为1的标准的正态分布。卷积层采用的激活函数是整流线性单元(rectified linear units,Relu)。

本文算法模型的基本框架是基于FPN实现的。为了获得一个强语义信息,采用ResNet-50作为骨干网络来构造特征金字塔,低层特征可以提供更加准确的位置信息,而多次降采样和上采样的操作使得深层网络的定位信息存在误差,所以将处理过的低层特征和高层特征进行累加能够更好结合两者的优点。表1展示了ResNet-50的网络结构参数,网络总共分为5层,第1,2层参数分别表示卷积核的大小,卷积核的数量和步长。第2,3,4,5层以矩阵表示一个定义好的残差块,每个残差块由1×1,3×3,1×1这样的卷积核组成,每行第2个参数为卷积核的数量,最后的数字表示每种残差块堆叠的次数,同时在ResNet尾部去掉了传统的用于分类的全连接层,用于构建FPN网络。

图2 残差块的网络结构Fig.2 Network structure of residual blocks

ResNet-50网络结构参数见表1。图1中第1层到第5层向上提取特征的结构与表1一致,而P1到P5则是由提取到的特征图进行上采样和特征融合生成的。表1中每一层与图1中conv层对应。conv层与P层融合是通过特征融合模块进行融合,以conv4和P5特征融合为例,P5通过双线性插值(bilinear interpolation)的方式做2倍上采样得到和conv4尺度大小一致的特征图,conv4则采用1×1的卷积和P5进行通道数统一,与P5的2倍上采样的结果按照对应元素相加的方式进行特征融合,随后输出通过一个3×3的卷积,消除上采样带来的混叠效应,得到最后的特征图P4。

表1 ResNet-50网络结构参数Tab.1 ResNet-50 network structure parameters

从FPN网络能够获得4个256通道的特征图(P2,P3,P4,P5)。为了进一步组合从低到高的语义特征,通过一个函数C(·)连接了4层特征图,以获得具有1 024个通道的特征图F,表示为

F=C(P2,P3,P4,P5)=

P2‖Up×2(P3)‖Up×4(P4)‖Up×8(P5)

(1)

(1)式中:“‖”是指串联;Up×k(Pn)为对Pn进行k倍上采样。此时,F具有1 024个通道,随后经过Conv(3×3)-BN-Relu层使之减少到256个通道,再通过n个Conv(1×1)-Sigmoid层,并产生n个分割结果K1,K2,…,Kn。

1.3 内核扩展算法与像素聚合

本文中为每个文本实例分配了多个不同尺度特征内核,每个内核的形状与原始文本实例相似,但比例大小不同,是通过FPN网络最后输出的特征连接图F获得的,内核扩展和像素聚合过程见图3。首先比例最小的内核很容易分离,因为它们的边界很远,但是最小比例的内核无法覆盖完整的文本实例区域,因此需要从最小比例的内核中恢复完整的文本实例。最大的内核就是包含完整文本实例的特征图,但是每个文本实例并没有分开来,所以有必要从最小比例内核开始扩展。特征内核扩展算法可以将小内核扩展为完整的文本实例,从而确保文本实例的准确位置,尤其对曲线文本的检测效果提升明显。

特征内核扩展算法是基于广度优先搜索[17](breadth-first-search,BFS),共有以下3个步骤。

步骤1从最小比例的内核开始扩展,最小内核为文本实例的中心部分,形状与完整文本实例相似(由于在此步骤中可以区分实例)。

步骤2通过像素聚合的方式,逐渐扩展小内核为较大的内核,当较大的内核中像素被合并完时,扩展结束,较大内核提供验证像素扩展边界的作用。

步骤3逐级从得到的不同尺度的特征内核中合并扩展像素,直到包含完整的文本实例(即扩展到最大的内核)为止。

首先最小内核映射记为K1,从多个最小内核包含的像素开始,每个最小内核有上,下,左,右,4个方向作为连通区域来扩展其像素,若到达扩展的边界时,标志本次扩展结束,图3中用具有不同颜色的区域分别表示这些不同的连通区域。在扩展过程中可能会有冲突的像素,如图3中的橘黄色框所示,解决冲突的原则是每个像素只能由一个内核合并,且每个内核独立扩展。若已有内核合并了此像素,那么此像素便不会参与之后的合并。最后提取图3中用不同颜色标记的像素区域作为文本实例的最终预测。

由于FPN网络产生具有不同比例的分割结果,因此,在训练过程中需要生成不同比例内核的对应标注(ground truth,GT)。通过收缩原始文本实例来生成这些GT标签,即通过最大内核映射生成的特征图逐步按比例缩小生成小内核的GT。将原始多边形Pn缩小了di个像素,并得到缩小的多边形Pi。随后将每个缩小的多边形Pi进行(0,1)二进制像素处理,生成黑白分割的标注GT,这些GT分别表示为G1,G2,…,Gn,它们分别对应不同大小的内核,作为内核的标注进行训练。设缩小比例的值为ri,则Pn和Pi之间的边距di可计算为

(2)

(2)式中:Area(·)是计算多边形面积的函数;Perimeter(·)是计算多边形周长的函数,同时不同尺度内核的标注Gi生成时,ri定义为

(3)

(3)式中:m是最小比例尺度,它取值为(0,1];n为内核序号。根据等式(3)中的定义,可以确定比例ri的值(r1,r2,…,rn),内核大小从m开始每次按ri比例增加,增加到1为止。

1.4 损失函数

损失函数可以表示为

L=λLc+(1-λ)Ls

(4)

(4)式中:Lc和Ls分别代表完整文本实例和收缩文本实例的损失;λ用来并平衡Lc和Ls之间的重要性。

由于文本实例通常在自然图像中仅仅占据一个很小的区域,在实验中采用了骰子系数(cice coefficient)。骰子系数D(Ki,Gi)的公式如下

(5)

(5)式中:Ki,x,y和Gi,x,y分别指分割结果Ki和标准标注Gi中的像素(x,y)值。此外自然场景中还有许多与文本笔划类似的物体,例如栅栏,格子等,因此,在训练过程中,对Lc采用OHEM的方式训练以更好地区分这些样本。Lc用于分割文本和非文本区域,将OHEM给出的训练Mask视为M,则Lc为

Lc=1-D(Kn·M,Gn·M)

(6)

由于它们被完整文本实例的原始区域包围,所以可以忽略分割结果Kn中非文本区域的像素,避免了信息冗余。

大多数高职院校对顶岗实习阶段的党团组织生活没有足够重视,对顶岗实习学生的思想政治教育工作缺乏周密的教学计划,没能建立起完整有效的管理体系;也没有建立起学生、辅导员、实习指导教师、企业技术指导师傅之间进行思想沟通的有效载体。况且许多非公有制经济组织还没有建立党组织,大学生流动党员在这些企业中进行顶岗实习无法转组织关系,无法过组织生活。

(7)

(8)

(7)—(8)式中:Kn,x,y是Kn指中的像素(x,y)的值,W是忽略Kn中的非文本区域的像素的Mask。

2 实验测试

2.1 数据集

ICDAR2015(IC15)是ICDAR2015强健阅读比赛的数据集,是文本检测的常用数据集。总共包含1 500张图片,其中,1 000张用于训练,其余用于测试。图片由Google Glass以偶然的方式拍摄,因此场景中的文本处于任意方向,或者受到运动模糊和低分辨率的影响。

ICDAR2017-MLT(IC17-MLT)是大规模的多语言文本数据集,其中包括7 200个训练图像,1 800个验证图像和9 000个测试图像。数据集由来自9种语言的完整场景图像组成。

CTW1500是长曲线文本检测的具有挑战性的数据集。它包含1 000个训练图像和500个测试图像。CTW1500中的文本实例由具有14个点的多边形标记。

2.2 训练细节

本文使用的骨干网络以ResNet构建,实验设备为1块GTX2080ti的GPU,算法在对IC15和CTW1500上的性能进行评估。训练采取迁移学习的策略,分为以下2种方式:①直接使用ImageNet上预训练好的ResNet网络模型在不同数据集上进行训练;②使用IC17-MLT的数据集进行网络的预训练,再在不同数据集上通过迁移学习的方式进行参数微调。

方式1:批处理大小为4,完成150 K次迭代(即600个Epoch),初始学习率设置为1×10-3,在50 K和100 K次迭代时除以10。

方式2:使用IC17-MLT中7 200个训练集图片和1 800个验证集图片进行预训练。预训练时设置批处理大小为4,在GPU上进行720 K次迭代。初始学习率设置为1×10-3,在240 K和480 K迭代时除以10。微调时设置批处理大小4,进行100 K次迭代,初始学习率设置为1×10-4,在50 K迭代时除以10。不同数据集标注方式不同,实验对CTW1500数据集采用方式1进行训练,对IC15数据集采用2种方式分别进行训练。进行训练本文采用文献[8]中的权重初始化方式,使用5×10-4的权重衰减和0.99的非阻尼动量,所有数据集均使用随机梯度下降(stochastic gradient descent,SGD)进行优化。

图片中参与训练的样本类型分为正样本和负样本,本文中分别表示包含文本区域的图片和不包含文本区域的图片。数据集中文本区域仅仅占自然场景图片中很少的一部分,如果直接进行训练会由于正负样本数量不均衡的原因出现误报。因此本文在实际训练中为了加强对困难模糊文本样本的训练,解决正负样本不均衡的问题,引入了OHEM的训练方法。在训练时对于预测为真的样本全部选择进行训练,对于预测为负的样本集合会进行排序,把每个batch训练数据中损失值很大的样本(即模型很大概率分类错误的样本)放入该样本池中,每张图片的正负样本比例保持为1∶3,当数量积累到一个batch以后,将这些样本放回网络重新加强训练。

(9)

(10)

(11)

(9)—(11)式中:Precision表示检测准确率;Recall表示检测召回率;F-measure表示综合评价指标;TP表示检测出且为正确的文本实例的数量;FP表示未被检测出的且为正确的文本实例的数量;FN表示被检测到的错误文本实例的数量。准确率和召回率评价算法性能的2个重要指标,F-measure为2个指标的调和平均数,F-measure的值越大,则认为算法综合性能越好。

3 仿真分析

3.1 不同参数结果对比

1)最小内核比例m的影响。设置内核的目的是将相邻的文本实例更好的分离。最小比例的内核无法覆盖文本实例的完整区域,见图4a,这对后续的检测与识别的任务都有较大的效能影响。直接用较小内核进行预测文本框,会使检测准确率大大降低,同时也使得后续的识别时无法识别出检测框中的文字。因此内核不能用作最终检测结果,需要对内核进行扩展操作生成图4b中的结果。

图4 最小内核与完整内核检测图Fig.4 Infulence of minimum kernel m on detection performance of different data sets

为了评估内核比例对检测结果的影响,实验采取控制变量法,通过固定特征内核数n,采用方式1进行训练,来研究最小内核比例m的影响,并让最小内核比例m从0.1逐步增加到1,在ICDAR2015和CTW1500 2个数据集上评估了模型。最小内核m对不同数据集检测性能的影响见图5,当m的值设置过大或者过小时,均使最终的F-measure的值有不同程度的下降。当设置内核比例为1时,表示仅将文本分割图用作最终结果,即没有使用内核扩展算法,此时的网络无法将彼此靠得很近的文本分开。因此,当m取值较大时,网络很难将彼此靠近的文本实例分开。当m取值较小时,网络则会错误地将部分较长的文本行拆分为不同的部分,使得训练无法很好地收敛。IC15数据集中当m=0.4时,F-measure的值最高为80.89%;在CTW1500数据集中当m=0.6时,F-measure的值最高能达到78.83%。

2)骨干网络深度的影响。大量研究表明更深的神经网络往往可以提高大规模图像分类和目标检测的性能。为了更好地分析骨干网络对其性能的影响,文本采用在ImageNet上预训练好的ResNet作为主干,在ICDAR2015数据集下进行直接训练的方式,用3个不同深度的同类型网络Res-50、Res-101、Res-152进行了测试和对比,结果见表2,在其余参数相同的情况下,将骨干网络深度从50扩展到152可以明显地将性能从80.8%提高到81.7%。

图5 最小内核m对不同数据集检测性能的影响Fig.5 Infulence of minimum kernel m on detection performance of different data sets

3.2 与其他检测方法对比

1)检测曲线文本。为了测试检测曲线文本检测的能力,本文在CTW1500曲线文本数据集上评估了提出的方法。同样使用ResNet50作为骨干网络,在测试阶段,将该数据集图像的长边缩放到1 280。在处理曲线文本时,由于执行了像素级的分类和多尺度内核的扩展,能够取得较好的分割与检测性能。CTW1500数据集的方法对比见表3。因为像素能够向任意方向合并,所以本文算法在处理曲线文本和不规则文本时准确率达到了83.5%,同时F-measure相比TextSnake提高了3.2%,不同数据集上的检测效果图见图6。图6a表明了本文模型能够很好地分离那些闭合文本实例,不仅可以检测弯曲文本实例,还能够检测具有极高的弯曲率的环形文本实例。

表2 骨干网络深度的影响Tab.2 Influence of backbone network depth %

图6 不同数据集上的检测效果图Fig.6 Detection results on different data sets

表3 CTW1500数据集的方法对比Tab.3 Comparison of CTW1500 dataset methods %

2)检测多方向四边形文本。为了评估模型对定向文本的检测能力,本文在IC15的数据集上进行了2种方式的训练,结果见图6b。由于实验证明IC17-MLT中包含大量文本数据和标注,能够更好适应文本检测任务,所以通过方式2训练的模型其F-measure超过方式1训练的模型5%。IC15的数据集有较多复杂难辨的模糊文本。在测试阶段将输入图像的较长边比例缩放到2 240,取得的性能最佳的F值为86.01%,比R2CNN高了3.5%,同时检测的准确率也达到了87.64%,超过R2CNN[18]方法2.04%,其中*表示采用方式2进行训练,具体结果见表4。

3.3 速度分析

由于FPN网络由ResNet为骨干网络构建,因此ResNet的深度则会影响整个模型的检测速度,网络层数越多,需要训练的参数就更多,速度便会下降。内核扩展算法的时间复杂度为O(W×H),其中,W×H是输出图像的大小,此部分的运行速度只与输出图像的尺度有关。

表4 ICDAR2015数据集的方法对比Tab.4 Comparison of ICDAR2015 dataset methods %

不同模型在ICDAR2015数据集上的速度运行对比见表5。“-1”表示输出图像与输入图像大小相等,此时网络模型性能最佳,但由于较大的特征图使得扩展算法需要包含更多像素,需要更多次的迭代,所以其速度会下降。“-4”表示输出图像大小为输入的1/4,此时模型的FPS上升至6.3,性能虽然有小幅度下降,但仍然具有良好的检测性能。表5中,R2CNN模型的精度虽然较高,但是其FPS值最高为仅为2.5,表明本文模型在运行速度方面仍具有一定优势。模型速度测试在1块2080ti GPU上完成,FPS值为测试过程平均速度。

表5 不同模型在ICDAR2015数据集上的速度运行对比Tab.5 Comparison of the running speed of different models on the ICDAR2015 data set

4 结束语

本文提出了一种基于特征金字塔网络和内核扩展网络的深度学习文本检测网络模型,通过构建FPN网络提取具有鲁棒性多级特征分割图,再从多个分割图将检测到的区域从小内核逐渐扩展到完整实例的方式得到最终检测结果,能够轻松地分离距离非常接近的文本实例,而像素级的分类也使其能完成任意形状的文本实例的检测任务。下一步的研究方向应该专注于对于骨干网络的优化,采用一些新型的更加轻量级的网络,同时采取一些特征增强的方法,使得速度能够得到进一步提升,能够达到实时检测的要求。

猜你喜欢

内核实例像素
像素前线之“幻影”2000
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
“像素”仙人掌
微软发布新Edge浏览器预览版下载换装Chrome内核
高像素不是全部
完形填空Ⅱ
完形填空Ⅰ
您的像素,饱和吗?[上]
具备DV解码功能的DVD编码器——数字视频刻录应用的理想选择