作者丨燕小花

研究方向丨计算机视觉

CRAFT

论文主要思想

本文的主要思路是先检测单个字符(character region score)及字符间的连接关系(affinity score),然后根据字符间的连接关系确定最终的文本行,简称 CRAFT。

其网络结构与 EAST 的网络结构相似:特征提取主干网络部分采用的是 VGG-16 with batch normalization;特征 decode 模块与 U-Net 相似,也是采用自顶向下的特征聚合方式;网络最终输出两个通道特征图,即 region score map 和 affinity score map,具体的网络结构图如下:

对于训练标签生成,与以往分割图(以二值化的方式离散标记每个像素的 label)的生成方式不同,本文采用高斯热度图来生成 region score 和 affinity score。文中说采用高斯热度图的好处是它能很好地处理没有严格包围的边界区域。

对于 character region score 标签生成,由于对 bbox 中的每个像素计算高斯分布值比较耗时,本文结合透视变换,采用了近似估计的方法来生成标签,具体步骤如下:a). 准备一个二维的高斯图;b). 计算高斯图区域和每个文字框的透视变换;c). 将高斯图变换到文字框区域。

而对于 character affinity score 标签生成,先画出每个字符框的对角线;再取每个文本对角线的上下两个三角形的中心点,将紧挨着的两个文本框中的中心点相连,得到 affinity score(即下图中的红色框)。

这样的标签生成可以使模型在较小感受野的情况下,也可以有效地检测很大很长的文本实例,同时使得模型只关注单个字符与字符间的联系,不需要关注整个文本行。

CRAFT 可以用于处理任意方向文本、 曲线文本、 畸变文本等。该方法具有如下特性:

1. 对尺度变换具有较好地鲁棒性,本文都是基于单尺度图像进行实验的

2. 本文模型不能适用与粘连的语言,如 Bangla and Arabic characters;

3. 相比于端到端的文本检测方法,该方法在训练的时候也借助了文本长度(因为在训练过程中对于合成样本可以很好地进行单个字符的标注,但是对于现有的文本数据库,其标注方式基本是基于文本行的,所以文中通过借助文本行长度来进行弱监督训练);

4. 泛化能力较强。

LOMO

论文主要思想

受限与 CNN 的感受野的及文本行的表征方式(bbox 或四边形),长文本行与曲线文本的检测仍存在极大的挑战。针对此,本文提出了 LOMO (Look More Than Once),它由三部分组成:直接回归模块(DR)、迭代修正模块(IRM)、形状表征模块(SEM)。

首先由直接回归模块产生粗略的四边形表征的候选文本框;接着在提取的特征图上通过迭代修正得到完整的长文本行的四边形表征;最后通过结合文本行区域、文本行中心线及文本行边界偏移得到最终的文本行。具体的框架图如下:

对于直接回归模块,文中参考了 EAST,这里就不详细解释了。对于迭代修正模块(IRM),使用了 RoI transform 层来提取四边形文本行的特征块,之所以没有使用 RoI Pooling 或 RoI Align,是因为:

1. RoI transform 在提取四边形文本行对应的特征块时,保持宽高比不变;

2. 在相同感受野的情况下,文本行的四个角点可以为文本行的边界提供更加精确的信息。

因此在回归四个角点的时候,本文引入了角点注意力机制。对于形状表征模块(SEM),回归了文本行的三种几何属性:文本行区域、文本行中心线及文本行边界偏移。

其中文本行区域是一个二值 mask,文字区域用 1 表示,背景区域用 0 表示;文本行中心线也是一个二值 mask,它是文本行多边形标注的一个向内收缩的版本(具体看 EAST);边界偏移是 4 通道的 feature map。

对于文本行多边形生成,具体步骤如下:

1. 文本中心线采样:文中采用了 n 个等间距的方式对文本行中心线进行采样。对于曲线文本(多边形标注的),n=7;对于其它数据集(四边形标注的,如ICDAR2015,ICDAR2017 等),n=2;

2. 边界点生成:基于已采样的文本中心线,结合相同位置的 4 个角点的偏移 maps,得到文本行的边界点,然后顺时针连接这些角点,就可以得到文本行的完整表征;

3. 多边形得分:文中将多边形区域内的文本行响应均值作为最终的文本行得分。

 图中黄色表示ground truth;蓝色框是DR模块的输出;绿色框是IRM模块的输出;红色框是SEM模块的输出。


LSAE

论文主要思想

