Pixel-Anchor: A Fast Oriented Scene Text Detector with Combined Networks——译文

 

摘要

最近,语义分割和通用目标检测框架被广泛应用于场景文本检测任务中。但是,实际应用中,两者单独使用都有明显的缺点。在本文中,我们提出一种新的可端对端训练的深度神经网络框架,叫做Pixel-Anchor,它通过特征共享和anchor水平的注意力机制将语义分割和SSD组合到一个网络来检测多方向的场景文本。为了处理在尺寸和宽高比变化较大的场景文本,我们在语义分割部分将FPN和ASPP操作组合在一起作为我们的编码-解码结构,在SSD中提出一种新的自适应预测层。Pixel-Anchor在一个单一的网络前向过程中检测场景文本,没有复杂的后处理,只包括一个有效的融合NMS。我们在公共数据集上评测了提出的Pixel-Anchor。Pixel-Anchor在文本定位准确率和运行速度上都优于参赛方法,在ICDAR2015数据上,提出的算法在960*1728分辨率的图片上获得0.8768的F-score和10 FPS。

 

1、引言

近期,随着CNN网络的不断发展,由于在广告过滤、场景理解、产品鉴定、目标检测中的众多应用,检测自然场景中的文本也受到越来越多的关注。但是,由于在尺寸、方向和宽高比上很的变化,同时复杂的图像退化、极端的光照和遮挡,场景文本检测一直具有相当的挑战性。

随着语义分割和通用目标检测技术应用于场景文本检测任务中,也出现了越来越多出色的场景文本检测框架。一般来说,最好的方法可以分类两类,来自语义分割的pixel-based方法和来自通用目标检测的anchor-based方法。用这两种方法检测不同的文本元素,前者是针对像素级别的,后者是针对anchor级别的,再用对应的边界框回归方法组成得到最终的文本区域,如图1所示。不幸的是,两者简单的应用都没有满足我们的要求。基于像素的方法有高的准确率,但是对于小文本由于其大的系数像素级特征导致低的召回率。基于anchor的方法由于anchor级别的特征对文本尺寸没那么敏感,所以有高的召回率,但是它面临“anchor匹配困难”问题,它不能得到和基于像素的方法那样好的高的准确率。此外,存在的方法对于检测跨整张图片的长中文文本都表现不好。

为了解决这些问题,文本中,我们提出一种新的可端对端训练的深度神经网络框架,叫做Pixel-Anchor,它将pixel-based和anchor-based方法的优势组合在了一起。整个框架有两部分,叫做pixel-based模块和anchor-based模块。这两部分共享从ResNet-50中提取的特征。在Pixel-Anchor中,来自pixel-based模块的分割热力图,通过anchor级别的注意力机制提供给anchor-based模块,这提高了anchor-based 方法的准确率。在推理阶段,我们用融合NMS来得到最终的检测结果。明确一点,我们通过anchor裁剪在anchor-based模块仅仅保留小的和长的anchors,同时在pixel-based模块删除小的检测框。最后,我们将保留的检测框,用一个级联NMS来得到最终的检测结果。基于pixel-based模块和anchor-based模块之间的特征共享,Pixel-Anchor的有效性得到了提高。整个网络可以用反向传播和随机梯度下降来进行端对端的训练。

在pixel-based模块,我们将FPN(特征金字塔网络)和ASPP(空洞空间金字塔pooling)操作组合作为我们的语义分割的编码-解码结构。在1/16特征图上进行ASPP操作时一种得到更大感受野的低代价方式。在anchor-based模块,我们使用SSD作为基础网络,提出一个自适应预测层(APL)来更好的检测尺寸宽高比都变化很大的场景文本。ALP对于调整网络的感受野来适应文本的shape是有效的。为了检测横跨图片的长文本行,我们进一步提出了在APL中的长anchors和anchor密度。

为了展示我们提出的Pixel-Anchor框架的有效性,我们在两个竞赛基准数据集进行了大量实验,包括ICDAR 2015和ICDAR 2017 MLT,Pixel-Anchor在文本定位准确率和运行速度都优于其他方法。

