Rotation-sensitive regression for oriented scene text detection 论文阅读

Rotation-sensitive regression for oriented scene text detection 论文阅读

Reference

M. Liao, Z. Zhu, B. Shi, G. Xia and X. Bai, “Rotation-Sensitive Regression for Oriented Scene Text Detection,” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, 2018, pp. 5909-5918.

正文

摘要

自然图像中的文本是任意方向的,需要有方向性的包围框进行检测。
一个多方向的文本探测器通常包括两个关键任务:
1)文本存在性检测,这是不用考虑方向性的分类性问题
2)有方向的包围框回归,它涉及到文本的方向性。之前的方法依赖于两个任务的共享特征,导致两个任务不兼容导致性能下降

我们建议对不同设计的两个网络分支提取的不同特征进行分类和回归。具体来说,回归分支通过主动旋转卷积滤波器提取旋转敏感特征,分类分支通过汇集旋转敏感特征提取旋转不变性特征。

引言

虽然旋转不变特征可以提高分类的性能,但旋转不变性对于任意方向范围框的回归并不利。这个冲突在较小的横纵比下影响不大,但是当遇到字与字之间没有空格、以行为单位的语言时(如中文),使用旋转不变性会阻碍这种又长又细的定向边框的回归。

主要贡献:
1)我们提出了一个新颖的想法,即在使用旋转不变特征进行分类的同时,使用旋转敏感特征进行回归定向的边界框。这种分离在检测任意定向的细长物体时产生了更准确的回归;
2)提出了一种用于任意面向对象(如场景文本)检测的通用框架。它可以很容易地嵌入到任何现有的检测体系结构中,提高性能而不明显损失速度。
3)本文提出的RRD也是一种高效的面向场景文本检测器,具有同时检测拉丁和非拉丁文本的通用性。

相关工作

  1. 目标检测
    大多数基于CNN的检测器都有一个共同的管道,包括预测目标类别的分类器与精确定位的边界框回归。分类和回归都依赖于共享的平移和旋转不变特征,这是典型CNN架构中涉及的池化层的特点。
  2. 场景文本检测
    场景文本检测主要可分为两类:1)水平文本检测器,通过水平边框检测单词或文本行(受益于一般的物体检测)2)多方向文本检测器,所有现代场景文本检测器的灵感都来自最近基于cnn的通用对象检测器。
  3. 旋转敏感CNN

RRD,旋转敏感回归探测器

核心思想:对每一个默认框,RRD给出一个分类(文本或非文本),并且回归相对偏移量。在这之后,RRD将偏移量作用于被分类为正的默认框,生成许多有得分的矩形。最后使用非极大抑制进行过滤,输出最终结果。
在这里插入图片描述
记一个ARF的标准滤波器为F0 ∈ ℜk×k×N,k是卷积核的大小,N是旋转的个数。
ARF再生成N-1个旋转到不同角度的复制,记为Fj,j=1:N。
令Mi(j)表示输入的特征图(有N张,表示旋转到N个不同的方向,0,…,N-1)
Mo(j)表示输出的特征图(有N张,表示旋转到N个不同的方向,0,…,N-1)
Fi(j)标识第i个滤波器的第j个通道
ARF生成如下特征图:
在这里插入图片描述

也就是对于每一个滤波器Fi,它的N个通道分别与输入的N张图卷积,最后求和生成一张输出特征图。本文中N被设置为8。
N个滤波器最终输出N通道的特征图。N通道特征图,一方面进行特征提取获取文本框的回归结果,另一方面做Oriented response pooling: 按像素进行池化,对于每个像素选取N个通道中最大的值在这里插入图片描述
对N个通道进行合并后进一步获取文本框的分类结果。

需要注意的是,CNN的卷积旋转不变性是来自于MaxPooling实现的局部旋转不变性。而在RSR中,在做完卷积后没有对周围像素的MaxPooling,所以并没有消除卷积带来的旋转敏感特征

默认框与预测:
首先生成许多水平的不同大小和高宽比的矩形。Q0 = (v01,v02,v03,v04), where v0i = (x0i ,y0i),i ∈ {1,2,3,4}。
预测框记为Q =(v1,v2,v3,v4), vi = (xi,yi),i ∈ {1,2,3,4}。对于每个默认框,预测层输出分类得分和偏移量(∆x1,∆y1,∆x2,∆y2,∆x3,∆y3,∆x4,∆y4,c),对于默认框Q0和预测框Q。w0和h0是Q0的宽和高。
在这里插入图片描述
标记可用四顶点的四边形进行标记。
损失函数:分类-2类softmax损失 回归-smooth_L1损失
在这里插入图片描述

补充

文中提到了ARF主动旋转滤波,这里简单介绍一下ARF引用的论文中的内容。
在这里插入图片描述
实际上,ARF像是一个虚拟的滤波组,实际上生成与训练的只有第一个三维卷积核W * W * N,剩下的N-1都是通过将第一个三维卷积核旋转N-1次得来。

第一个标准三位卷积核可以看作是:二维卷积核W*W,但是图上的每一个点代表的是一个N维的方向向量,这个方向向量由该点在N个通道上的值给出。
剩下的N-1个三维卷积核通过坐标旋转与向量方向旋转来给出:

在这里插入图片描述

  1. 坐标旋转
    如果要做θ的旋转,要旋转到Pdst(p,q)的点是Psrc(p‘,q‘)。于是首先要满足:
    在这里插入图片描述
    但是,计算后得到的(p‘,q‘)并不落在原先卷积核的格点上,无法提取到格点的向量值。所以使用(p’,q‘)附近的四个格点做双线性插值得到对应的向量的值:
    在这里插入图片描述
    这样完成了旋转后格点向量值的生成。接下来要对向量进行旋转:
  2. 向量方向旋转
    对于每个格点的向量,旋转之前都会有一个极大方向α,在旋转后这个向量的极大方向会被旋转至α-θ:
    在这里插入图片描述

个人总结

优点: 1)有效性与通用性,可以容易地嵌入到任何现有的检测体系结构中,提高性能而不明显损失速度。 2)减少旋转敏感特征对分类的影响;减少旋转不变特征对回归的影响。对长文本的识别更加准确。 缺点: 1)对于字符间距较大的文本行,无法检测到整个边框 2)文字成段出现时,横纵的划分有问题(比如将两条垂直文本行检测为多条水平文本行) 3)并不能处理弯曲文本问题