本文的主要思想是将文本检测当做一种实例分割,采用了基于分割框架来进行检测。具体的做法是将每个文本行看成一个连通区域,为了更好地区分不同文本实例(即挨得很近的文本或者是很大很长的文本),本文提出了将图像像素映射到嵌入特征空间中,在该空间中,属于同一文本实例的像素会更加接近彼此,反之不同文本实例的像素将会远离彼此。

特征提取主干网络采用的是 ResNet-50,接着使用两个对称的特征融合模块(即两个对称的特征金字塔,这里合并的策略与 PANet 中的自适应特征池化相似),一个用于后续的嵌入分支(Embedding branch),另一个用于后续的分割分支(文本行前景图,包括全文本行前景图和向内收缩后的文本行前景图)。

通过权重共享,使得两个任务优势互补。网络输出包括嵌入特征图和文本行前景掩膜图,然后经过后处理得到最终的预测文本行。总体网络结构如下图:

为什么要使用嵌入形状感知?1)相比与通用的目标检测,文本检测更难根据边界确定两个挨的很近的文本实例;2)文本行的宽高比变化太大,如从单个文字到整个文本行。

文中针对该分支提出了 Shape-Aware Loss损失函数,它包括两部分的损失:方差损失和距离损失,该损失函数用于区分嵌入特征空间中的不同文本实例。具体的计算公式如下:

对于最终文本行的构建:论文中通过结合嵌入特征图,Full Map,Center Map 三种特征图来进行聚类,得到最终的文本行。

具体的聚类步骤如下:首先使用 DBSCAN 聚类算法得到两个聚类集合:Full Map 的和 Center Map 的;接着对在 Full Map 内 Center Map 外的像素进行簇类划分,这里划分的规则是根据嵌入空间中当前像素的嵌入距离到每个簇类平均嵌入距离,若小于指定的阈值,则该像素归于当前簇类;反之,亦然。接着通过上述递归,得到新的簇类集合,然后对每个簇类集合采用最小外接矩形框最为最终的文本行检测框。

为什么不直接在嵌入空间中使用聚类?直接使用嵌入空间进行聚类,并不能很好地区分不同的文本实例。

PSENet

论文主要思想

形状鲁棒性文本检测存在以下挑战:1)现有的文本检测是基于四边形或旋转矩形,很难将任意形状的文本(特别是形状文本)进行包闭操作;2)大多数基于像素分割的方法不能很好地区分非常邻近的文本实例。

针对上述问题,本论文提出了基于语义分割的单文本实例多预测方法(简称 PSENet),它采用了前向渐进式尺度扩展的方法用来区分邻近的文本实例,可用于检测任意方向的文本。

PSENet 沿用了特征金字塔网络结构(简称 FPN),并在此基础上增加了特征融合和渐进式尺度扩展的方式来实现自然场景中文本行的检测。具体步骤如下:

1. 先沿用 FPN 中的网络结构作为特征提取主干网络,提取 4 个 feature maps(低维度和高维度特征连接在一起),分别为 P2, P3, P4, P5;

2. 将上述提取的特征进行融合得到 F,F 中包含了不同感受野的信息,对应融合操作为:

融合后 F 的通道数为 256×4 = 1024 ;

3. 将融合后的 F 送入 Conv3-BN-ReLu 层(得到 256 个通道),然后再经过 Conv1-Up-Sigmoid 层产生 n 个分支,生成不同的分割结果,分别为 S1, S2…. Sn,其中 S1 表示最小的尺度,并依次递增。每个 Si 表示在某个特定尺度的所有文本实例的分割掩膜图;

4. 使用渐进式尺度扩展的方式逐渐扩展 S1 中每个文本行实例的 kernels,直到 Sn,得到最终的检测结果。具体的网络结构如下:

渐进式尺度扩展的具体步骤(该步骤是结合下述示例图来进行阐述的):

1. 给定网络的输出集合 S1, S2…Sn,对于最小尺度 S1,包含 4 个明显的 connected components 为 C = (c1, c2, c3, c4),用于初始化;通过对当前 S1 求连通域,并结合对应的源图像,得到不同颜色的文字块(就是论文中说的 kernels),这里用不同的颜色表示不同的文本行实例,这样就获得了每个文本行实例的中心部分;

2. 通过渐进式尺度扩展方法(文中采用的是广度优先搜索算法)依次合并 S2,S3,….Sn,直到网络的输出集合全部合并完毕;

3. 提取图像中不同颜色的区域,得到最终的文本行。渐进式尺度扩展的步骤示例图如下:

关于训练标签生成,因为 PSENet 输出的包含了不同尺度的分割结果 S1, S2, …Sn,要想生成这些不同“kernels”的分割图就必须生成对训练的 ground truths。