本文的主要贡献如下:

我们介绍了Pixel-Anchor,一个一步多方向文本检测器,通过特征共享、anchor级别的注意力机制和融合NMS,组合了pixel-based方法和anchor-based方法的优点。

我们针对SSD提出了APL来更好的检测像在尺寸和宽高比都变化很大的场景文本这样的目标。尤其,APL对横跨图像的长文本行检测很有效。

这些特征使得训练简单可端对端,并且更好的平衡了速度和准确率。尤其在低分辨率的输入图像,我们的方法仍可以给出好的效果。

 

 

2、相关工作

2.1 基于像素的方法

文本的笔画特征是明显的,所以从背景中将文本像素分割出来是容易的。基于像素的方法是直接从文本像素来预测文本边界框的。

在文本像素分割阶段,用一个典型的编解码网络来预测每个像素点是文本/非文本,这在语义分割任务中广泛应用。流行的基于像素的方法,EAST、Pixel-Link和PSENet用FPN作为编解码模块。在FPN中,构建一个U型的结构来保留高的空间分辨率和语义信息。

在文本框预测阶段,EAST在每个实际的文本像素预测一个文本框,然后用区域敏感NMS来获得最后的检测结果。基于EAST的一点修改,FOTS在公共数据集上获得非常有竞争性的结果。EAST和FOTS都是有效且准确的,但是,由于用它们处理文本实例的最大尺寸依赖网络的感受野,在检测哪些跨整个图像的非常长的文本时,EAST和FOTS表现不好。Pixel-Link和PSENet通过将邻近本文像素连接到一起来获得文本实例。像素连接方法克服了感受野受限的问题,所以它可以检测非常长的文本行。但是,像素连接方法要求一个很复杂的后处理,这易受背景干扰。

为了提高有效性,语义分割方法通常在1/4或者甚至更小的特征map上预测前景/背景分数map。为了辨别非常紧密的文本实例,基于像素的方法通常用“shrunk polugons”来对齐gt文本标签,如图2所示。通过给收缩四边形分配文本标签,使得紧密的文本实例A和B可以容易区分。

 

 

 

值得注意的时PSENet用改进的尺度收缩多边形来生成gt文本标签。因为gt标签被收缩了很多,所以对于基于像素的方法,输入图像需要保留高的分辨率来检测小的文本以及区分相邻的小文本,这在时间上时相对高的消耗。

 

2.2 基于anchor的方法

Anchor的概念最初来自Faster-RCNN,它时一个两步的通用目标检测框架。首先,它用anchors生成proposals(最优的默认boxes)。第二,描述proposals的深度特征通过ROI pooling从feature map提取,基于深度特征回归相对于anchors的目标位移代替了直接预测bounding boxes。基于anchor的边界框回归应用于很多流行的通用目标检测框架中,例如YOLO和SSD。SSD生成一个层级的特征金字塔,在每个特征图上放置不同尺寸的anchors。在所有基于anchor的方法中,SSD在速度和精度上有很好的平衡,广发应用于场景文本检测。

 

Textboxes和Textboxes++修改了SSD来检测自然场景文本。Textboxes提出三个特殊的设计来调整SSD网络来有效的检测水平场景文本。一、增加了更大的宽高比的anchors来更好的适应文本框的shape。特别的,Textboxes将anchors的宽高比设置为1,2,3,5,7,10。二、增加了anchors的密度通过在垂直方向偏移anchors来检测密集的文本。三、采用了1*5的卷积滤波器来替代标准的3*3。1*5的卷积滤波器生成矩形感受野,这更好的使用大的宽高比的字符。基于Textboxes,Textboxes++扩大默认boxes的宽高比到1,2,3,5,1/2,1/3,1/5,同时用3*5的卷积滤波器来检测多方向的文本。

Textboxes++在公共数据集上已经获得很好的结果,但是处理密集大角度的文本失败。Textboxes++用水平矩形作为anchors,至于两个紧邻的大角度文本实例,哪个文本应该匹配该anchor是难决定的。我们称这种现象为“Anchor Matching Dilemma”,如图3所示。这种现象阻止了网络在检测密集大角度文本时表现好。

