CTPN论文简介 - 自然场景文本检测

2019-06-28  本文已影响0人  瞎了吗

CTPN - 自然场景文本检测

论文下载链接

摘要

文字目标的特殊性,一个很大的先验是,文字总是水平排列的。文字的特征总感觉体现在edge上。这也是一个限制,只能检测水平方向上的文字。

自然场景文字检测的难点在于:小目标,遮挡,仿射畸变。文中使用VGG16,只使用conv5,可能对小文字的检测效果不好。

文本检测和一般目标检测的不同——文本线是一个sequence(字符、字符的一部分、多字符组成的一个sequence),而不是一般目标检测中只有一个独立的目标。这既是优势,也是难点。优势体现在同一文本线上不同字符可以互相利用上下文,可以用sequence的方法比如RNN来表示。难点体现在要检测出一个完整的文本线,同一文本线上不同字符可能差异大,距离远,要作为一个整体检测出来难度比单个目标更大。

因此,作者认为预测文本的竖直位置(文本bounding box的上下边界)比水平位置(文本bounding box的左右边界)更容易。

Top-down(先检测文本区域,再找出文本线)的文本检测方法比传统的bottom-up的检测方法(先检测字符,再串成文本线)更好。自底向上的方法的缺点在于没有考虑上下文,不够鲁棒,系统需要太多子模块,太复杂且误差逐步积累,性能受限。

文章工作基于faster RCNN , 区别在于

本文亮点

  1. 本文中利用RNN和CNN的无缝结合可以提高检测精度。CNN用来提取深度特征,RNN用来序列的特征识别(2类),二者无缝结合,用在检测上性能更好。

具体的说,作者的基本想法就是去预测文本的竖直方向上的位置,水平方向的位置不预测。因此作者提出了一个vertical anchor的方法。与faster rcnn中的anchor类似,但是不同的是,vertical anchor的宽度都是固定好的了,论文中的大小是16个像素。而高度则从11像素到273像素变化,总共10个anchor.

同时,对于水平的文本行,其中的每一个文本段之间都是有联系的,因此作者采用了CNN+RNN的一种网络结构,检测结果更加鲁棒。RNN和CNN的无缝结合可以提高检测精度。CNN用来提取深度特征,RNN用来序列的特征识别(2类),二者无缝结合,用在检测上性能更好。

  1. 网络结构为RPN,针对文字检测的特点做了一些修改,最重要的有两点

检测过程

整个检测分六步:

在这里插入图片描述

方法细节

  1. Detecting Text in Fine-scale proposals
  1. Recurrent Connectionist Text Proposals
  1. Side-refinement

o=\left(x_{s i d e}-c_{x}^{a}\right) / w^{a}, \quad o^{*}=\left(x_{s i d e}^{*}-c_{x}^{a}\right) / w^{a}

使用side-refinement的效果对比


在这里插入图片描述

训练
对于每一张训练图片,总共抽取128个样本,64正64负,如果正样本不够就用负样本补齐。这个和faster rcnn的做法是一样的。

训练图片都将短边放缩到600像素。

总结

这篇文章的方法最大亮点在于把RNN引入检测问题(以前一般做识别)。文本检测,先用CNN得到深度特征,然后用固定宽度的anchor来检测text proposal(文本线的一部分),并把同一行anchor对应的特征串成序列,输入到RNN中,最后用全连接层来分类或回归,并将正确的text proposal进行合并成文本线。这种把RNN和CNN无缝结合的方法提高了检测精度。

问题

上一篇 下一篇

猜你喜欢

热点阅读