在实际操作中,可以通过 shrinking 操作来生成对应的 ground truths label。如下图所示:蓝色多边形是原始标注的文本行的 ground truths,它对应的是最大的掩膜图。

为了生成其它不同的kernels”,这里通过图像多边形裁剪算法(Vatti clipping algorithm)来每次向内收缩 di 个像素得到对应收缩后的 pi(具体计算公式详见论文)。注意这里收缩是在 mask 操作上进行的,所以所有的 ground truths 都是二值图像。

检测结果如下:

PMTD

本文是商汤和香港中文大学联合发表并于 2019.03.28 挂在 arXiv 上,本文的方法在 ICDAR2017 MIT 数据集上,相比于之前最高的精确率提升了 5.83% 百分点,达到 80.13%;在 ICDAR2015 数据集上,提升了 1.34% 个百分点,达到 89.33%。

论文主要思想

本文提出了 Pyramid Mask 文本检测器,简称 PMTD。它主要做了如下工作:

1. 提出了软语义分割的训练数据标签。与现有的基于 Mask RCNN 方法(文本区域内的像素标签为 0 或 1)不同,本文针对文本区域和背景区域提出了软语义分割(soft semantic segmentation),文本行区域内的像素标签值范围在 0-1 之间,不同位置的像素标签值是由其当前位置到文本边界框的距离决定的,这样做的好处是可以考虑训练数据的形状和位置信息,同时可以一定程度上缓解文本边界区域的一些背景干扰;

2. 提出通过平面聚类的方法构建最终的文本行。通过像素坐标及对应像素点的得分构建 3D 点集合,然后通过金字塔平面聚类的迭代方法得到最终的文本行。

文中做了两个实验:baseline 和 PMTD。baseline 是基于 Mask RCNN 的,主干提取特征网络采用的是 ResNet50,网络结构采用了 FPN。相比原生的 Mask RCNN,做了 3 方面修改:1)数据增广;2)RPN anchor;3)OHEM。具体的修改细节详见论文。

那么 baseline 存在什么问题呢?

1. 没有考虑普通文本一般是四边形,仅按照像素进行分类,丢失了与形状相关的信息;

2. 将文本行的四边形的标定转换为像素级别的 groundtruth 会造成 groundtruth 不准的问题;

3. 在 Mask R-CNN 中是先得到检测的框,然后对框内的物体进行分割,如果框的位置不准确,这样会导致分割出来的结果也不会准确。

PMTD 是针对 baseline 中存在的问题提出的改进,主要包括:

1. 网络结构的改进:PMTD 采用了更大的感受野来获取更高的准确率,为了获取更大的感受野,本文通过改变 mask 分支,将该分支中的前 4 个卷积层改成步长为 2 的空洞卷积,因为反卷积操作会带来棋盘效应,所以这里采用双线性采样+卷积层来替换反卷积层;

2. 对于训练标签生成部分,使用了金字塔标签生成,具体做法是:文本行的中心点为金字塔的顶点(score=1),文本行的边为金字塔的底边,对金字塔的每个面中应该包含哪些像素点采用双线性插值的方法。

那么如何得到最终的文本行呢?文中使用了平面聚类的方法,用于迭代回归从已学习到的 soft text mask 寻找最佳的文本行的边界框。在具体操作时,可以看成与金字塔标签生成的反过程。

点击以下标题查看更多往期内容:

  • CVPR 2019 | 基于池化技术的显著性目标检测

  • CVPR 2019 | 实体零售场景下密集商品的精确探测

  • CVPR 2019 | STGAN: 人脸高精度属性编辑模型

  • CVPR 2019 | 天秤座R-CNN:全面平衡的目标检测

  • CVPR 2019 | 基于高清表示网络的人体姿态估计

  • 免费中文深度学习全书:理论详解加代码分析

  • 目标检测小tricks之样本不均衡处理

  • 小米拍照黑科技:基于NAS的图像超分辨率算法

#投 稿 通 道#

让你的论文被更多人看到

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢? 答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 |阅读原文 | 访问作者专栏