为了克服上边的问题,DMPNet和RRPN用带有不同方向的四边形anchors来检测多方向文本。但是,它很大的怎加了anchors的数量。在这些方法中,计算两个任意四边形的交集时很耗时的,尤其anchor数量很大的时候(一个十万的数量级)。

除“Anchor Matching Dilemma”anchor匹配困境之外,Textboxes++也受到感受野的限制。1*5和3*5的卷积滤波器的感受野对于检测跨整幅图的文本行仍然不够,尽管anchors的宽高比已经扩大至1:10,它仍然不能匹配宽高比通常超过1:30的长文本行。

和基于像素点的方法对比,基于anchor的方法直接学习anchor级别的抽象特征来描述文本实例,不是像素级的线条特征像基于像素的方法那样。Anchor级别的抽象特征不得不面对更多的多样性,结果就是,通常由更多的false positives。但是从anchor级别抽象特征,基于anchor的方法对文本的尺寸更加鲁棒,对于检测小的文本是有效的。根据我们的实验,当使用小图时,基于anchor的方法通常比基于像素的方法有更高的召回率。

 

 

3、Pixel-Anchor

我们在这部分描述我们针对场景文本检测的Pixel-Anchor框架。

 

3.1 Overall Architecture 整体结构

我们框架的概览如图4所示。我们通过特征共享和anchor级别的注意力机制将基于像素级的方法和基于anchor级别的方法组合在一个网络中。ResNet-50用来作为特征提取器主干。ResNet-50在分类前输出stride是32.对于在pixel-based模块中的语义分割任务,针对更密集的特征提取,通过删除最后一个res-block的strinding,应用空洞卷积(rate=2)替换,将输出stride设置为16。从ResNet-50主干网络中提取1/4、1/8、和1/16的特征图,在pixel-based模块和anchor-based模块共享。在pixel-based模块的分割热力图,根据anchor级别的注意力机制提供给anchor-based模块。在inference阶段,没有复杂的后处理,除了包括一个有效的融合NMS。

 

3.2 pixel-based模块

大多数pixel-based的文本检测器如EAST和Pixel-Link用FPN作为编码-解码模块。为了增加我们网络的感受野,我们将FPN和ASPP操作组合在一起作为我们的编码-解码结构,同时修改了ASPP的膨胀率,用{3, 6, 9, 12, 15, 18}替换了DeepLabv3+中的{6, 12, 18}来获得更好的感受野。在解码阶段,编码特征首先用因子为2倍双线性插值进行上采样,然后和来自网络主干的相应低一级的特征拼接concat。解码特征图同时保留了高的空间分辨率以及语义信息。pixel-based模块概览如图5所示。

 

和FPN模块对比,ASPP操作更简单且更有效。这是一种低代价的方式来增加网络的感受野,因为它的大多数操作都是在1/16特征图上进行的。所以网络在保持高的有效性的同时拥有更大的感受野。

pixel-based模块的输出包括两部分:旋转box和注意力热力图。旋转box(RBox)预测器包括6个通道类似于EAST。第一个channel计算每个像素是一个文本的可能性,接下来的4个channels预测到包含这个像素的文本边界框的上下左右的距离,最后一个channel预测文本边界框的方向。attention heat map包括一个通道表示每个像素是文本的可能性,将提供到anchor-based模块。

对于RBox预测器,为了区分非常近的文本实例,采用了“shrunk polygon”方法来对齐ground truth文本标签,类似于FOTS。紧紧原始文本区域的收缩部分被当作是真正的文本区域,同时在边界框和收缩多边形之间的区域是被忽略的。对于attention heat map,不采用“shrunk polygon”方法,所有的原始文本区域都被认为是真是的文本区域。

我们在计算像素分类loss的时候采用了在线难分类样本挖掘(OHEM)。对于每张图,512个难分类负样本非文本像素点,512个随机负样本非文本像素点,和所有的正样本文本像素点被选择来进行分类训练。ΩRBoxΩheatmap分别表示在RBox预测器和attention heat map中用于分类训练所选的像素集合,像素分类的loss函数可以表示为:

