文献: Wenhao He, Xu-Yao Zhang, Fei Yin, Cheng-Lin Liu. Deep Direct Regression for Multi-Oriented Scene Text Detection[J]. arXiv preprint arXiv:1703.08289v1.
本文将目前的检测方法归类为以下两种:直接回归和间接回归。间接回归指通过预测bounding box proposals的offsets进行的检测方法,如faster-rcnn,ssd等;直接回归指通过一个给定的点预测它的offsets得到边界的检测方法。本文提出了一种基于直接回归的自然场景下的多方向文本检测算法。
-网络结构
-Groundtruth和Loss函数
-Post Processing
-实验设置
本文的检测系统如下图所示,主要包括四个部分:特征提取,特征融合,多任务学习以及后处理。
1. 网络结构
检测系统的前三个部分组成了文章的网络结构。
1)特征提取:在多个卷积层进行特征提取,增加了最大感受野的范围。确保回归任务可以检测出更长的文本,同时提高边界预测的准确度。
2)特征融合:从多个尺度的feature map上提取特征,再进行融合。为了减少计算量,文章仅将融合特征map上采样至原图像尺寸的1/4,具体见下图所示(在原论文图基础上做了尺寸的标注)。
3)多任务学习:主要有两个任务的学习,分类任务和回归任务。分类任务的输出
Mcls
是一个大小为
S4×S4
的2维张量,用来预测是否为文本,张量内的元素分数越高是文本的可能性就越大;回归任务的输出
Mloc
是一个大小为
S4×S4×8
的3维张量,
Mloc
中位置
(w,h,c)
的值
L(w,h,c)
表示原始图像中点
(4w,4h)
到文本bounding box的4个顶点的offsets。所以,四边形
B(w,h)
的计算公式如下:
B(w,h)={L(w,h,2n−1)+4w,L(w,h,2n)+4h|n∈{1,2,3,4}}
结合两个任务,即得到
S4×S4
的map中每一个点对应的原始图像中的四边形及分数。
2. Groundtruth和Loss函数
整体多任务的loss函数公式如下:
L=Lcls+λloc⋅Lloc
其中
Lcls
和
Lloc
分别代表分类任务和回归任务的loss函数,
λloc
用来控制两个loss的平衡。
1)classification task:分类任务的groundtruth基于每一个像素进行标注,距离文本中心线
r
以内的像素记为positive,在靠近positive区域的边界记为not care,其他区域记为negative。参数
r
是文本高度的比例,文中设置为0.2。loss函数定义为:
Lcls=1S2∑i∈Lclsmax(0,sign(0.5−y∗i)⋅(y^i−y∗i))2
文中采用hard negative mining来筛选训练样本。
2)regression task:回归任务的groundtruth值在一个范围内变化,文中采用一个
Scale&Shift 模块实现快速收敛,具体网络结构见上图。
Scale&Shift 通过以下公式将输入
z
转换成
z^
:
z^=800⋅z−400. z∈(0,1)
由公式所示,设定正样本的尺寸小于400。设一个已知点的groundtruth为
z∗i
,预测值为
z^i
,loss函数定义为:
Lloc=∑i∈Lloc[y∗i>0]⋅smoothL1(z∗i−z^i)
smoothL1(x)={0.5x2|x|−0.5if|x|<1,otherwise.
3. Post Processing
output map上的每一个点都对应了一个有分数的四边形,通过分类任务过滤掉分数低的点,仍然会有多个点对应的四边形有重叠,即结果有冗余。故再采用一种后处理算法解决这个问题。文中提出一种后处理方法叫做Recalled Non-Maximum Suppression(Recalled NMS)。
对于一个检测结果,字符间的紧密程度与分数有关,我们既希望踢除掉那些包含了文本间间隙的检测结果,又希望保留那些字符间间隙较大但属于同一文本的检测结果,而Recalled NMS可以在这两个目标中取得一个平衡。传统的NMS方法,简单的说,就是对于有相交的就选取其中置信度最高的一个作为最后结果,对于没相交的就直接保留下来,作为最后结果,本文的方法如下图所示:1)按传统的方法先从有大量overlap的四边形集合
B
中得到抑制后的
Bsup
;2)
Bsup
中的每一个四边形用
B
中的一个overlap大于某一阈值且分数最高的一个四边形代替,这样包含了文本间空隙的四边形将会被踢除;3)经过上一步,可能又会得到一个有密集overlap的四边形集合,此时不采用原本的抑制方法,而是将
Bsup
中距离接近的四边形进行融合。
4. 实验设置
- 训练样本在原始图片进行旋转后裁切,旋转角度在
0,π/2,π
,or
3π/2
,大小为320
×
320
-
λloc
设置为[0.01,0.5]
- 先学习分类任务,再学习回归任务
- 测试阶段,采用一个多尺度sliding window,window的尺寸为320
×
320,步长为160
- 分类任务中判断一个像素是否为text的阈值为0.7
- 后处理阶段,IoU设置为0.5
- 训练数据:ICDAR2013和ICDAR2015,以及网络上下载的200个负样本
- 测试数据:ICDAR2013, ICDAR2015 Incidental Scene Text和MSRA-TD500