多种文本检测算法性能对比及算法介绍
(https://blog.csdn.net/qq_39707285/article/details/108754444)
ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Text Detection
1. 摘要
1.1 文本检测目前存在的挑战
- 很多文本检测算法存在过多的假阳
- 场景文本检测存在很多的差异(纵横比,颜色,尺度,纹理等),使得网络很难学习样本
1.2 解决方法
- 提出了一种尺度不敏感的自适应区域建议网络 (Adaptive Region Proposal Network,Adaptive RPN),只关注预测值与GT边界框之间的交集(IoU),生成文本候选框。
- 提出了一种新的局部正交纹理感知模块 (Local Orthogonal Texture-aware Module,LOTM),在两个或多个方向上对提议特征的局部纹理信息进行建模,并用一组轮廓点表示文本区域。
- 考虑到强单向或弱正交激活通常是由假阳性图案(如条纹)的单调纹理特性引起的,我们的方法通过在两个正交方向上只输出高响应值的预测来有效地抑制这些假阳性。
1.3 算法性能
在Total-Text, CTW1500和ICDAR2015数据集上都取得的最佳表现,代码地址。
2. Proposed Method
2.1 Overall pipeline
网络的主要组成:
- 一个backbone网络生成共享特征图;
- 自适应RPN (Adaptive-RPN),通过几个细化点的边界空间范围来生成候选框;
- 候选框通过使用可变形RoI Pooling **(Deformable RoI pooling)**得到对应的特征表示,作为LOTM的输入;
- LOTM分别通过水平和处置方向的局部纹理建模,解码成轮廓点;
- 最后,一个点重评分算法 **(Point Re-scoring Algorithm)**通过考虑两个方向的表现来过滤FPs;
- 在Box branch分支中有bounding box 回归和分类,类似与两阶段目标检测的算法,用来进一步细化包围框。
2.2 Adaptive Region Proposal Network
RPN在目标检测中经常见到,它预测一个4维的回归向量 {∆x, ∆y, ∆w, ∆h},用来提炼当前的候选框 B c B_c Bc = { x c x_c xc, y c y_c yc, w c w_c wc, h c h_c hc}到预测的bounding box B t B_t Bt = { x c x_c xc+ w c w_c wc∆ x c x_c xc, y c y_c yc+ h c h_c hc∆ y c y_c yc, w c w_c wc e ∆ w c e^{∆w_c} e∆wc, h c h_c hc e ∆ h c e^{∆h_c} e∆hc},优化器使用 l 1 l_1 l1loss。
作为一种改进预测和地面真值边界盒间IoU值的方法,上述的ln范数损失优化的4d表示对尺度变化非常敏感。通常情况下当IoU阈值大于0.5就被选为正bounding box,然而当对于相同的IoU,会有许多中不同尺度的bounding boxes,就会有不同的ln-norm距离,因为优化ln范数损失与提高IoU值之间没有很强的相关性,这种差距使得基于CNN的方法很难在场景文本检测中学习大尺度方差的样本。
为了解决这个问题,提出了一种新的自适应RPN,它只关注预测和地面真实边界框之间的IoU值,这是一个尺度不变的度量,并且使用一个预先定义的点集合P = {(
x
l
x_l
xl,
y
l
y_l
yl)}
n
l
=
1
{n \atop l=1}
l=1n (1个中心点和n-1个边界点)去取代4-d向量,定义如下:
{∆ x l x_l xl,∆ y l y_l yl} n l = 1 {n \atop l=1} l=1n 代表到预定义点的偏移量, w c w_c wc和 h c h_c hc代表目前bounding box候选框的宽和高,如图3中所示,预测的偏移量用于对当前边界框方案中的n个预定义点进行局部优化,然后用公式(2)得到4个极值点对这些精化点进行约束,以表示预测的边界框。
与传统的只考虑矩形空间范围的RPN相比,本文提出的自适应RPN能够自动计算形状和语义上重要的局部区域,从而更好地定位文本区域,使用IoU loss,如公式(4)所示。
2.3 Local Orthogonal Texture-aware Module
如图4所示,LOTM包含两个平行的分支,在上面的分支,首先使用1×k的卷积核去建模水平方向的纹理信息,只关注k范围区域内的纹理特征。这个局部的操作在后续的实验中被证明是关键的,而且还保持高效。类似,下面的分支使用k×1卷积核,提取垂直方向的纹理特征。k是一个超参数,用来控制纹理特征的感受野。最后使用连个sigmoid层标准化特征图到0-1,这样,文本区域可以在两个正交的方向上被检测出来,并在两个不同的热图中用轮廓点表示,而这两个热图中的任何一个都只对某个方向的纹理特征做出响应。
2.4 Point Re-scoring Algorithm
由于考虑两个正交方向上的响应值可以有效地支持假阳性预测,因此通过点重评分算法进一步处理来自LOTM的两个热图,如算法1所示,首先使用NMS去得到一个tight representation。然后,为了抑制具有强单向响应或弱正交响应的预测,只选择两个热图中响应不同的点作为候选。最后,由这些高质量的轮廓点组成多边形来表示文本区域,MSH和NMSV分别表示NMS在水平和垂直方向上的运行结果,把θ设为0.5,在召回和精确性之间进行更好的权衡。
2.5 Training Objective
ContourNet的loss函数定义为:
L
A
r
p
n
c
l
s
L_{Arpn_{cls}}
LArpncls ,
L
A
r
p
n
r
e
g
L_{Arpn_{reg}}
LArpnreg,
L
H
c
p
L_{Hcp}
LHcp,
L
V
c
p
L_{Vcp}
LVcp,
L
b
o
x
c
l
s
L_{box_{cls}}
Lboxcls 和
L
b
o
x
r
e
g
L_{box_{reg}}
Lboxreg 代表Adaptive-RPN 分类loss、Adaptive-RPN 回归loss、水平方向的contour point loss和垂直方向的 contour point loss、 bounding box分类loss和 bounding box回归loss。
使用 λ A r e g λ_{A_{reg}} λAreg, λ H c p λ_{H_{cp}} λHcp, λ V c p λ_{V_{cp}} λVcp, λ b o x c l s λ_{box_{cls}} λboxcls, λ b o x r e g λ_{box_{reg}} λboxreg去平衡6个loss,在本文实验中平衡 λ A r e g λ_{A_{reg}} λAreg,设置其他的为1。
Adaptive-RPN使用IoU loss 在尺度方差上实现鲁棒性能。对于 L A r p n c l s L_{Arpn_{cls}} LArpncls 使用交叉熵loss。
LOTM:为了解决前景和北京不平衡问题,对于contour point的学习,使用class-balanced cross-entropy loss,loss函数定义为:
yi和pi分别代表GT和预测结果,Nneg and Npos是负样本和正样本对应的数量, 水平方向LHcp和垂直方向loss (LVcp)计算法师与 Lcp一致。
对于 box branch中的 L b o x c l s L_{box_{cls}} Lboxcls 和 L b o x r e g L_{box_{reg}} Lboxreg的loss方式选择和Faster RCNN一致。
3.Experiments
3.1 Datasets
- ICDAR2015
包含1000张图片,其中训练集500张,测试集500张,这些图片从谷歌街景中搜集。目标是多个方向,标注为word级别的,四个点的坐标。 - CTW1500
是曲形文本检测集,包含1000张训练集和500张测试集,文本使用14个边界点标注,行标注。 - Total-Text
与CTW1500不同的是,标注是word级别的,该数据集包含水平方向、多方向和曲形文本,共1225张训练集和300张测试集图片。
3.2 Implementation Details
3.4 Comparisons with State-of-the-Art Methods
3.4.1 Evaluation on Curved Text Benchmark
3.4.2 Evaluation on Long Curved Text Benchmark
3.4.3 Evaluation on Multi-oriented Text Benchmark
4. Conclusion
针对文本表示中的误报和大尺度方差问题,提出了一种新的场景文本检测方法 (ContourNet)。ContourNet主要由三部分组成 Adaptive RPN, LOTM 和 Point Re-scoring Algorithm:
- Adaptive RPN:通过限定多个语义点的空间扩展来定位文本的初步建议;
- LOTM :在两个正交方向上建立局部纹理信息模型,用轮廓点表示文本区域;
- Point Re-scoring Algorithm:通过同时考虑两个正交方向上的响应值来过滤FPs。
我们的方法的有效性已经在几个公共数据集上得到了证明,包括长、曲线和定向文本案例,在未来的工作中,更倾向于开发端到端的文本阅读系统。