ICCV2017《Deep Direct Regression for Multi-Oriented Scene Text Detection》阅读笔记

前言

本文是对《Deep Direct Regression for Multi-Oriented Scene Text Detection》论文的简要介绍和细节分析,由于作者没有放出源码,所以本文没有源码解读的部分,有关的复现工作将在下篇博客介绍。
注:编者水平有限,如有谬误,欢迎指正。若要转载,请注明出处,谢谢。
联系方式:
邮箱:[email protected]
QQ:1156356625


Definition

在论文的摘要和介绍部分,作者重点对现有的目标检测网络进行了定义。这个定义是文章的核心内容,也是后续模型设计的背景。作者认为,对于现有的目标检测网络,可以分为间接回归(Indirect Regression)和直接回归(Direct Regression)两种类型。
间接回归:大多数基于CNN的目标检测模型像RCNN系列、SSD、Multi-Box等,模型的回归任务通过预测proposal和ground truth的偏置完成。
直接回归:跳过proposal部分,直接对某点输出对目标坐标或形状的预测,可以以相对该点的偏置形式输出。
基于间接回归的目标检测模型,即使是Faster-RCNN和SSD这样表现很好的网络,在多角度(Multi-oriented)文本检测任务中也表现得很差。 作者认为,主要原因有如下几点:

  • 缺少鲁棒性好的方法生成词级或者行级的proposal,大部分方法都只能生成字符级别的。
  • 所有类似anchor的结构,在文本倾斜、过长、间隔不定等场景下,都无法得到一个合适的anchor覆盖目标。
  • 自适应的anchor生成方法效率低,速度慢。

至于直接回归,本论文是首个基于此提出文本检测领域本文的模型,从实验结果看在当时该论文确实贡献很大。下图为两种回归的比较示意图:


Proposed Methodology

  • 模型结构
    在这里插入图片描述
    论文中,目标检测被分解成分类任务和回归任务,二者构成一个多任务模型。模型设计中参考了FPN的思想,对不同深度的feature map进行跨层连接,以提高模型对不同大小物体的检测效果。在模型尾端的卷积层后通过两个分支:分类和定位,得到两类任务的loss,二者加权作为模型总loss。模型细节在模型分析与代码复现部分阐述,这里只作简要说明。详情结构:
  • Classification task
    本文的模型其实并没有做文本分类部分,所谓的分类其实是指分割。分类任务的output是 S 4 × S 4 \frac{S}{4} \times \frac{S}{4} ,可以等价为对原图的降采样。损失函数的设计为
    L c l s = 1 S 2 i L c l s m a x ( 0 , s i g n ( 0.5 y i ) ( y ^ i y i ) ) 2 (1) L_{cls} =\frac{1}{S^2}\sum_{i\in{L_{cls}}}max(0,sign(0.5-y_{i}^{*})\cdot(\hat y_i-y_{i}^{*}))^2\tag{1} 其中 y ^ i \hat y_i 是输出部分,将其填充到4倍后,与ground truth逐像素进行运算,二者值域都为{0,1},代表无文本和有文本(classification误导性挺高的)。该loss的运算为hinge loss,除此之外论文还用到了class balancing和hard negative sample mining的方法,有兴趣可以参考原文。
  • Regression task
    回归任务中,输出为 S 4 × S 4 × 8 \frac{S}{4} \times \frac{S}{4} \times 8 ,数字8指预测相对该点,生成的四边形(x,y)坐标的偏置。注意,这里与传统模型的一大不同在于,模型并没有对输出形状进行限制,所以生成的图形为不规则四边形。所以之前讨论的倾斜、长文本等情况,通过这种方法能够得到一个与ground truth有很好overlap的四边形。很直观的,训练会更容易收敛,同时没有anchor的步骤效率也得到了提升。问题在于作者训练中是否运用了很多tricks,这个模型是否好训练是需要验证的。
    在回归任务中,通过Sigmoid之后,通过平移放缩将预测值拉到和真实值一个量级。Scale&Shift公式如下: z ^ = 800 z 400 , z ( 0 , 1 ) (2) \hat z=800 \cdot z - 400, z\in(0,1)\tag{2} 损失函数部分参考了fast rcnn,损失函数:
    L l o c = i L c l s [ y i > 0 ] s m o o t h L 1 ( z i z ^ i ) (3) L_{loc}=\sum _{i\in L_{cls}}[y_i^*>0]\cdot smooth_{L_{1}}(z^*_i-\hat z_i)\tag{3}
    s m o o t h L 1 ( x ) = {   0.5 x 2 i f   x < 1 x 0.5 o t h e r w i s e (4) smooth_{L{1}}(x)= \begin{cases} \ 0.5x^2 & if \ | x| < 1 \\ |x|-0.5 & otherwise \end{cases}\tag{4}
  • Recalled NMS
    将NMS做了点小改动,类似于SSD筛选prior的过程,从作者的实验来看这块对结果提升很小,细节就不赘述了(偷个懒)。

总结

本篇论文可以认为是,目标检测模型在文本检测这一领域的细化与变形。到目前,自然场景的文本检测识别领域的关注点,已经转移到了扭曲、不规则、多尺度的部分,更具有挑战性,后续会继续对这一领域发展进行介绍。


Reference

[1] He W, Zhang X Y, Yin F, et al. Deep Direct Regression for Multi-Oriented Scene Text Detection[J]. 2017.