目录
- 圆形平滑标签(CSL,circular smooth label)。
- 旋转检测器(the rotation detector):提供精确的方向和比例信息,在诸如航空图像中的对象变化检测以及多方向场景文本的顺序字符识别等应用中将很有帮助。
- 基于区域回归的检测器:通过旋转边界框或四边形来实现多方向对象的表示。
- 存在问题:五参数回归法和八参数回归法都存在边界不连续问题,这通常是由角度周期性或角顺序引起的。但内在原因并不限于包围盒的特定表示,根本原因是理想的预测超出了定义范围,因此,模型在边界处的损失突然增加,使得模型无法以最简单、最直接的方式获得预测结果,并且经常需要进行其他复杂的处理。→检测器通常在边界条件上有困难。
- 对于使用旋转边界框进行检测,角度预测的准确性至关重要。轻微的角度偏差会导致重要的“交集相交”(IoU,Intersection-over-Union )下降,从而导致对象检测不准确,尤其是在宽高比较大的情况下。
前情提要:
水平区域物体检测(Horizontal region object detection):利用水平边界框检测图像中的常规对象。
- R-CNN:基于CNN检测的方法。
- Fast R-CNN,Faster R-CNN,R-FCN:基于区域的模型,降低计算储量的同时提高了检测速度。
- FPN:专注图像中对象的比例变化,提出特征金字塔网络来处理不同比例的对象。
- SSD,YOLO,RetinaNet:代表性单级方法,其单级结构使它们具有更快的检测速度。
- CornerNet,CenterNet,ExtremeNet:anchor-free方法,尝试预测对象的一些关键点,例如角或极点,然后分组到边界框中。
- 水平检测器的缺点:不能提供准确的方向和比例信息。在实际问题如航拍图像的对象变化检测和多方向场景文本的顺序字符识别中会产生问题。
面向任意对象的检测(Arbitrary-oriented object detection):主要是通过使用旋转边界框或四边形来表示多方向目标的经典目标检测方法的改编来推动。由于遥感影像场景的复杂性以及大量小的、杂乱的和旋转的物体,多级旋转检测器的稳健性仍然占主导地位。可应用于航拍图像和场景文字。
- ICN,ROITransformer,SCRDet, R 3 D e t R^3Det R3Det
- Gliding Vertex,RSDet:通过四边形回归预测实现更准确的对象检测。
- RRPN:使用旋转的RPN生成rotated proposals并进一步执行旋转的边界框回归,应用于场景文本检测。
- TextBoxes++:在SSD上采用顶点回归。
- RRD:通过分别解耦旋转不变特征和旋转敏感特征的分类和边界框回归,进一步改进了TextBoxes++。
- 存在问题:超出定义范围的情况,大多存在边界问题。
定向信息的分类(Classification for orientation information):通过分类获得方位信息,更早地应用于具有任意平面内旋转(rotation-in-place,RIP)角度的多视图面部检测。
- 采用分治法,使用几个小的神经网络分别处理小范围的面部外观变化。
- 首先,使用router network来估计每个候选面部RIP角度。
- PCN逐步校准每个人脸候选者的RIP方向,并在早期将RIP范围缩小一半。
- 最后,PCN为每个面部候选者做出准确的最终决定,以确定它是否是面部并预测精确的RIP角度。
- 在其他研究领域,采用序数回归进行有效的未来运动分类。通过对四边进行分类获得船舶的方位信息。以上方法都是通过分类获得的近似方位范围,但不能直接应用于需要精确方位信息的场景,如航空影像和场景文本。
解决方案
图中是基于RetinaNet的单级旋转检测器,显示了一个多任务处理路线,包括基于回归的预测分支和基于CSL的预测分支,以促进两种方法性能的比较。(CSL比Regression更为准确)
Regression-based Rotation Detection Method
参数回归是旋转对象检测的一种流行方法,主要包括基于五参数回归方法和基于把参数回归方法。
基于五参数回归的方法:通过额外增加的角度参数
θ
\theta
θ来实现面向任意方向的边界框检测。
基于八参数回归的方法:直接回归对象的四个角
(
x
1
,
y
1
,
x
2
,
y
2
,
x
3
,
y
3
,
x
4
,
y
4
)
(x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4)
(x1,y1,x2,y2,x3,y3,x4,y4),因此预测是四边形。四边形回归的关键步骤是预先对四个角点进行排序。
Boundary Problem of Regression Method
边界不连续性问题通常会使模型在边界处的损失值突然增加,通常由五参数方法中的角度周期性和八参数方法中的角顺序引起的。
- 基于
9
0
°
90^°
90°回归的方法。
θ
\theta
θ角度范围只有
[
−
90
,
0
)
[-90,0)
[−90,0)度,但是框的
w
/
h
w/h
w/h会切换。由于角度的周期性(PoA)和边缘的交换性(EoE),这种情况的损失非常大。因此,以其他复杂形式对模型进行回归(例如,缩放
w
w
w和
h
h
h时,将蓝色框顺时针旋转到灰色框),从而增加了回归的难度。
- 基于
18
0
°
180^°
180°的回归方法。
θ
\theta
θ角度范围有
[
−
90
,
90
)
[-90,90)
[−90,90)度,框的
w
/
h
w/h
w/h不会切换,其中长边是
h
h
h,短边是
w
w
w。存在由边界处的PoA引起的损失急剧增加的问题。模型最终将预选框顺时针旋转一个大角度,以获得最终的预测边界框。
- 基于点的方法。通过进一步分析,由于角点的提前排序,八参数回归方法中仍然存在边界不连续性问题。考虑边界情况下八参数回归的情况,理想的回归过程应为
{
(
a
→
b
)
,
(
b
→
c
)
,
(
c
→
d
)
,
(
d
→
a
)
}
\left \{ (\blue a→\green b),(\blue b→\green c),(\blue c→\green d),(\blue d→\green a) \right \}
{(a→b),(b→c),(c→d),(d→a)},但实际回归从蓝色参考框到绿色地面真相框的过程是
{
(
a
→
a
)
,
(
b
→
b
)
,
(
c
→
c
)
,
(
d
→
d
)
}
\left \{ (\blue a→\green a),(\blue b→\green b),(\blue c→\green c),(\blue d→\green d) \right \}
{(a→a),(b→b),(c→c),(d→d)}。实际上,这种情况也属于PoA。相比之下,蓝色到红色边界框的实际和理想回归是一致的。
Some approaches
- IoU-smooth L1损失引入了IoU因子,而模块化旋转损失增加了边界约束,从而消除了边界损失的突然增加并降低了模型学习的难度。但是,这些方法仍然是基于回归的检测方法,并且仍不能解决上述根本原因。
- 本文创新点:找到更基本的旋转检测基线以解决边界问题。具体来说,我们将对象角度的预测视为分类问题,以更好地限制预测结果,然后设计圆形平滑标签(CSL)来解决角度的周期性并增加相邻角度之间的误差容限。
- 图中显示了一些经典的旋转检测器,并在边界条件下可视化比较。
Circular Smooth Label for Angular Classification.
将对象角度用作其类别标签,并且类别数与角度范围有关。
One-hot label
图5(a)显示了用于标准分类问题(单标签编码)的标签设置。从回归到分类的转换可能会导致一定的准确性损失。以角度范围为180°的五参数方法为例,每个间隔的
ω
\omega
ω(默认
ω
=
1
°
\omega=1°
ω=1°)度是一个类别。我们可以计算出最大精度损失
M
a
x
(
l
o
s
s
)
Max(loss)
Max(loss)和预期精度损失
E
(
l
o
s
s
)
E(loss)
E(loss):
M
a
x
(
l
o
s
s
)
=
ω
/
2
Max(loss)=\omega/2
Max(loss)=ω/2
E
(
l
o
s
s
)
=
∫
a
b
x
∗
1
b
−
a
d
x
=
∫
0
ω
/
2
x
∗
1
ω
/
2
−
0
d
x
=
w
4
E(loss)=\int_{a}^{b}x\ast \frac{1}{b-a}dx=\int_{0}^{\omega/2}x\ast \frac{1}{\omega/2-0}dx=\frac{w}{4}
E(loss)=∫abx∗b−a1dx=∫0ω/2x∗ω/2−01dx=4w
缺点:
- 当边界框使用基于90°回归的方法时,EoE问题仍然存在。此外,基于90°回归的方法具有两种不同的边界情况(垂直和水平),而基于180°回归的方法仅具有垂直边界情况。
- 注意香草分类损失对于预测标签和地面真相标签之间的角度距离是不可知的,因此不适用于角度预测问题的性质。如图5(a)所示,当地面真实度为0°,分类器的预测结果分别为1度和-90°时,它们的预测损失是相同的,但预测结果接近于地面真实性从检测角度应被允许。
Circular smooth label
图5(b),CSL涉及具有周期性的圆形标签编码,并且分配的标签值是平滑的且有一定的容差。CSL的表达式如下:
C
S
L
(
x
)
=
{
g
(
x
)
,
θ
−
r
<
x
<
θ
+
r
0
,
o
t
h
e
r
w
i
s
e
CSL(x)=\left\{\begin{matrix} g(x),\theta-r< x< \theta+r\\ 0,otherwise \end{matrix}\right.
CSL(x)={g(x),θ−r<x<θ+r0,otherwise其中
g
(
x
)
g(x)
g(x)是窗口函数,
r
r
r是窗口函数的半径,
θ
\theta
θ表示当前边界框的角度。理想的窗口函数
g
(
x
)
g(x)
g(x)具有以下属性:
- 周期性(Preiodicity): g ( x ) = g ( x + k T ) , k ∈ N g(x)=g(x+kT),k\in N g(x)=g(x+kT),k∈N。 T = 180 / ω T=180/\omega T=180/ω表示角度被划分的数量,默认值为180。
- 对称(symmetry): 0 ≤ g ( θ + ε ) = g ( θ − ε ) ≤ 1 , ∣ ε ∣ < r 0\leq g(\theta+ \varepsilon )=g(\theta- \varepsilon)\leq 1,\left | \varepsilon \right |< r 0≤g(θ+ε)=g(θ−ε)≤1,∣ε∣<r。 θ \theta θ是对称中心。
- 最大值(maximum): g ( θ ) = 1 g(\theta)=1 g(θ)=1。
- 单调性(monotonic): 0 ≤ g ( θ ± ε ) ≤ g ( θ ± ς ) ≤ 1 , ∣ ς ∣ < ∣ ε ∣ < r 0\leq g(\theta \pm \varepsilon )\leq g(\theta\pm \varsigma )\leq 1,\left | \varsigma \right |< \left | \varepsilon \right |< r 0≤g(θ±ε)≤g(θ±ς)≤1,∣ς∣<∣ε∣<r。改函数从中心点到两侧呈现单调的递减趋势。
满足条件的有效窗口函数有:脉冲函数、矩形函数、三角函数、高斯函数等,如图5(b)。标签值在边界处是连续的,并且不会因CSL的周期性而导致任意精度损失。此外,当窗口函数是脉冲函数或窗口函数的半径很小时,单热标签等效于CSL。
Loss Function
边界框的回归:
t
x
=
(
x
−
x
a
)
/
w
a
,
t
y
=
(
y
−
y
a
)
/
h
a
,
t
w
=
l
o
g
(
w
/
w
a
)
,
t
h
=
l
o
g
(
h
/
h
a
)
,
t_{x}=(x-x_a)/w_a,t_y=(y-y_a)/h_a,t_w=log(w/w_a),t_h=log(h/h_a),
tx=(x−xa)/wa,ty=(y−ya)/ha,tw=log(w/wa),th=log(h/ha),
t
θ
=
(
θ
−
θ
a
)
⋅
π
/
180
(
o
n
l
y
f
o
r
r
e
g
r
e
s
s
i
o
n
b
r
a
n
c
h
)
t_\theta=(\theta-\theta_a)\cdot \pi/180\quad (only\ for\ regression\ branch)
tθ=(θ−θa)⋅π/180(only for regression branch)
t
x
′
=
(
x
′
−
x
a
)
/
w
a
,
t
y
′
=
(
y
′
−
y
a
)
/
h
a
,
t
w
′
=
l
o
g
(
w
′
/
w
a
)
,
t
h
=
l
o
g
(
h
′
/
h
a
)
,
t_{x}^{'}=(x^{'}-x_a)/w_a,t_y^{'}=(y^{'}-y_a)/h_a,t_w^{'}=log(w^{'}/w_a),t_h=log(h^{'}/h_a),
tx′=(x′−xa)/wa,ty′=(y′−ya)/ha,tw′=log(w′/wa),th=log(h′/ha),
t
θ
′
=
(
θ
′
−
θ
a
)
⋅
π
/
180
(
o
n
l
y
f
o
r
r
e
g
r
e
s
s
i
o
n
b
r
a
n
c
h
)
t_\theta^{'}=(\theta^{'}-\theta_a)\cdot \pi/180\quad (only\ for\ regression\ branch)
tθ′=(θ′−θa)⋅π/180(only for regression branch)其中
x
,
y
,
w
,
h
,
θ
x,y,w,h,\theta
x,y,w,h,θ分别表示框的中心坐标、宽度、高度和角度。变量
x
,
x
a
,
x
′
x,x_a,x^{'}
x,xa,x′分别表示
t
h
e
g
r
o
u
n
d
−
t
r
u
t
h
b
o
x
,
a
n
c
h
o
r
b
o
x
,
p
r
e
d
i
c
t
e
d
b
o
x
the\ ground-truth\ box,anchor\ box,predicted\ box
the ground−truth box,anchor box,predicted box。
F
i
g
.
1
Fig.1
Fig.1中总的损失函数如下:
L
=
λ
1
N
∑
n
=
1
N
o
b
j
n
⋅
∑
j
∈
{
x
,
y
,
w
,
h
,
θ
}
L
r
e
g
(
v
n
j
′
,
v
n
j
)
+
λ
2
N
∑
n
=
1
N
L
C
S
L
(
θ
n
′
,
θ
n
)
+
λ
3
N
∑
n
=
1
N
L
c
l
s
(
p
n
,
t
n
)
L=\frac{\lambda _1}{N}\sum_{n=1}^{N}obj_n\cdot \sum_{j\in\left \{ x,y,w,h,\theta \right \}}L_{reg}(v_{nj}^{'},v_{nj})+\frac{\lambda _2}{N}\sum_{n=1}^{N}L_{CSL}(\theta_n^{'},\theta_n)+\frac{\lambda_3}{N}\sum_{n=1}^{N}L_{cls}(p_n,t_n)
L=Nλ1n=1∑Nobjn⋅j∈{x,y,w,h,θ}∑Lreg(vnj′,vnj)+Nλ2n=1∑NLCSL(θn′,θn)+Nλ3n=1∑NLcls(pn,tn)其中,
N
N
N表示anchor数量,
o
b
j
n
obj_n
objn是一个二进制值(对于前景,
o
b
j
n
=
1
obj_n=1
objn=1;对于背景,
o
b
j
n
=
0
obj_n=0
objn=0,不回归)。
v
∗
j
′
v_{*j}^{'}
v∗j′表示预测的偏移矢量,
v
∗
j
v_{*j}
v∗j表示地面真实的目标矢量。
θ
n
,
θ
n
′
\theta_n,\theta_n^{'}
θn,θn′分别表示标签和角度预测。
t
n
t_n
tn表示对象的标签,
p
n
p_n
pn表示通过Sigmoid函数计算的各种类别的概率分布。超参数
λ
1
,
λ
2
,
λ
3
\lambda_1,\lambda_2,\lambda_3
λ1,λ2,λ3控制权重,默认设置为{1,0,5,1}。分类损失
L
c
l
s
L_{cls}
Lcls和
L
C
S
L
L_{CSL}
LCSL是焦点损失(focal loss)还是sigmoid cross-entropy损失取决于检测器。回归损失
L
r
e
g
L_{reg}
Lreg是使用
s
m
o
o
t
h
L
1
smooth\ L_1
smooth L1的损失。
结论
在本文中,总结了不同基于回归的旋转检测方法的边界问题。基于回归方法的边界问题的主要原因是理想的预测超出了定义的范围。因此,将目标角度的预测作为分类问题可以更好地限制预测结果,然后设计圆形光滑标签(CSL)以适应角度的周期性(PoA),并以很小的幅度增加相邻角度之间的分类公差准确性损失。我们还介绍了CSL中的四个窗口函数,并探讨了不同窗口半径大小对检测性能的影响。重要的是,角度高精度分类也是旋转检测中的第一个应用。在不同的检测器和数据集上进行的广泛实验和视觉分析表明,基于CSL的旋转检测算法确实是有效的基线选择。