一、相关概念和综述:

转自知乎热心网友 燕小花女士的内容,供学习使用,若侵权则删。貌似写于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

人工智能学习--文本检测初探相关推荐

  1. 人工智能学习--文本检测和识别综述(2021)

    文本检测和文本识别可以分成两个部分: 目前的深度学习方案也有很多端到端的系统. 本质也是计算机视觉中的一种物体检测和识别分支: -- 传统方法用手工特征提取检测是否文本区域: 之后通过传统的机器学习方 ...

  2. 人工智能学习--文本检测实践

    注释:文本检测 和 文本识别是两回事. 可能现在已经有 end-to-end的深度神经网络可以将文本检测和识别一起实现,这个要去搜相关的sci论文. 文本检测,是从一张图片中找到文字区域,并用矩形框标 ...

  3. 【每周CV论文】深度学习文本检测与识别入门必读文章

    欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 文本检测和识别是计算机视觉的一个非常重要的应 ...

  4. 人工智能学习--文本识别实践-tesseract-ocr

    前提假设: 1. 所要检测的图片是纯文本或者文字,最好是只有一行: 或者截图只有一行文本的图片.如下图 图片名称: text03.jpg 2. 从文本检测(深度学习网络)软件检测到的 包含文本区域的图 ...

  5. Github:深度学习文本检测识别(OCR)精选资源汇总

    点击我爱计算机视觉标星,更快获取CVML新技术 今天跟大家推荐一个Github项目,来自NAVER Clova AI Research的hwalsuklee同学汇总了近几年的基于深度学习进行文本检测. ...

  6. OCR文本检测模型—Pixel-Anchor

    文章目录 一.文本检测概述 二.Pixel-Anchor 网络详解 2.1.Pixel-Anchor网络结构 2.2.像素级别语义分割模块(Pixel based Module) 2.3.锚检测回归模 ...

  7. 计算机视觉 文本检测与文本识别 (一)

    文本检测 传统文本检测 形态学: MSER+NMS 深度学习文本检测分类 基于候选框的文本检测 基于分割的文本检测 基于混合的文本检测 传统文本检测 当前应用中面对文本检测会遇到很多难点: 文本图像的 ...

  8. 论文翻译:自然场景文本检测与识别综述

    论文翻译:自然场景文本检测与识别综述 引言 介绍 文章回顾 文本检测 文本识别 实验结果 总结和未来工作展望 引言 自然图片的检测和识别是计算机视觉领域的两个主要的问题,在运动视频分析,自动驾驶,工业 ...

  9. 【技术白皮书】第一章:基于深度学习的文本检测与识别的技术背景

    1.技术背景 1.1技术背景--什么是文本检测与识别 OCR全称Optical Character Recognition,即光学字符识别,最早在1929年被德国科学家Tausheck提出,定义为将印 ...

最新文章

  1. servlet中response中文乱码
  2. Oracle-HWM(High Water Mark) 高水位解读
  3. WPF特效-拼图游戏
  4. jenkins上linux-gradle机器对android执行shell签名apk
  5. 带权的活动选择_操作系统 复习要点+习题-2016
  6. mysql 在结果集中随机_MySql从表结果集中随机取一条数据
  7. mplayer error opening/initializing the selected video_out (-vo) device
  8. android 没有gen文件,关于eclipse:对于Android项目,Gen文件夹为空
  9. puTTY、xshell链接Linux
  10. 使用certbot自动续签ssl证书
  11. 110配线架打法图解_110配线架的打线方法图例
  12. Maya快捷键、拆UV、上材质
  13. Matlab:数模13-多元回归分析模型
  14. Java8新特性-Optional,狂神说docker笔记百度云
  15. UILabel添加下划线
  16. Iscrool下拉刷新
  17. COMFORT 尊驾 | 内外兼修 全面进化
  18. [Python爬虫] 5-爬虫进阶(多线程爬虫/动态网页抓取/图形验证码识别)
  19. 快排为什么不稳定 举例说明
  20. 2017中国国际教育装备博览会会刊(参展商名录)

热门文章

  1. QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)
  2. 如何利用抖音私信引流?
  3. 实验习题 Java 1.1
  4. 论互联网公司的盈利能力
  5. python识别图片上的文字_怎么用python识别图片中的文字-百度经验
  6. PyTorch深度学习入门笔记(五)torchvision中DataLoader的使用
  7. 电阻 型号 命名方式 怎么识别
  8. 最优爱Zuiui.com全球优秀WEB站点聚合。
  9. python学习之生成报告
  10. python应届生工资多少_作为一个应届毕业生月薪15K?你哪来的自信?