目录
原文地址:https://zhuanlan.zhihu.com/p/39717302
论文地址:Arbitrary-Oriented Scene Text Detection via Rotation Proposals
代码地址:https://github.com/mjq11302010044/RRPN
自然场景文本检测存在的困难:光照不均,模糊,透视畸变,文本不定向等等.针对不定向的文本检测,通过基于深度学习的分割算法来实现文本检测,但是这种方法需要复杂的后处理.针对上述存在的不足,本文提出了基于旋转候选框实现任意方向的场景文本检测,简称RRPN,其思想沿用的是目标检测中的RPN,在其基础上增加了旋转信息.
1. 论文关键idea
- 与先前基于分割的框架不同,本文提出了基于候选框的不定向文本检测,使得候选框可以更好地适应文本区域,可以更好地修正长文本区域
- 本文将新提出的RROI池化层和旋转候选框的学习加入到基于候选框区域的结构当中,与传统的基于分割的文本检测框架相比,确保了文本检测的计算效率
- 本文提出了任意方向选择候选框的新的修正方法(refinement),以提高任意文本检测的性能。
- 本文的方法在三个数据集(MSRA-TD500, ICDAR2013,ICDAR2015)进行了测试,发现它比以前的方法准确而且更有效
2. Pipeline
RRPN沿用了Faster-rcnn中的RPN的思想(即使用其来生成候选区域),并在此基础上进行了改进,提出了基于旋转候选网络区域(RRPN).整个网络结构和Faster-rcnn非常相似,RRPN也是分成并行两路:一路用于预测类别,另一路用于回归旋转矩形框.具体步骤如下:
- 前端使用VGG16作为特征提取主干网络
- 中间采用RRPN主要是用于生成带倾斜角的候选区域,该层输出包括候选框的类别和旋转矩形框的回归
- 通过RRoI层(它扮演的是最大池化层的作用)将RRPN生成的候选框映射到特征图上,得到最终的文本行检测结果
具体的网络结构图如下:
3. 具体实现细节
3.1 旋转矩形框的表示
3.2 旋转anchor
3.3 旋转anchor与水平anchor用于检测文本行的区别
为什么说基于旋转候选框的文本行检测效果更好.让我们来看看基于水平候选框和基于旋转候选框的文本行检测结果:
从上图中可以看出,水平anchor在检测倾斜文本行的时候并不能很好地包络(即包络了很对非文本区域);而旋转anchor可以很好地包络倾斜文本,当然对于曲线文本,水平anchor和旋转anchor效果都不尽人意
3.4 旋转矩形候选框的学习
3.5 准确候选框的修正
- 倾斜IOU的计算
由于本文使用的是倾斜的候选框,所以基于水平候选框的IOU计算方法不再适应,因此本提出了倾斜IOU的计算方法,其主要思路就是将两个矩形框相交的点和矩形框内的点,然后将这些点集进行顺时针排序,使用三角形剖分法计算IOU.具体的算法步骤如下:
- 倾斜NMS
3.6 RROI池化层
4. 在ICDAR2015上的测试结果
5. 总结
- 本文基于Faster-RCNN框架的RPN的改进的,提出了RRPN,使其适应任意方向的文本行检测
- 与CTPN相比,RRPN采用的是旋转anchor,用于检测任意方向的文本行;而CTPN采用的是垂直anchor,用于检测水平方向的文本
- 与TextBoxes++相比,同样采用的是旋转矩形框实现任意方向的文本行检测,但是其表示方法不一样;对于RRPN,其旋转矩形框是用 表示,而TextBoxes++的旋转矩形框用 表示