论文盘点:CVPR 2019 - 文本检测专题相关推荐

  1. CVPR 2019 | 文本检测算法PSENet解读与开源实现

    点击我爱计算机视觉标星,更快获取CVML新技术 作者:刘恒 编辑:CV君 PSENet文本检测算法来自论文<Shape Robust Text Detection with Progressiv ...

  2. CVPR 2019 目标检测论文汇总

    CVPR 2019 目标检测论文汇总(0506更新中)极市平台​已认证的官方帐号84 人赞同了该文章前段时间,计算机视觉顶会CVPR 2019 公布了接收结果,极市也对此做了相关报道 ,目前官方公布了 ...

  3. CVPR 2019 | 目标检测之面向更高精度的包围框回归

    CVPR 2019 | 目标检测之面向更高精度的包围框回归 背景介绍 主要内容 包围框参数化 用于包围框回归的KL loss 测试阶段的方差投票机制 实验分析 实验细节: 实验结果: 总结 参考文献 ...

  4. 商汤科技62篇论文入选CVPR 2019!多个竞赛项目夺冠!

    点击我爱计算机视觉标星,更快获取CVML新技术 心心念念,人工智能从业者翘首以盼的CVPR 2019终于来了! 作为与ICCV.ECCV并称为计算机视觉领域三大国际会议之一,本届CVPR大会共收到52 ...

  5. 【论文】医学影像 | Elastic Boundary Projection for 3D Medical Image Segmentation 论文汇报 (CVPR 2019)

    医学影像 | Elastic Boundary Projection for 3D Medical Image Segmentation 论文汇报 (CVPR 2019) 原创 联系邮箱:xiangc ...

  6. 盘点CVPR 2019影响力最大的20篇论文

    CVPR 2019 已经过去一年了,本文盘点其中影响力最大的 20 篇论文,这里的影响力以谷歌学术上显示的论文的引用量排序,截止时间为2020年7月22日. 其中的一些结论蛮有意思的: 1. 这 20 ...

  7. 时隔一年,盘点CVPR 2019影响力最大的20篇论文

    CVPR 2019 已经过去一年了,本文盘点其中影响力最大的 20 篇论文,这里的影响力以谷歌学术上显示的论文的引用量排序,截止时间为2020年7月22日. 其中的一些结论蛮有意思的: 1. 这 20 ...

  8. 17篇论文入选CVPR 2019,百度AI都在关注什么?(附论文地址)

    整理 | 阿司匹林 出品 | AI科技大本营(公众号id:rgznai100) 计算机视觉和模式识别大会CVPR 2019即将于6月在美国长滩召开,作为人工智能领域计算机视觉方向的重要学术会议,CVP ...

  9. pse文本行检测_CVPR 2019 | 文本检测算法PSENet解读与开源实现

    作者:刘恒 编辑:CV君 PSENet文本检测算法来自论文<Shape Robust Text Detection with Progressive Scale Expansion Networ ...

最新文章

  1. 看漫画学python 豆瓣_漫画,小莉要学Python后端,看大牛是怎么教她的!
  2. 2019年山西计算机二级报名入口,2019年下半年山西省计算机二级考试教程:Web程序设计...
  3. xtrabackup全量备份+binlog基于时间点恢复
  4. mysql临时表的使用实例_MySQL中临时表的使用示例
  5. 单元测试之带你搞懂Mockito使用
  6. Windows跟Linux的不同处理
  7. Spring MVC请求处理流程分析
  8. 代码实现 | 方程组的实现
  9. Shiro 详细教程(集各教程内容为一体)
  10. 安装NET Framework 错误代码0x800F081F怎么解决
  11. 人工智能学习笔记:基本遗传算法及其改进算法
  12. Unity2019.4—AnroidStudio—AndroidX接入SDK详细版
  13. html5支持.9.png,javascript-当Alpha透明时,HTML5 Canvas转换为PNG会将所有通道归零
  14. 携程到底有没有大数据杀熟?!
  15. Ethercat学习-从站源码移植
  16. 小米java暑期实习面经-普通二本,研究生985机会大吗?
  17. 细思极恐!家中电视机正在监视所有联网设备
  18. 【漏洞复现】MS17-010漏洞(永恒之蓝)复现
  19. 如何使用Java来发送企业邮箱,并设计收到邮件的样式
  20. UWB地铁隧道人员定位实现运营人员健康智能监测

热门文章

  1. FFmpeg在Linux下编译使用
  2. |Vijos|图论最短路|P1046 观光旅游
  3. Android 光线传感器的调用
  4. PhotoshopCS6-视觉特效插画技法-15-磨砂金属效果分析
  5. java toolkit invoker_有没有哪位老哥愿意帮一下新人啊
  6. js 只准输入数字_js验证如何限制文本框只能输入数字
  7. python创建多个txt文件-python-在目录中创建多个文本文件的字数字...
  8. android子视图无菜单,Android 菜单详解
  9. android.mk编译动态库,安卓之Android.mk多文件以及动态库编译
  10. 前段react技术架构图_基于 React 的可视化编辑平台实践