PolarDet
论文地址:https://arxiv.org/pdf/2010.08720.pdf
1 Introduction
1.1 Paper Motivation
-
现象: 根据上图可以了解到,水平bbox会造成上面三种错误覆盖。
-
目前进展: 为了避免这样的问题,已有五参数表示法(x,y,w,h,θ) 来表示目标的方向。参考链接
-
本文提出的原因:
由于旋转的急剧变化,仅使用一个角度表达目标可能存在不足,比如说:精度下降、角度边界缺失和角度损失。此外,直接回归w和h会降低网络收敛性能,这是因为目标尺寸和纵横比的急剧变化造成的。 -
为了提高表达精度,避免角度损失,也提出了八参数表示法(x1,y1,x2, y2, x3, y3, x4, y4) 。但是仍无法解决网络收敛性能下降的问题。
1.2 Paper proposal
-
本文提出了一种快速的和更精确的替代极性表示方法,称为PolarDet。
-
第一个创新点是基于极坐标,使用多个角度和短极性直径比表示目标。
-
具体表示方法:
如上图2所示,使用 ( ( x , y ) 、 ( δ x , δ y ) 、 θ p 、 s 、 r p , ( p = 1 , 2 , 3 , 4 ) ) ((x,y)、(δ_{x},δ_{y})、θ_{p}、s、r_{p}, (p = 1, 2, 3, 4)) ((x,y)、(δx,δy)、θp、s、rp,(p=1,2,3,4))来表示目标。表示方法将用一个中心点、偏移量、四个极角、一个较短的边和四个极比来表示。具体表示: 目标的中心点、目标中心的偏移量、四个极直径与参考y轴之间的角度、最小边界矩阵宽度与其高度之间的较短的角度、较短边与极直径的比值。 -
特别说明:
这里的极直径表示中心点和角之间的欧式距离。通过四个角度的预测,我们的极性方法可以更准确地表示方向,避免陷入角度损失。
-
第二个创新点是引入了一个改进的中心语义结构,用来提高网络的分类能力。
-
具体说明:
网络使用的是单一的ResNet作为Backbone,没有FPN结构。在不增加额外参数的情况下,不仅满足了速度的需要,还提升了分类的精度。
1.3 Paper Contributions
- 我们提出了一种快速而精确的探测器PolarDet,其中我们用 ( ( x , y ) 、 ( δ x , δ y ) 、 θ p 、 s 、 r p , ( p = 1 , 2 , 3 , 4 ) ) ((x,y)、(δ_{x},δ_{y})、θ_{p}、s、r_{p}, (p = 1, 2, 3, 4)) ((x,y)、(δx,δy)、θp、s、rp,(p=1,2,3,4))来表示目标。 这种表示可以解决当前方法所面临的大部分缺陷。
- 介绍了一种改进的中心语义结构,它可以在不增加大量参数的情况下提高分类的精度。
- 我们在DOTA[41]数据集上、UCAS-AOD[20]数据集上和HRSC2016[29]数据集上都实现了SOTA结果。 在DOTA数据集上,我们以ResNet-101为主干网达到76.64%的mAP。 在AOD和HRSC数据集上,以ResNet-50主干网,我们分别获得了97.02%mAP和90.46%mAP。
2 Approach
- 2.1 叙述目前常用的旋转目标表示方法
- 2.2 本文的网络
- 2.3-2.5 叙述我们的方法如何表示目标,以及为什么能解决之前提到的缺陷。
- 2.6 介绍中心语义结构
2.1 Principle of Commonly used Representation
下面将介绍常用的五参数和八参数方法及其不足。
- 上图中的(b)是五参数表示法,是基于OpenCV来定义的。
- (a)将最小y坐标值的点作为顶点。
- (b)从顶点引出一条参考线,并于水平线重合。
- (c)逆时针旋转参考线,直到它覆盖目标的第一面,标记为w(宽度),另一边为h(高度)。
- (d)中心点是(x,y),方向等于参考线的旋转角。
-
上图中的(b)是八参数表示法,通常使用四个边界点来表示旋转目标。这四个顶点通常表示为来自中心点的偏移量。它们是按逆时针方向定义的,其中原始点是具有最小y坐标值的点。
-
上面两种表示方法可能会造成角点边界、角损失陷阱和收敛性能下降等问题,从而会导致检测精度的下降。
2.2 PolarDet Pipeline
下面这部分PolarDet网络如上图4和图5(a)所示。
-
主干网: 使用ResNet作为主干网来提取特征元素。在实验中使用ResNet18作为消融实验的主干网,ResNet101作为最终测试的主干网。
-
特征重建比输入图像增加分辨率到四分之一。使用公共反卷积结合DCN模块来扩展感受野。
-
从最后一个特征图,极性回归法有5个检测头(Head)来表示目标。
-
Head(检测头)参数对应:
-
热图(heat map):目标的中心点
-
偏移(offset):热图的偏移量
-
极角(polar angle):四个极直径与参考y轴之间的角度
-
较短角度(short):目标最小边界矩形的宽度和高度之间的较短角度
-
极性比率(polar ratio):较短的边和极直径之间的长度比
-
中心语义结构:
-
这种轻量级网络结构是可以在推理阶段维持的,这部分可以提高分类的准确度。
2.3 Center Point
- 本文的方法是用中心点来表示目标的回归和分类的,使用最小边界矩形的中心来检测旋转目标或四边形。
- 依然使用heat map的真实值,表示置信度图范围是 h ∈ [ 0 , 1 ] C × H 4 × W 4 h\in [0,1]^{C\times \frac{H}{4}\times \frac{W}{4}} h∈[0,1]C×4H×4W,(C表示数据集类别)。
- 在训练阶段,使用高斯核生成一个真实热图值来训练置信度图。具体流程: 首先将目标映射到一个点上,这可以表示为
H
c
,
y
,
x
=
1
H_{c,y,x}=1
Hc,y,x=1。然后,使用基于CornerNet网络的高斯核赋予值给相邻点,这里可以表示为:
H c , y , x = e x p ( − ( x − p x ~ ) 2 + ( y − p y ~ ) 2 2 σ p 2 ) H_{c,y,x}=exp\left ( -\frac{(x-\tilde{p_{x}})^{2}+ (y-\tilde{p_{y}})^{2}}{2\sigma _{p}^{2}} \right ) Hc,y,x=exp(−2σp2(x−px~)2+(y−py~)2)( s i g m a p sigma _{p} sigmap是遵循CenterNet的定义) - 中心点focal loss:
其中,N表示输入图片的数量, α = 2 \alpha=2 α=2和 β = 4 \beta=4 β=4是超参数。
2.4 Polar Angle
2.4.1 Definition
- 图6的角度是基于极坐标系的,沿着OX和OY的方向是正轴。本文定义沿着OY方向是起始角度0°,逆时针增加角度。
- 在本文,蓝色四边形为例,使用四个角度来表示目标的方向,定义为 ( θ 1 , θ 2 , θ 3 , θ 4 ) (\theta_{1},\theta_{2},\theta_{3},\theta_{4}) (θ1,θ2,θ3,θ4),范围从 [ 0 , 2 π ] [0,2\pi] [0,2π]。
- 角度方向是逆时针增加的,这就意味着 θ 1 \theta_{1} θ1是最小的角度, θ 4 \theta_{4} θ4是最大的角度。(使用弧度表示,可以保证回归的稳定性)
- 在训练过程中,使用L1-Loss作为回归损失。
2.4.2 Angle-Loss Trap Avoidance
-
目前已有方法的不足: 只使用一个角度表示定向目标的检测器可能会以很高的概率落入角度陷阱。如图5-(b)所示,五参数法的角度从-90°到0°,当这个定义结合弧度策略时,角度只会偏移从 − 0.5 π -0.5\pi −0.5π到0(这是很小的值)
-
如图8所示,当纵横比相比较高的时候,IOU的值依赖于角度的精度。从图9可以看出,即使有一个很小的角度偏差,也可能使得IoU的值下降。
-
更糟糕的是,当角度漏掉一点时,由于旋转角度的值的范围,角度损失已让很小,这就意味着落入了角度损失陷阱。
-
解决方案: 为了避免落入陷阱,提出了代替的极角法。如图8-©所示,极角法有两个作用:①将回归目标表示细致到点;②可以通过四个角度表达式产生较大的角度损失来提高角度收敛性能。
2.4.3 Boundary Problem Solution
-
图释说明: 蓝色(参考矩形框)、绿色(预测框)、红色(GT框)。
-
边界问题也是使用五参数法存在的一个问题。 可以看到,绿框只是偏移了一点角度(GT的角度是-10°,预测的角度却是-80°),这就造成了很大的损失(目标的宽度和高度与GT框是相反的)。
-
这就使得网络必须经过以下两个步骤进行学习:
(1)步骤一: 网络需要减少角度到-10°。
(2)步骤二: 网络必须将宽度强制为较小的宽度,而高度强制转换为较大的高度。
这两个步骤导致网络不稳定,从而降低收敛性能。 -
解决方案: 如图7-(b)所示,GT框中的A、B、C、D分别对应预测框中的A’、B’、C’、D’(使用每个角一一对应的方式)。如图6所示,使用更精确的角度范围策略,根据后续介绍的极直径表达式,长度将更接近GT。
2.5 Polar Diameter
(没错,这就是上面的图6)
2.5.1 Definition
- 为了提高检测收敛性能和回归部分仅回归目标信息,提出了下面的方法。
- 如图6所示,我们引入一个长度参数和一对比率参数 ( s , r 1 , r 2 , r 3 , r 4 ) (s,r_{1},r_{2},r_{3},r_{4}) (s,r1,r2,r3,r4)来表示目标。
- 极直径分为两个部分:(极直径表示顶点和中心点之间的距离)
(1)目标最小边界矩形的较短边。
(2)短边和极直径之间的四个比率。 - 在训练阶段,也对这两部分使用L1-Loss。具体公式如下:
其中, s s s表示较短的边, M B R MBR MBR表示目标的最小边界矩形, r r r表示比率,DL2表示L2的距离, C C C表示中心点, V i V_{i} Vi表示四个顶点。
2.5.2 Convergence Performance Increase
- 目前方法的不足: 常用的目标表示方法是使用宽度和高度来表示,这就会导致网络收敛性能的下降。这种下降通常是长度回归的急剧变化引起的,特别对于具有不同尺度目标的检测任务。
- 解决方案: 为了提高检测收敛性能,提出了极直径表达法,使用较短边和比率来作为相对的极直径表达式。这种策略减小预测范围,提高性能。如下表1所示,笛卡尔表示法和极直径表示法的对比实验结果。
2.5.3 More Precise Quadrilateral Fitting
- 图释:红色(GT框)、蓝色(最小边界矩形——MBR)、绿色(极性角度与极直径表达式)。
- 从上图可以发现,只使用MBR会加入背景信息,不能仅仅包含目标信息,这会混淆网络。
- 当使用本文的极直径表达式时,四边形可以完全覆盖,而不会引入其他不相关的信息。
2.6 Improved Center-Semantic Structure
- 目前方法的不足: 航拍图像中的噪声点和背景会降低分类性能,导致假阳性检测。
- 解决方案: 为了解决上述的问题,引入了一个改进的中心语义结构来优化分类。在这种结构中,使用两种策略来减少参数量。首先,使用1×1Conv将通道数改为类别数。然后,引入双线性插值来提高分辨率(而不使用反卷积来提高分辨率)。
- 如图5-(a),生成三个像素插值模块 P C × H 4 × W 4 P^{C\times \frac{H}{4}\times \frac{W}{4}} PC×4H×4W,然后将它们合并为 M C × H 4 × W 4 M^{C\times \frac{H}{4}\times \frac{W}{4}} MC×4H×4W,并在推理阶段中用预测热图像素对齐进行多重处理。
- 具体流程:
- 使用一个1×1Conv和四次双线性上采样,一个1×1Conv和两次双线性上采样,只有一个1×1Conv来获得第一、第二、第三像素插值模块。
- 然后,将这三个模块转化为 M ′ C × H 4 × W 4 M^{'C\times \frac{H}{4}\times \frac{W}{4}} M′C×4H×4W。
- 最后,使用一个3×3Conv + 1×1Conv得到合并层 M C × H 4 × W 4 M^{C\times \frac{H}{4}\times \frac{W}{4}} MC×4H×4W,其中每个GT将表示为一个直径和置信度图相同的圈。
- 说明:前景为1,背景为0,这与高斯值不同。即,按类别分类热图的范围是: h c ∈ [ 0 , 1 ] C × H 4 × W 4 hc\in [0,1]^{C\times \frac{H}{4}\times \frac{W}{4}} hc∈[0,1]C×4H×4W
3 Experiments
数据集: DOTA数据集、UCAS-AOD数据集、HSRSC2016数据集
主干网: ResNet-18(消融实验)、ResNet-101(测试)
3.1 Ablation Study
3.2 Comparison with the SOTA Methods
DOTA数据集:
UCAS-AOD数据集:
HSRSC2016数据集:
可视化效果: