快速论文解读|ECCV2016|Detecting Text in Natural Image with Connectionist Text Proposal Network
1、背景描述
目前文本检测的方法大多采用自底向上的流程,它们通常从低级别字符或笔画开始检测,并跟随一些后续步骤:非文成分过滤,文本行构建和文本行验证。这些自底向上的多步骤方法的缺点是复杂且鲁棒性和可靠性较差。在通用目标检测中,每个目标都有一个明确的封闭边界,而在文本中可能不存在这样一个明确定义的边界,文本行或单词是由许多单独的字符或笔划组成的。因此,很难将这些通用目标检测系统直接应用于场景文本检测。
2、本文方法
为了解决上述问题,本文提出一种新颖的连接文本候选框网络(CTPN),它能够准确定位自然图像中的文本行。CTPN直接在卷积特征中映射原图上一系列文本候选框来检测文本行。作者设计了一个垂直锚点机制,联合预测每个固定宽度候选框的位置和文本/非文本分数,大大提高了定位精度。序列候选框通过循环神经网络自然地连接起来,该网络无缝地结合到卷积网络中,从而形成端到端的可训练模型。CTPN可以探索丰富的图像上下文信息,使其能够检测极其模糊的文本。CTPN在多尺度和多语言文本上可靠的工作,而不需要进一步的后处理,脱离了以前的自底向上需要多步后过滤的方法。
2.1 网络框架
2.2 网络解读
CTPN的细节:它包括检测文本,文本候选框回归和边缘细化。如图1中(a)本文采用VGG16模型最后一个卷积映射(conv5)上密集地滑动3×3空间窗口。每行的序列窗口通过BLSTM循环连接,其中每个窗口的卷积特征(3×3×C)被用作256维的BLSTM的输入。RNN层连接到512维的全连接层。输出层分别预测k个锚点的文本/非文本分数,y轴坐标和边缘调整偏移。图1中(b)CTPN输出连续的固定宽度文本候选框,每个框的颜色表示文本/非文本分数。接下来对部分关键算法解读。
2.2.1 检测文本的anchor
Faster RCNN中提出了一种有效的锚点回归机制,允许RPN使用单尺度窗口检测多尺度目标。关键是单个窗口能够通过使用多个锚点来预测各种尺度和长宽比的目标。作者希望将这种有效的锚点机制扩展到文本检测任务中。
区别:实质上文本与普通目标不同,它们通常具有明确的封闭边界和中心,可以从它的一部分推断整个目标。文本是一个没有明显封闭边界的序列。它可能包含多层次的组件,如笔划,字符,单词,文本行和文本区域等,这些组件之间没有明确区分。文本检测是在单词或文本行级别中定义的,通过将其定义为单个目标(例如检测单词的一部分)可能很容易被误检。因此,很难直接预测文本行或单词的位置。如图2所示,其中RPN直接被训练用于定位图像中文本行效果。
垂直anchor设计的动机:作者观察到RPN很难准确预测单词的水平边,因为单词中的每个字符都是孤立的或分离的,这使得定位单词的开始和结束位置很困难。作者认为固定每个候选框的水平位置来预测其垂直位置会更准确,水平位置更难预测。与预测4个坐标的RPN相比,这减少了搜索空间。作者设计了垂直锚点机制,可以同时预测每个候选框的文本/非文本分数和y轴的位置。
anchor设置细节:为此,作者设计如下的连接文本候选框算法。通过设计k个垂直锚点来预测每个候选框的y坐标。在水平方向上,为了保证anchor覆盖原图每个像素点且不重叠,本文设置了具有相同水平位置的k个锚点,宽度固定为16个像素。在垂直方向上,为了覆盖差异较大的文本框,anchor的高度在输入图像中从11个像素变化到283个像素(每次除以0.7)。
注意:conv5的 特征图的宽高都是输入Image的宽高的1/16。也就是特征图上的一个点代表着原图16个像素。
明确的垂直坐标是通过候选边界框的高度和y轴中心来度量的。作者计算相对于锚点的边界框位置的相对预测的垂直坐标(v),如下公式所示:
其中, ( v h , v h ) (v_h,v_h) (vh,vh)和 ( v c ∗ , v h ∗ ) (v^∗_c,v^∗_h) (vc∗,vh∗)分别是相对预测坐标和实际坐标。 c y a c^a_y cya和 h a h^a ha是锚盒的中心(y轴)和高度,可以从输入图像预先计算。 c y c_y cy和 h h h是预测目标中心点(y轴)和目标的高,因此,如图1(b)和图2(右)所示,每个预测文本提议都有一个大小为h×16的边界框(在输入图像中)。一般来说,文本候选框在很大程度上要比它的有效感受野228×228要小。
2.2.2 RNN在本文检测效果
如图3所示,作者将文本行分成一系列的文本候选框,并分别预测每个文本候选框。显然,将每个孤立的候选框独立考虑并不鲁棒,一方面会导致与文本模式类似非文本目标的误检,另一方面会丢弃一些弱文本信息。
2.2.3 边缘细化
文本检测和RNN连接预测垂直方向的精确位置。在水平方向上,图像被分成一系列相等宽度为16个像素的候选框。如图4所示,当两个水平边的文本候选框没有完全被实际文本行区域覆盖,或者某些边的候选框被丢弃(例如文本得分较低)时,这可能会导致不准确的定位。这种不准确性在通用目标检测中可能并不重要,但在文本检测中不可忽视,特别是对于那些小型文本行或文字。为了解决这个问题,作者提出了一种边缘细化的方法,可以精确地估计左右两侧水平方向上的每个锚点/框的偏移量(称为边缘锚点或边缘候选框)。与y坐标预测类似,计算相对偏移公式如下:
其中,
x
s
i
d
e
x_{side}
xside是最接近水平边(例如,左边或右边)到当前锚点的预测的x坐标。
x
s
i
d
e
∗
x^∗_{side}
xside∗是x轴的实际(GT)边缘坐标,它是从实际边界框和锚点位置预先计算的。
c
x
a
c_x^a
cxa是x轴的锚点的中心。
w
a
w^a
wa是固定的锚点宽度,
w
a
w^a
wa=16。将一系列检测到的文本候选框连接到文本行中,这些候选框被定义为开始和结束候选框。作者只使用边缘候选框的偏移量来优化最终的文本行边界框。边缘细化改进的几个检测示例,如图4所示。
2.3 损失函数
如图1(a)所示。CTPN的三个输出同时预测文本/非文本分数(text score),垂直坐标(
v
=
v
c
,
v
h
v={v_c,v_h}
v=vc,vh)和边缘细化偏移(o)。本文将设置k个锚点来预测它们在conv5中的每个空间位置,从而输出层分别得到2k,2k和k个参数。公式如下所示:
其中,i是所有锚点的索引。
s
i
s_i
si是锚点的预测概率。
s
i
∗
s^*_i
si∗={0,1}是真实值。j是y坐标回归的锚点索引,
v
j
v_j
vj和
v
j
∗
v_j^*
vj∗是第j个锚点预测的y坐标和真实的y坐标。k是边缘锚点索引,
o
k
o_k
ok和
o
k
∗
o^*_k
ok∗是与第k个锚点的x轴的预测和实际偏移量。
L
s
c
l
L^{cl}_s
Lscl使用Softmax损失区分文本和非文本的分类损失。
L
v
r
e
L^{re}_v
Lvre和
L
o
r
e
L^{re}_o
Lore是回归损失。
λ
1
λ_1
λ1和
λ
2
λ_2
λ2是损失权重,
N
s
N_s
Ns
N
v
N_v
Nv和
N
o
N_o
No是标准化参数。
3、实验分析
如表1(左)所示,单独的RPN难以执行准确的文本定位。通过使用Fast R-CNN检测模型,较单独RPN来说,显著提高了定位精度,其F-measure为0.75。RPN候选框可以粗略定位文本行或文字的主要部分,但根据ICDAR 2013的标准这不够准确。显然,所提出的连接文本框网络(FTPN)在精确度和召回率方面大大超越了Faster R-CNN性能,表明通过预测一系列文本候选框而不是整体文本行,FTPN更精确可靠。
由表2可知,CTPN始终在F-measure和召回率方面取得非凡的成绩。实验数据充分说明了CTPN的垂直锚点机制和循环神经网络重要性。
4 总结
- CTPN是一种可端到端训练的高效文本检测器。
- 本文设计了垂直锚点机制,联合预测每个候选框的精确位置和文本/非文本分数,这是实现文本准确定位的关键。
- 本文采用一个RNN层,使其能够结合上下文信息减少误检。
- 免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准