这里| • |表示在几何中正样本文本像素点的数量,H(pi, pi*)表示第i个像素的预测标签pi和它的ground truth标签pi*的交叉熵loss。

我们在计算文本边界框回归loss时也应用了OHEM,和FOTS相同。我们从每张图中选择了128个hard positive text pixels 和128 个random positive text pixels用来回归训练。用Ωloc来表示用来文本框回归训练所选的像素集合,文本框回归的loss函数可表示为:

第一部分IoU(Ri, Ri*)是第i个像素的预测文本边界框Ri,和它的ground truth Ri*之间的IoU loss,第二部分是预测的角度θi和ground truth的角度θi*的角度loss,λθ是平衡IoU loss和angle loss的一个权值,在我们的实验中设为10。Npos是正样本文本像素点的个数。

所以,对于pixel-based模块,它的loss可以表示为:

这里αp是平衡分类loss和定位loss的权值,在我们的实验中设为1.0

 

3.3 anchor-based模块

在anchor-based模块中,我们修改了SSD框架来检测在尺寸和宽高比都有很大变化的场景文本。我们的anchor-based模块如图6所示。

来自Resnet-50的1/4和1/6特征图作为backbone,这是和pixel-based模块共享的。1/32、1/64、1/64、1/64特征图是通过全卷积操作增加在1/16特征图后边。六个特征图表示为

{feat1, feat2, feat3, feat4, feat5, feat6}。为了避免生成太小的特征图,最后两个特征图的分辨率保持不变,同时对应的rate=2的空洞卷积被使用。1/4特征图替换了在原始SSD中的1/8的特征图来增强网络检测小文本的能力。在feat1上,用了来自pixel-based模块attention heat map的注意力监督信息。attention heat map先进行exponential操作,然后和feat1点乘。用exponential操作,使每个像素成为正样本文本的概率映射到[1.0,e]范围内,因此可以保留背景信息,同时加强了检测信息。以这种方式可以减少小文本的False positive检测。

进一步,我们提出了“Adaptive Predictor Layer” (APL),用来加在每个特征图后边来获得最终的文本box预测。在APL中,anchors是根据它们的宽高比分组的,在每个组中用不同的卷积滤波器。明确的,anchors被分为5类:

a)、正方形anchors:宽高比=1:1,卷积滤波器大小为3*3.

b)、中等水平anchors:宽高比={1:2,1:3,1:5,1:7},卷积滤波器大小为3*5.

c)、中等垂直anchors:宽高比={2:1,3:1,5:1,7:1},卷积滤波器大小为5*3.

d)、长的水平anchors:宽高比={1:15,1:25,1:35},卷积滤波器大小为1*n.

e)、长的垂直anchors:宽高比={15:1,25:1,35:1},卷积滤波器大小为n*1.

对于长的anchors,参数n在每个feature map上是不同的,依赖于被检测的文本行的长度。对于feat1,我们在APL中修建长anchors部分,从feat2到feat6,n分别设为{33,29,15,15,15}。通过使用APL,卷积滤波器的感受野可以更好的使用不同宽高比的单词。

 

此外,为了检测密集文本,我们提出了一个命名为“anchor density”,如图7所示。

基于anchor密度,每个anchor复制出一些偏移量来更好得覆盖密集文本。在Textboxes++中,anchors只在垂直方向复制一次。在我们的框架中,正方形anchor在水平和垂直方向都进行复制,水平anchor在垂直方向复制,垂直anchor在水平方向复制。Anchor密度分别在每个feature map中确定。在我们的实验中,对于中等anchors,从feat1到feat6,anchor密度是{1,2,3,4,3,2},对于长anchor,从feat2到feat6,anchor密度是{4,4,6,4,3}。

Ground truth标签对应策略和基于anchor的模块的loss函数都和Textboxes++中的相似。任意方向的文本用四边形表示,四边形的最小外接矩形用来匹配anchors。明确的,最高IoU值大于0.5的anchor对应于gt文本四边形(正样本文本anchors),最高IoU小于0.5的是背景(负文本anchors)。

