文本检测算法:TextBoxes(AAAI)

时间:2024-03-27 11:57:55

多种文本检测算法性能对比
(https://blog.csdn.net/qq_39707285/article/details/108754444)


1. 论文要点

提出了一个end-to-end可训练的快速文本检测算法,叫做 TextBoxes,能后一阶段的完成检测任务,在准确性和高效性方面都表现优异,且该算法除了NMS,没有使用任何的后处理步骤。 TextBoxes能够达到一张图0.09秒的速度,另外,结合 CRNN文本识别算法,能够在text spotting任务中达到最优表现。


2. 模型结构

2.1 整体结构

文本检测算法:TextBoxes(AAAI2017)
TextBoxes整体网络结构如图1所示,在VGG-16的基础上新增9个额外的卷积层,共28层,类似于SSD,在不同的层之后都有输出层,称之为 text-box layerstext-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),其中
文本检测算法:TextBoxes(AAAI2017)
区别于SSD中anchor的设计,anchor的纵横比更加大,因为文本检测相较于传统的检测任务中,目标有更大的纵横比。 TextBoxes设计了6个比例,分别是1,2,3,5,7,10。这使得默认框在水平方向上密集,而垂直方向上很稀疏,这导致匹配框效果差,为解决这个问题,设计了垂直方向的偏移,如图2所示,图中只画出了比例为1和5的anchor,黑色的为比例为5的anchor,蓝色的是比例为1的anchor,绿色和红色的分别为比例为5和1的anchor的偏移结果,垂直偏移值为单元格高度的一半。
文本检测算法:TextBoxes(AAAI2017)
此外在 text-box layers中替换传统的33卷积为不规则的15和5*1卷积核,这种 inception-style过滤器产生矩形接收场,更好地适合具有较大纵横比的文本,也避免了方形接收场会带来的噪声信号。

2.3 损失函数

损失函数和SSD中一样,定义为:
文本检测算法:TextBoxes(AAAI2017)
其中 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(wI)表示识别加过的概率,其中 I I I表示输入图片, w w w表示字符序列,把概率看作一个匹配分数,它测量图像与特定单词的兼容性, 然后,检测分数是给定词汇中所有单词中的最大分数:
文本检测算法:TextBoxes(AAAI2017)
其中 W W W代表给定的词典, 如果没有指定词典,使用由90k个英语单词组成的通用词典。

使用公式3作为文本检测分数,但是在所有的文本框上使用公式3进行计算比较耗时,所以,首先使用 TextBoxes,使用较低的分数阈值和高的NMS阈值生成大量的候选框,在ICDAR2013上保存35个候选框,然后再使用公式3重新评估分数,接着使用第二个分数阈值和NMS阈值。当使用多个尺寸输入时,在每个尺寸上分别生成候选框,并对所有量尺寸的候选框执行上述步骤。

这里的NMS有所修改,对于识别为同一单词的框,采用较低的重叠阈值,以便对同一单词的框施加更强的抑制。


4. 实验结果

在三个不同任务中(包括文本检测、字检测和端到端识别)中分别验证了TextBoxes

4.1 文本检测

文本检测算法:TextBoxes(AAAI2017)

4.2 Word spotting and end-to-end recognition

文本检测算法:TextBoxes(AAAI2017)

4.3 缺点

TextBoxes在大多数情况下表现良好。 然而,它仍然无法处理一些困难的情况,如过度曝光和大字符间距,如图3和4所示。
文本检测算法:TextBoxes(AAAI2017)
文本检测算法:TextBoxes(AAAI2017)