文本检测是深度学习中一项很是重要的应用,在前面的文章中已经介绍过了不少文本检测的方法,包括CTPN(详见文章:大话文本检测经典模型CTPN)、SegLink(详见文章:大话文本检测经典模型SegLink)、EAST(详见文章:大话文本检测经典模型EAST)、PixelLink(详见文章:大话文本检测经典模型PixelLink),这些文本检测方法主要分为两类,一类是基于像素级别的图像语义分割方法(pixel-based),另外一类是采用通用目标检测(使用锚点)的方法(anchor-based),这两种方法的优劣以下:算法
pixel-based、anchor-based方法示意图以下:
那么有没有将pixel-based和anchor-based两种方法的优势结合在一块儿的检测方法呢?
答案是有的,这就是本文要介绍的端到端深度学习文本检测方法 Pixel-Anchor微信
一、Pixel-Anchor网络结构
Pixel-Anchor的网络结构以下图所示:
该网络采用ResNet-50做为网络的主干结构(ResNet网络的介绍详见文章:大话CNN经典模型ResNet),提取出1/4, 1/8, 1/16的feature map(特征图)出来,做为像素级别语义分割模块(Pixel based Module)和锚检测回归模块(Anchor based Module)的基础特征,经过特征共享的方式把像素级别语义分割和锚检测回归放入到一个网络之中,其中,pixel-based模块获得的输出结果经过注意力机制送入到anchor-based模块中(注意力机制的介绍详见文章:大话注意力机制),使得锚检测回归模块检测效率高、精确度高,最后经过融合NMS(非极大值抑制)获得最终的检测结果。
下面分别对像素级别语义分割模块(Pixel based Module)和锚检测回归模块(Anchor based Module)进行介绍。网络
二、像素级别语义分割模块(Pixel based Module)
该模块的结构以下:
该结构将FPN(特征金字塔网络)、ASPP(Atrous Spatial Pyramid Pooling,膨胀空间金字塔池化)操做组合在一块儿进行特征提取和处理。
输入图像首先通过ResNet-50主干网络分别提取出1/4, 1/8, 1/16的feature map(特征图)造成特征金字塔。在1/16的feature map(特征图)中,为了既不牺牲特征空间分辨率,又可扩大特征感觉野,采用了ASPP(Atrous Spatial Pyramid Pooling,膨胀空间金字塔池化)方法,这是一种低代价(low cost)的增长网络感觉野的方法。那什么是ASPP方法呢?
ASPP是利用Atrous Convolution(膨胀卷积),将不一样扩张率的扩张卷积特征结合到一块儿(如取最大值),以下图:
在这个pixel-based模块中设置ASPP的膨胀率为{3, 6, 9, 12, 15, 18}。接着做一次卷积操做(Conv),再用因子为2倍的双线性插值进行上采样(Upsample),特征图变为1/8,并和来自网络主干的1/8特征图进行拼接(concat)。接下来重复一次,先作卷积(Conv),再进行上采样(Upsample),特征图变为1/4,并和来自网络主干的1/4特征图进行拼接(concat)。最后输出两部分:旋转框预测器(RBox predictor)和注意力热力图(attention heat map)。框架
三、锚检测回归模块(Anchor based Module)
该模块的结构以下图:
先看该图的右半部分,该模块主要是针对输入图像在ResNet-50中提取的1/4特征图、1/16特征图进行操做。分布式
APL层(adaptive predictor layer,自适应预测层),见上图的左半部分,该层分别为不一样的卷积核搭配不一样的宽高比锚,以适应不一样尺度、不一样角度的文本。主要分为如下5类:函数
通过以上APL层以后,将获得的proposal(候选框)进行拼接,从而预测最终的四边形区域。oop
为了实现对密集文本的检测,做者还提出了anchor density(锚密度),以下图:
每一个anchor(锚点)经过复制出一些偏移量以更好地覆盖密度文本,主要有:学习
四、后处理
在推导阶段,采用融合NMS(非极大值抑制)方法得到最终的检测结果,用anchor-based模块检测小文本和长文本,用pixel-based模块检测中等大小的文本。在anchor-based模块,1/4特征图上的全部anchor(锚点)和在其它特征图上的全部长anchor(锚点)都会被保留下来,这些anchors足够覆盖小文本,而对于长文本、大角度文本,不具备检测能力;在pixel-based模块,将小于10像素,以及宽高比不在[1:15, 15:1]范围内的文字过滤掉。最终,收集全部保留的候选文本框,经过融合NMS方法得到最终的检测结果。测试
五、Pixel-Anchor检测效果
Pixel-Anchor在小文本、大角度文本、长文本行,以及天然场景文本检测中,均取得了比较好的效果,以下图:
(1)小文本检测效果
(2)大角度文本检测效果
(3)长文本行检测效果
(4)天然场景文本检测效果(基于ICDAR 2015)
经在ICDAR 2015数据集上进行测试,并与CTPN、SegLink、EAST、Pixel-Link等方法进行对比,Pixel-Anchor方法的检测效果很是不错,以下表:大数据
六、总结
Pixel-Anchor做为一个端对端的深度神经网络框架,对各类尺度、角度的文本均有很不错的检测效果,主要有两大创新点:
欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多信息
推荐相关阅读
一、AI 实战系列
二、大话深度学习系列
三、图解 AI 系列
四、AI 杂谈
五、大数据超详细系列