anchor-based模块的输出和TextBoxes++是一样的:对于每个anchor,9通道的预测向量。第一个channel是每个anchor是正样本文本四边形的概率,接下来的8个channels是预测相对于anchor预测的文本四边形的坐标偏移量。

我们采用OHEM来计算分类loss,设负正样本的比例为3:1。Ωa表示用于分类训练的anchor集合(负样本和正样本),分类loss表示如下:

这里| • |是在这个集合中正样本的数量,H(pi, pi*)表示第i个anchor标签预测值pi和它的gt标签值pi*之间的交叉熵。

相对于anchors的预测文本四边形坐标偏移量的回归loss如公式:

这里pos(Ωa) 是Ωa的正样本部分, SL(li, li*)表示对于第i个anchor,预测偏移坐标li和ground truth li*之间的smooth L1 loss。

因此,对于anchor-based模块,loss可以表示为:

αa是平衡分类loss和定位loss的权值,在我们的实验中为了快速收敛设为了0.2。

 

 

3.4 Training and inference

在训练阶段,整个网络是用adam优化器来端对端训练的,模型的loss可以表示为:

αall是平衡pixel-based loss和anchor-based loss的权值,在我们的实验中设为3。对于数据增强,我们统一从图片中裁剪640*640的样本来形成大小为32的mini-batch。在ImageNet数据集训练的模型作为我们的预训练模型。SynthText数据集包括800k合成的文本图像,用来预训练我们的模型,然后在每个基准数据集继续训练对应的图像。对于每个数据集,在第一阶段训练时,初始lr设置为0.0001,然后在第二阶段训练减到0.00001。

在推理阶段,我们提出融合NMS来获得最终的检测结果。我们用anchor-based模块检测小文本和长文本,用pixel-based模块检测中等大小的文本。在anchor-based模块的APL中,对anchors进行修剪。1/4特征图上的所有anchors(在3.3部分中提到的类别a、b和c)和在其他特征图上的所有长anchors(在3.3部分中提到的类别d和e)都被保留下来。因为在1/4特征图上的anchors(一般都是小尺寸的)通常没有足够的空间来包含两个大角度的文本实例,同时长的anchors仅仅可以匹配小角度的文本实例,这样“Anchor Matching Dilemma”就会更少发生。在pixel-based模块,当文本框的MBR的最小尺寸小于10个像素,MBR的宽高比不在[1:15,15:1]范围内,我们过滤掉该预测结果。最终,我们收集所有保留的候选文本框,然后用一个类似于TextBoxes++的级联NMS来获得最终的检测结果。首先在预测文本四边形的最小外接矩形上使用一个相对高的IOU阈值(如0.5)的NMS。在MBRS上的这个操作更小的耗时同时删除大部分候选框。然后用比较耗时的NMS在文本四边形上,用比较低的IOU阈值(如0.2)来保留候选框。因为来自anchor-based模块和pixel-based模块的候选文本框存在重叠,我们将anchor-based模块检测出的文本框的分数加1,当执行NMS时,那些文本框有更高的优先级。

 

 

4、实验

我们首先用公共数据集SynthText和我们自己的数据集来得到模型的特征,然后在两个具有挑战性的公共基准来评估我们的方法:ICDAR 2015 和ICDAR 2017 MLT。

 

4.1 检测小场景文本的能力

为了说明在检测小文本上我们的方法的性能优于pixel-based方法,我们在SynthText 数据集上进行实验。在训练和推理中,图片的分辨率都被resize到384*384,保留高宽比,pad短边。我们随机选择4k张图作为验证集,在表1中比较Pixel-Anchor、pixel-based方法和anchor-based方法。Pixel-Anchor在F-meature上胜过pixel-based方法和anchor-based方法。anchor-based方法有高的召回率,因为它在检测小文本上表现优异。图8显示了两个方法的检测细节。利用小的anchors,对于小的文本Pixel-Anchor可以预测更准确的位置。anchor-based方法没有pixel-based方法的精度高,但是通过组合anchor-based模块和pixel-based模块,Pixel-Anchor可以同时保留高的准确率和高的召回率。

 

