特征对齐的旋转目标检测:Align Deep Features for Oriented Object Detection
导读
对齐后的特征对于旋转目标的学习更有好处。
1、介绍
使用一阶段物体检测器来做旋转物体检测的一些问题:
启发式的定义anchor的质量并不好,物体和anchor之间并不能很好的对齐,比如,物体的尺寸可以是1/3到1/30,但是并不是所有的anchor都可以匹配,这种不匹配会加重前景和背景之间的类别不均衡,导致性能下降。 主干提取的卷积特征是轴对齐的,感受野也是固定的,但是物体是各种角度的,即便anchor和物体之前有很高的匹配度(高IoU),卷积特征和anchor框之间仍然是不对齐的,也就是说,anchor框中的特征并不能很好的描述整个物体,导致最后的分类得分不高。
为了解决这些问题,提出了Single-Shot Alignment Network (S2A-Net),主要包括2个模块,特征对齐模块(FAM),旋转检测模块(ODM),FAM使用anchor细化网络ARN来生成高质量的anchor框,如下图。这里,我们没有使用很多密集的anchor框,只使用了1个方形的anchor框,然后ARN将这个方形的anchor框细化成高质量的旋转anchor。这里会用到AlignConv,这是卷积的一种变体,可以根据形状,尺度,方向以及对应的anchor自适应的对齐特征。
在ODM中,我们首先用主动旋转滤波器(ARF)来编码方向信息,生成对旋转敏感的特征,然后池化,得到旋转不变性的特征。最后,我们把这个特征放到回归子网络和分类子网络中,得到最后的预测。
整体结构如下图:
2. 方法
2.1 基线
我们将RetinaNet用于旋转物体检测作为基线,原始的RetinaNet的输出是水平的矩形框,用{x,w,h}来表示,其中x是中心点坐标,w,h是宽和高。用于旋转框回归时,旋转矩形框的表示用{x,w,h,θ}表示,其中θ范围是{-π/4, 3π/4}。
2.2 Alignment Convolution
标准的卷积可以用下面的式子表示:
其中W表示卷积核的参数,R为{(-1,-1),(-1,0),..., (0,1),(1,1)}表示参与卷积的像素相对于当前空间位置的偏移,p表示当前卷积所在的空间位置。
对比标准卷积,对齐卷积增加了一个额外的偏移量O。
这个偏移量O用来计算基于anchor的采样位置和规则的采样位置之间的偏差。用(x,w,h,θ)来表示当前的位置p的anchor框,对于每个规则的位置r,基于anchor的采样位置可以定义为:
k表示卷积大小,S表示特征图的stride,RT(θ)是2x2的旋转矩阵(cosθ, -sinθ; sinθ, cosθ)T,那么,当前的空间位置p的偏移量O为:
这样,我们就可以将轴对齐的特征转换为基于anchor框的任意方向的特征。
和其他卷积的对比
下图是各种卷积的对比,a是常规卷积,b是可变形卷积,c和d是对齐卷积的2个例子,分别对应于水平和旋转矩形框。对于可变形卷积来说,由于监督信号弱,可能会采样到错误的点上去,对齐卷积使用anchor框做指导,提取的是网格状分布的特征,和可变形卷积的不同点在于对齐卷积的偏移量是直接从anchor框中推理得到的。
2.3 特征对齐模块(FAM)
FAM包括了anchor细化网络ARN和对齐卷积。
anchor细化网络
ARN是一个轻量级的网络,有2个并行的分支,一个anchor分类分支,一个anchor回归分支。分类分支将anchor分到不同的类别中,回归分支将anchor细化成旋转的的高质量anchor。由于在infer的时候,我们只需要细化的anchor来调整对齐卷积中的采样点,所以infer时分类分支可以去掉。和anchor free的物体监测器类似,我们只使用了1个正方形的anchor,并且我们没有去掉哪些低置信度的anchor,因为我们发现有些负样本在最终的预测中会变为正样本。
对齐卷积层
对齐卷积层如下图,在预测出的HxWx5的anchor图中,我们首先解码成(x,w,h,θ)的格式,然后用(4)式来计算偏移值,然后和输入特征一起送到对齐卷积中,提取对齐的特征。对于每个anchor框,我们采样9个点,得到18维的偏移值。需要注意的时,对齐卷积是个轻量级的卷积,计算延时是很小的。
2.4 旋转检测模块
我们使用主动旋转滤波器ARF来编码旋转的信息,ARF是kxkxN维的滤波器,在卷积的过程中主动旋转N-1次,得到N个方向通道的特征图。对于特征图X和ARF(F),第i个方向的输出Y可以表示为:
将ARF应用到卷积层上,可以得到编码了方向信息的特征。然后池化,得到具有方向性的特征,池化方法如下:
这样,我们可以使用不同的方向来对齐物体的特征。
2.5 单阶段对齐网络
回归目标
我们的回归目标如下,表示gt和anchor之间的差别,其中k是整数,确保差别在{-π/4, 3π/4}范围内。
匹配策略
我们使用IoU作为度量值,当anchor和gt的IoU大于一定阈值,判定为正样本,小于一个阈值,判定为负样本。这里的IoU是在2个旋转框上计算的。默认的前景阈值为0.5,背景阈值为0.4。
损失函数
损失有2部分,FAM的损失和ODM的损失,定义如下,这里分类用focal loss,回归用smooth L1 loss:
推理
这是个全卷积的网络,FAM用来产生anchors,ODM得到最后的输出,然后选取top-k(2000个)输出,做NMS后得到最后的结果。
3. 实验和分析
我们使用了5个特征金字塔层,P3~P7,anchor的大小是stride的4倍,分别为(32,64,128,256,512)。
3.1 消融实验
RetinaNet使用不同设置的结果:
对齐卷积的效果:
ARN和ARF的效果:
网络设计的效果:
论文链接:https://arxiv.org/abs/2008.09397
往期精彩回顾 本站qq群851320808,加入微信群请扫码: