人工智能学习--文本检测初探

一、相关概念和综述:

转自知乎热心网友 燕小花女士的内容,供学习使用,若侵权则删。貌似写于2018年12月,之后这几年的流行方法更新,自行搜索sci顶刊和会议论文。

 https://zhuanlan.zhihu.com/p/52335619

文本检测的难点

  • 背景多样化.自然场景下,文本行的背景可以为任意,同时还会受一些结构相近的背景影响(如栅栏)
  • 文本行形状和方向的多样化.如水平、垂直、倾斜、曲线等
  • 文本行颜色、字体、尺度的多样化
  • 不同程度的透视变换
  • 恶劣的光照条件和不同程度的遮挡

基于传统特征的古典方法:

文本检测流程

基于深度学习的流行方法:

目前文本检测领域的深度学习方法主要包括:基于候选框的文本检测(Proposal-based)、基于分割的文本检测(Segmentation-based)、基于两者方法混合的文本检测(Hybrid-based)、其它方法的文本检测.对于基于候选框的文本检测,其基本思路是先利用若干个default boxes(也称anchor)产生大量的候选文本框,再经过NMS得到最终的检测结果.对于基于分割的文本检测,其基本思路是通过分割网络结构进行像素级别的语义分割,再基于分割的结果构建文本行.

二、流行方法概述(貌似参考了很多计算机视觉物体识别或目标检测的很多深度学习网络框架和模型

基于候选框的文本检测(Proposal-based)

基于候选框的文本检测,最经典的就是基于Faster-RCNN、SSD、RFCN.

基于Faster RCNN的文本检测

  • LSPR
    该文章的主要思想是在传统two-stage目标检测框架的基础上,增加了水平7个维度和竖直7个维度的各2个点的回归,减少网络计算量的同时加入了回归点的先验知识,实现任意形状的文本检测.在构建最终的文本行时,可以根据文本行长边与滑动线的点集(也可以根据两个方向所有的点集,一般用普通四边形)进行构建.

  • FFST(特征融合)
    使用原生的Fast-RCNN框架做文本检测可能存在的问题:原生RPN是基于单阶段的特征图生成候选框,这里本质就忽略了文本行的尺度.本文的思想很简单,直接在Fast-RCNN的基础上进行改进:即在RPN阶段和Fast-RCNN阶段使用特征融合,目的是解决文本检测中文本行尺度多样化问题.对于RPN阶段:融合了stage-3,stage-4层的特征;对于R-CNN阶段:融合了stage-3,stage-4,stage-5三层的特征.注意:这里特征图融合采用的是add操作(也可以使用concat操作代替),add操作可以加速收敛和提高准确率.本文的方法主要用于解决小尺度和大尺度的文本检测

  • RRPN
    RRPN沿用了Faster-rcnn中的RPN的思想(即使用其来生成候选区域),并在此基础上进行了改进,提出了基于旋转候选网络区域(RRPN).整个网络结构和Faster-rcnn非常相似,RRPN也是分成并行两路:一路用于预测类别,另一路用于回归旋转矩形框.RRPN模块主要是用于生成带倾斜角的候选区域,该层输出包括候选框的类别和旋转矩形框的回归;再通过RRoI层(它扮演的是最大池化层的作用)将RRPN生成的候选框映射到特征图上,得到最终的文本行检测结果.

  • R2CNN
    R2CNN也是在Fast-RCNN基础上进行改进的,其大体思路是先通过RPN产生不同方向文本的轴对齐矩形框,然后对RoI进行三种不同尺度池化,并将结果进行concatenated,最终得到文本分类、轴对齐(  )、倾斜box(  )

基于SSD的文本检测

  • SegLink
    SegLink是在SSD目标检测方法的基础上进行改进,其基本思想:既然一次性检测整个文本行比较困难,就先检测局部片段,然后通过规则将所有的片段进行连接,得到最终的文本行,这样做的好处是可以检测任意长度的文本行.该方法提出了文本行检测的两个基本组成元素:segment和link;通过改进的网络同时预测不同尺度的segments和link;根据不同的link(层内连接(within-layer link)和跨层连接(cross-layer link))得到最终的文本行

  • TextBoxes
    TextBoxes是在SSD的基础上进行改进的.相比SSD做了以下的改进:1).修改了default box的apect ratio,分别为[1 2 3 5 7 10],目的是适应文本行长度比较长,宽度比较短的特性;2).提出了text-box层,修改classifier卷积核的大小为这样做的目的是更适合文本行的检测,避免引入非文本噪声;3).提出了端到端的训练框架,并通过增加文本识别来提高文本行检测的效果

  • TextBoxes++
    TextBoxes++是TextBoxes的扩展版,同样也是SSD的改进版,具体做了一下改进:1).修改最后的回归边框,将TextBoxes的水平边框改成普通四边形(quadrilaterals)或旋转矩形(rbox);2).修改了default box的aspect ratio(  );3).修改了网络结构中的部分参数,具体为:1).将TextBoxes中的最后的全局平均池化层(global average pooling layer)改成卷积层;2).修改Text-box layer中的卷积核大小 

  • RRD
    RRD也是基于SSD的一个改进版本,其基本思想就是摒弃了先前目标检测中分类和回归共享特征图的方式,而是采用相互独立的方式(即分类基于旋转不变性的特征图,回归采用的是位置敏感的特征图).本文的方法可以嵌入到任何已存在的目标检测框架中,并可以在提升精度的前提下不大大增加运算时间,可用于检测多方向文本

基于RFCN的文本检测

  • FEN
    FEN本质上是在R-FCN基础上的改进,与原生的R-FCN不同的是增加了特征融合、positive mining策略、自适应权重的位置敏感Roi层.主要贡献如下:1).提出了FEN网络结构(Feature Enhence Network),对高维度和低维度的语义特征进行融合,提高文本检测的准确率和召回率.用于解决采用只利用3×3的滑动窗口特征和利用高维度的特征对目标检测窗口进行精修的不足;2).提出了自适应权重的位置敏感Roi池化层,进一步提升文本检测的准确率.用于解决通用目标检测只利用单一权重的位置敏感Roi池化层;3)).提出了正样本挖掘策略(positive mining strategy),解决文本检测精修阶段的正负样本不均衡的问题

其它

  • CTPN
    文本检测的难点在于文本的长度是不固定,可以是很长的文本,也可以是很短的文本.如果采用通用目标检测的方法,将会面临一个问题:如何生成好的text proposal.针对上述问题,作者提出了一个vertical anchor的方法,具体的做法是只预测文本的竖直方向上的位置,水平方向的位置不预测。与faster rcnn中的anchor类似,但是不同的是,vertical anchor的宽度都是固定好的了,论文中的大小是16个像素。而高度则从11像素到273像素(每次除以0.7)变化,总共10个anchor,用于检测小尺度文本.接着采用RNN循环网络将检测的小尺度文本进行连接,得到文本行.

基于分割的文本检测(Segmentation-based)

基于Mask RCNN的文本检测

  • SPCNet
    SPCNet是在Mask RCNN上进行改进的,增加了文本上下文模块(TCM模块)和Re-score机制.引入文本上下文信息模块的目的是解决False positive,它包括两部分:金字塔注意力模块(PAM)和金字塔特征融合模块(PFM).针对文本得分(Re-score)进行了重新设计,即融合得分:分类得分(CS)和实例得分(IS).

  • MaskTextSpotter
    整个网络结构沿用了Mask RCNN,包括四个组件:1).特征提取主干网络,采用的是ResNet+FPN;2).候选区域生成RPN;3).Fast RCNN回归边框;4).mask分支,用于文本实例分割和字符分割;相比原生的Mask RCNN,MaskTextSpotter的创新点在于修改了mask分支的输出,使其包含全局文本实例分割和字符分割.
    在训练阶段,RPN先生成大量的文本候选框,接着将候选框的RoI特征分别送入Fast RCNN分支和mask分支,用于生成准确的文本候选框和文本实例分割图及字符分割图;
    在测试阶段,先使用Fast RCNN分支生成文本候选框(因为相比于RPN,它的输出更为精确),然后再将其送入到mask分支生成文本实例分割图和字符分割图

基于FCN的文本检测

  • TextSnake
    本文的主要贡献就是提出了一种更加灵活的文本行表征方式(TextSnake),可以很好地表征任意形状的文本行.它主要是通过一个个有序重叠的disk串联组成,每个disk由圆心(对应的文本行区域的中心)、半径、方向来表征.文本行的表征属性(圆心、半径、方向)有FCN来估计出.先使用FCN基础网络预测文本行中心线(TCL)得分图、文本行区域(TR)的得分图、几何属性(  );然后用TR的map图去掩膜TCL的map图,得到mask TCL特征图;最后借助并查集(disjoint set)执行实例分割。Striding Algorithm 用于提取中心轴点,并最终重建文本实例。

基于FCIS的文本检测

  • PixelLink
    PixelLink放弃了边框回归的思想,采用实例分割的方法,分割出文本行区域,然后直接找对应文本行的外接矩形框.论文中给出了两种网络结构:PixelLink+VGG16 2s和PixelLink+VGG16 4s
    对于PixelLink+VGG16 2s网络结构:其融合的特征层包括:{conv2_2, conv3_3, conv4_3, conv5_3, fc_7},得到的特征图分辨率为原图的二分之一
    对于PixelLink+VGG16 4s网络结构:其融合的特征层包括:{conv3_3,conv4_3, conv5_3, fc_7},得到的特征图分辨率为原图的四分之一
    整个实现过程包括两部分:先通过深度学习网络预测pixel positive和link positive,并根据link positive连接pixel positive得到文本实例分割图,然后从分割图中直接提取文本行的bbox

  • PSENet
    形状鲁棒性文本检测存在以下挑战:1).现有的文本检测是基于四边形或旋转矩形,很难将任意形状的文本(特别是形状文本)进行包闭操作;2).大多数基于像素分割的方法不能很好地区分非常邻近的文本实例.针对上述问题,PSENet提出了基于分割的单文本实例多预测的方法,它是一种基于语义分割的方法用于检测任意方向的文本,采用了前向渐进式尺度扩展的方法用来区分邻近的文本实例.PSENet沿用了特征金字塔网络结构(简称FPN),并在此基础上增加了特征融合和渐进式尺度扩展的方式来实现自然场景中文本行的检测,可以用于检测非常相近的两个文本行

  • InceptText
    InceptText来自阿里团队,是在FCIS的基础上进行改进的,具体如下:1).提出Inception-Text module来解决多方向场景文本检测,通过增加少量计算量来极大地提升准确率;2).在标准的PSROI池化模型的基础上,提出可变形的PSROI池化模型,用于解决多方向文本检测

  • FTSN
    FTSN实际上是FCIS和FPN的一个组合,它是基于实例感知分割的端到端可训练的多方向文本检测,去除中间冗余的步骤;在特征提取阶段,通过融合不同层的特征图来自适应生成更好的文本特征表征;后处理阶段,采用了Mask-NMS用于处理倾斜文本框的去重,得到最终的文本行

基于混合的文本检测(Hybird-based)

  • EAST
    EAST思想非常简单,结合了DenseBox和Unet网络中的特性,具体流程如下:1).先用一个通用的网络(论文中采用的是Pvanet,实际在使用的时候可以采用VGG16,Resnet等)作为base net ,用于特征提取;2).基于上述主干特征提取网络,抽取不同level的feature map,这样可以得到不同尺度的特征图.目的是解决文本行尺度变换剧烈的问题,ealy stage可用于预测小的文本行,late-stage可用于预测大的文本行;3).特征合并层,将抽取的特征进行merge.这里合并的规则采用了U-net的方法,合并规则:从特征提取网络的顶部特征按照相应的规则向下进行合并,这里描述可能不太好理解,具体参见下述的网络结构图;4).网络输出层,包含文本得分和文本形状.根据不同文本形状(可分为RBOX和QUAD),输出也各不相同

  • 角定位和区域分割的文本检测
    该文融合了检测和分割的思路,使用default box的思路去回归到角点(corner point),然后对角点进行采样和群组,获取候选框,然后通过旋转位置敏感分割图得到score,然后滤除得分低的box,得到最终的文本检测.通过结合目标检测和目标分割,扬长避短,实现不定向的文本行检测

  • FTDN
    基于focal loss的文本检测(简称FTDN),它是基于FCN,在对分割文本行的同时进行像素级的文本行边框回归,将目标检测中的focal loss应用到文本检测的分割任务中,实现正负样本比例不平衡、难易样本的区分难的问题;提出了端到端的基于像素级的分割和回归任务相合并的文本检测框架,去除了额外的后处理操作

基于其它方法的文本检测

  • ITN
    ITN是一种新的实例转换网络(Instance Transformation Network),它使用网内变换嵌入的方法学习几何感知编码,从而实现一次通过的文本检测.具体的关键idea如下:1).提出了几何感知用于表征表征文本行的独特几何结构,实现一次性通过的文本检测;2).提出了网内变换嵌入模块,用于产生自然场景文本行的自适应表征;3).提出了端到端的ITN(实例转换网络),可以用于检测多尺度、多方向、多语言的文本行,且不需要复杂的后处理步骤

各模型在ICDAR2015数据集上的测试结果

这里评判的标准不一样:如单尺度还是多尺度、尺度大小等等,这里整理出来的指标仅供参考

https://zhuanlan.zhihu.com/p/52335619

https://zhuanlan.zhihu.com/p/71506131?utm_source=ZHShareTargetIDMore

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值