4.2 检测密集大角度文本的能力

我们对比了Pixel-Anchor和anchor-based方法在检测密集大角度文本上的性能,如图9所示。单独anchor-based方法在检测密集区域的大角度文本上,由于anchor匹配困难,导致表现很差。

 

4.3 检测长文本行的能力

为了说明我们提出的APL可以有效的检测长文本行,我二门用我们的海报数据集测试了Pixel-Anchor,该数据集包括大量长的横跨图片的中文文本行。我们收集标定了5000张图,选择4000张作为训练集,1000张作为验证集。在海报数据集中,对于768*768分辨率的图片,我们获得0.88的F-measure。如图10所示,Pixel-Anchor在检测密集长的中文文本行上表现很好。对于如Pixel-Link和CTPN方法,在检测长文本行上用APL效果显著。在提到的方法中,预测的像素或分割块之间的连接需要在之后用复杂的后处理来将像素或分割块组合在一起。在我们的方法中,我们仅仅在后处理中用了简单的NMS,这比连接方法更具有鲁棒性。和pixel-based方法进行对比,Pixel-Anchor在检测小的、密集的以及长的文本行上都表现很好,而pixel-based方法倾向于将两个紧邻的文本行识别为一个。

4.4 在公共数据集上评估

Pixel-Anchor在两个具有挑战性的基准数据上进行评估,ICDAR 2015 和ICDAR 2017 MLT,在文本定位准确率和运行速度方面都由于参赛的方法。一些检测结果如图11所示。为了公平对比,在两个数据集上仅仅记录了单一尺寸的结果。

ICDAR 2015是ICDAR 2015 Robust Reading Competition中第4个挑战,通常用于多方向场景文本检测。这个数据集包括1000张训练图片和500张测试图片。因为这些图片是Google 眼镜捕获的没有关注位置,所以这些文本是任意方向的。在ICDAR 2015数据集中一些模糊不清的文本区域被标定为“DO NOT CARE”,在训练中我们忽略它们。

如表2所示,我们的方法在ICDAR 2015上获得一个有竞争力的结果,在一块Nvidia Titan X GPU上,对于分辨率为960*1728的图片,我们的算法得到0.8768的F-score,10FPS。有识别分支的FOTS表现比我们的方法好一点点。但是它用了文本识别监督来帮助网络在检测中表现更好。如果仅仅单一尺度不考虑识别的帮助的结果,就我们所知,我们的结果0.8768在文献公布结果中最好的。和其他方法比较,我们的方法得到一个更高的召回率。

ICDAR 2017 MLT 是一个很大的多语种文本数据集,包括7200张训练图片,1800张验证图片和9000张测试图片。该数据集由具有挑战性的场景图片组成,图片包括9中语言,在数据集中的文本区域可以是任意方向的,导致更高的多样性和难度。

如表3所示,在ICDAR 2017 MLT数据集上,我们的方法在1152*1152分辨率的图片上获得0.681的F-score。在表3中,PSENet由于不同的原理机制表现优于我们的方法。该模型将输入图片的长边resize到3200,使用pixel-linking后处理没有对感受野的限制。对于多尺度结果,我们的方法也在文献中位列第一。输出是:准确率83.9,召回率65.8,F-score73.76。

 

5、 总结

在本文中,我们提出一种新的可端对端训练的深度神经网络框架,叫做Pixel-Anchor,它通过特征共享和anchor水平的注意力机制将语义分割和SSD组合到一个网络来检测多方向的场景文本。我们的方法组合了anchor-based方法没有pixel-based方法的优势,避免了它们的缺点。在Pixel-Anchor的anchor-based模块,我们提出了针对SSD的APL来更好的检测那些宽高比变化较大的目标如场景文本。有了APL,小文本的密集区块和长文本行都可以更有效的检测出来。在公共数据集上的性能说明我们的方法对于场景文本检测的有效性和鲁棒性。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值