CIA-SSD: Confident IoU-Aware Single-Stage Object Detector From Point Cloud
CIA-SSD AAAI 2021
论文链接: https://arxiv.org/abs/2012.03015
一、 Problem Statement
目前的one-stage detectors 通常把目标定位和分类当成是分开的任务,所以定位精度和分类置信度就不能很好的对齐。
二、 Direction
提出了confident IoU-Aware Single-Stage object Detector。包括了:
-
lightweight Spatial-Semantic Feature Aggregation module (SSFA module)
此模块能够动态地融合高层次抽象的语义特征和低层次的空间特征来更精确地进行bounding box regression和classification。 -
IoU-aware confidence rectification module
此模块可以消除定位精度和分类置信度之间的misalignment。 -
Distance-variant IoU-weighted NMS (DI-NMS)
此算法可以平滑regressions,避免冗余的预测。
三、 Method
先来看一下整体的网络结构:
可以看到网络分为三个部分:
- SPConvNet
- SSFA Module
- Multi-task Head
1. SPConvNet
首先会把点云进行体素,然后作者使用了SPConvNet作为point cloud encoder。SPConvNet包括了四个blocks,每个block包含数个submanifold sparse convolution(SSC) 和一个sparse convolution(SC)。 在这篇文章中,四个blocks分别含有 { 2 , 2 , 3 , 3 } \{2,2,3,3\} {2,2,3,3}个SSC layers。SC layer放置在每一个block后面,对3D特征图进行2倍的下采样。最后,把稀疏的voxel features转变为dense feature maps,并且结合 z z z生成BEV 特征图作为SSFA module的输入。
2. Spatial-Semantic Feature Aggregation (SSFA Module)
作者发现,通过简单堆叠卷积层的commonly-used BEV特征提取模块不能够有效获得带有丰富空间信息。 因此提出了Spatial-Semantic Feature Aggregations(SSFA) module,如下图所示:
可以看出,此模块包含两组卷积层和一个注意力机制融合模块。 两组卷积分别为spatial group和semantic group。对于spatial group,保持了与输入特征一样维度,一样大小的输出,避免空间信息的丢失;而对于semantic group,作者用于获得更高层次的抽象语义信息,因此会把spatial group输出的特征作为输入,把通道数加倍,但是减少一半的特征大小。然后使用2D DeConv Layer来恢复到同样的分辨率大小,然后进行element-wise addition。另一方面,使用另外一个2D DeConv Layer来产生upsampled semantic feature,输入到attention fusion模块。
为了能够动态地融合enriched spatial feature 和 upsampled semantic feature,作者使用了注意力模块。首先 ,把通道数压缩为1,然后进行拼接。之后,使用softmax 来进行归一化,并且把他们分成两个BEV attention maps。softmax建立了两个特征图的依赖关系,用于动态特征融合。最后把BEV attention maps作为权重,进行element-wise addition来进行融合,生成weighted features。
3. IoU-aware confidence rectification module
此模块可以消除定位精度和分类置信度之间的misalignment。IoU-aware confidence rectification模块是一个后处理模块,修正了置信度。在3D 目标检测中,我们通常定义anchors,分布在BEV特征图上。但是由于anchors的misaligned features, single-stage anchor-based的IoUs的预测通常不是很精确。 通常,如果anchors特征导致精确回归,则该特征应该预测高确定性的高IoU,因为该特征已包含足够的位置信息。另一方面,如果anchors特征产生不精确的回归,例如,当anchors远离ground-truth时,该特征可能导致低IoU预测和高不确定性。为了抑制low-IoU预测的不确定性,进一步增强low-IoU和high-IoU预测的可区分性,作者引入了修正项
g
g
g:
g
=
i
β
g=i^{\beta}
g=iβ
其中
i
i
i就是预测的IoU,
β
\beta
β就是一个控制抑制low-IoU预测和增强high-IoU预测的超参数。基于此,作者进一步提出了修正classification score:
f
=
c
⋅
g
=
c
⋅
i
β
f=c\cdot g = c\cdot i^{\beta}
f=c⋅g=c⋅iβ
其中
c
c
c是预测bounding box的classification score。在训练的时候,会有一个IoU 预测分支同时与bounding box regression和classification 分支进行训练。但是会把predicted bounding boxes与在IoU 预测的computation graph中分开,避免IoU prediction loss 的反向传播梯度影响到bounding box regressions。只有在测试阶段,使用了上面的修正过的classification score式子。
4. Distance-Variant IoU-Weighted NMS
远处的一些目标的预测通常是低分类置信度和高回归不确定性。作者也观察到这些因素会导致回归震荡,以及会产生冗余的false-positive预测,这些预测没有与任何ground-truth bounding box有重叠的。为了避免这个问题。作者提出了DI-NMS后处理算法,如下图所示:
需要修正过后的bounding box 置信度。
5. Loss Function
整体的Loss function 如下:
L
=
L
c
l
s
+
w
L
b
o
x
+
μ
L
d
i
r
+
λ
L
i
o
u
L = L_{cls} + wL_{box} + \mu L_{dir} + \lambda L_{iou}
L=Lcls+wLbox+μLdir+λLiou
bounding box classification是Focal Loss,box regression是Smooth-L1 Loss, direction classification是cross-entropy loss。最后还有一个iou loss,也是Smooth-L1 loss。但预测的bounding boxes和ground-truth bounding boxes计算如下:
i
o
u
t
=
2
⋅
(
i
o
u
−
0.5
)
iou_t = 2\cdot (iou - 0.5)
iout=2⋅(iou−0.5)
其中,
i
o
u
iou
iou 表示预测的boxes和ground-truth boxes的真实IoU。 这样可以使得IoU范围限制在[-1, 1]中。和bounding box regression loss一样,IoU prediction loss也只是对于positive samples进行计算。
6. 实验细节
使用了四种数据增强的方式:
- global augmentation on the entire point cloud, including random rotation, scaling, and flipping。
- local augmentation on a portion of the point cloud around a ground-truth objec, including random rotation and translation。
- ground-truth augmentation follow SECOND。
- filter out objects with difficulty levels,improving the quality of the positive samples.
使用Adam optimizer, cosine annealing learning rate。
四、 Conclusion
用bounding box classification 和iou regression对bounding box regression进行优化,效果表现SOTA。