多种文本检测算法性能对比
(https://blog.csdn.net/qq_39707285/article/details/108754444)
TextBoxes: A Fast Text Detector with a Single Deep Neural Network
1. 论文要点
提出了一个end-to-end可训练的快速文本检测算法,叫做 TextBoxes,能后一阶段的完成检测任务,在准确性和高效性方面都表现优异,且该算法除了NMS,没有使用任何的后处理步骤。 TextBoxes能够达到一张图0.09秒的速度,另外,结合 CRNN文本识别算法,能够在text spotting任务中达到最优表现。
2. 模型结构
2.1 整体结构
TextBoxes整体网络结构如图1所示,在VGG-16的基础上新增9个额外的卷积层,共28层,类似于SSD,在不同的层之后都有输出层,称之为 text-box layers, text-box layers的输出通道是72(2个通道预测分数,4个通道预测位置偏移量,共12个anchor(这里说的anchor就是SSD中讲的default box),所以共(2+4)*12=72个通道),整合所有的 text-box layers的输出结果后再使用NMS处理,就得到了最终的结果。
2.2 text-box layers
假定图片和特征图的尺寸分别为
(
w
i
m
,
h
w
i
m
)
(w_{im},h_{wim})
(wim,hwim)和
(
w
m
a
p
,
h
m
a
p
)
(w_{map},h_{map})
(wmap,hmap),在特征图每个位置
(
i
,
j
)
(i,j)
(i,j)上anchor为
b
0
=
(
x
0
,
y
0
,
w
0
,
h
0
)
b_0=(x_0,y_0,w_0,h_0)
b0=(x0,y0,w0,h0), text-box layers的输出为
(
Δ
x
,
Δ
y
,
Δ
w
,
Δ
h
,
c
)
(\Delta x,\Delta y,\Delta w,\Delta h,c)
(Δx,Δy,Δw,Δh,c),其中
区别于SSD中anchor的设计,anchor的纵横比更加大,因为文本检测相较于传统的检测任务中,目标有更大的纵横比。 TextBoxes设计了6个比例,分别是1,2,3,5,7,10。这使得默认框在水平方向上密集,而垂直方向上很稀疏,这导致匹配框效果差,为解决这个问题,设计了垂直方向的偏移,如图2所示,图中只画出了比例为1和5的anchor,黑色的为比例为5的anchor,蓝色的是比例为1的anchor,绿色和红色的分别为比例为5和1的anchor的偏移结果,垂直偏移值为单元格高度的一半。
此外在 text-box layers中替换传统的33卷积为不规则的15和5*1卷积核,这种 inception-style过滤器产生矩形接收场,更好地适合具有较大纵横比的文本,也避免了方形接收场会带来的噪声信号。
2.3 损失函数
损失函数和SSD中一样,定义为:
其中
N
N
N是与GT匹配到的anchor总数,
α
\alpha
α设置为1,
L
l
o
c
L_{loc}
Lloc使用smooth L1 loss,
L
c
o
n
f
L_{conf}
Lconf使用softmax loss。
2.4 多尺度输入
即使在anchor和卷积滤波器上进行优化,也仍然很难检测出极端纵横比和大小的文本。为此,采用多种初度的输入去训练模型,对于每张图片,分别rescale到300300,700700,300700,500700,1600*1600。
3. Word spotting and end-to-end recognition
End-to-end的识别包括文本检测和文本识别两部分,直接检测之后使用识别算法就可以完成 End-to-end的识别,但是可以将检测算法和识别算法结合起来,相互优化,识别算法可以帮助消除假阳性检测结果,这些结果不太可能是有意义的词,例如。 重复的书写。特别的是,当给定识别词典时,识别器可以有效地删除检测到的不匹配任何给定单词的包围框。
本文使用 CRNN作为文本识别算法,
p
(
w
∣
I
)
p(w|I)
p(w∣I)表示识别加过的概率,其中
I
I
I表示输入图片,
w
w
w表示字符序列,把概率看作一个匹配分数,它测量图像与特定单词的兼容性, 然后,检测分数是给定词汇中所有单词中的最大分数:
其中
W
W
W代表给定的词典, 如果没有指定词典,使用由90k个英语单词组成的通用词典。
使用公式3作为文本检测分数,但是在所有的文本框上使用公式3进行计算比较耗时,所以,首先使用 TextBoxes,使用较低的分数阈值和高的NMS阈值生成大量的候选框,在ICDAR2013上保存35个候选框,然后再使用公式3重新评估分数,接着使用第二个分数阈值和NMS阈值。当使用多个尺寸输入时,在每个尺寸上分别生成候选框,并对所有量尺寸的候选框执行上述步骤。
这里的NMS有所修改,对于识别为同一单词的框,采用较低的重叠阈值,以便对同一单词的框施加更强的抑制。
4. 实验结果
在三个不同任务中(包括文本检测、字检测和端到端识别)中分别验证了TextBoxes。
4.1 文本检测
4.2 Word spotting and end-to-end recognition
4.3 缺点
TextBoxes在大多数情况下表现良好。 然而,它仍然无法处理一些困难的情况,如过度曝光和大字符间距,如图3和4所示。