😸IA-SSD主要贡献:
- 指明了现有
point-based
检测器存在的采样问题,并通过引入两种基于学习(learning-based
)的实例感知(instance-aware
)下采样策略,提出了一种高效的point-based
三维检测器- 论文提出的方法
IA-SSD
(CVPR 2022, Oral
)是高效的,且能够使用一个模型在激光雷达点云上检测多类对象。此外,论文还提供了详细的内存占用与推理速度对比分析,以进一步验证所提方法的优越性- 在多个大型数据集上的大量实验表明,该方法具有较高的检测效率和精度
✍️尽管并非所有的点对目标检测任务都同等重要,但为了减少内存占用和计算开销,现有的基于点(point-based
)的 pipelines
通常采用任务不可知(task-agnostic
)的随机采样或最远点采样来逐步向下采样输入点云。此外,对于目标检测器来说,前景点(foreground points
)往往比背景点(background points
)更重要。因此,论文提出了一种高效、单阶段(single-stage
)且基于点的三维检测器 IA-SSD
。该方法的关键是利用两种可学习的、面向任务的(task-oriented
)、实例感知的下采样策略,分层级地选择(hierarchically select
)属于感兴趣对象(objects of interest
)的前景点。此外,论文还引入了上下文质心感知(contextual centroid perception
)模块来进一步估计精确的实例中心。最后,为了提高效率,论文按照只允许编码器(encoder-only
)的架构来构建 IA-SSD
。由于低内存占用和高并行度,它在 KITTI
数据集上使用单个 RTX2080Ti GPU
实现了每秒 80
帧以上的卓越速度,且在几个大规模检测 benchmarks
上进行的大量实验证明了 IA-SSD
具有较强的竞争力。下图是在 KITTI
的 benchmark
上比较不同算法的性能:
网络结构
- 将点云数据输入到网络中提取逐点特征,再通过实例感知下采样来逐步降低计算成本,并保留前景点信息
-
实例感知下采样包含类别感知(
Class-aware
)采样和质心感知(Centroid-aware
)采样这两部分 -
类别感知采样:这种采样策略旨在学习每个点的语义,从而达到选择性的下采样。为了实现这一点,论文引入了额外的分支来获取潜在特性中的丰富语义。即在编码层(
encoding layers
)上增加了两个 MLP 层,以进一步估计每个点的语义类别。该采样的损失函数如下L c l s − a w a r e = − ∑ c = 1 C ( s i l o g ( s ^ i ) + ( 1 − s i ) l o g ( 1 − s ^ i ) ) L_{cls-aware} = - \sum_{c=1}^C(s_i log(\hat{s}_i) + (1-s_i)log(1-\hat{s}_i)) Lcls−aware=−c=1∑C(silog(s^i)+(1−si)log(1−s^i))
✍️其中, C C C 对应检测的类别个数, s i s_i si 对应
one-hot
编码下的真实标签, s ^ i \hat{s}_i s^i 对应预测值 -
质心感知采样:考虑到实例中心估计是最终目标检测的关键之一,论文提出质心感知下采样策略,使更接近实例质心的点具有更高的权重。具体来说,先定义实例的软点掩码(
soft point mask
),再根据该掩码来得到损失函数M a s k i = m i n ( f ∗ , b ∗ ) m a x ( f ∗ , b ∗ ) × m i n ( l ∗ , r ∗ ) m a x ( l ∗ , r ∗ ) × m i n ( u ∗ , d ∗ ) m a x ( u ∗ , d ∗ ) 3 L c t r − a w a r e = − ∑ c = 1 C ( M a s k i ⋅ s i l o g ( s ^ i ) + ( 1 − s i ) l o g ( 1 − s ^ i ) ) Mask_i = \sqrt[3]{\frac{min(f^*, b^*)}{max(f^*, b^*)} \times \frac{min(l^*, r^*)}{max(l^*, r^*)} \times \frac{min(u^*, d^*)}{max(u^*, d^*)}} \\ L_{ctr-aware} = -\sum_{c=1}^C(Mask_i \cdot s_i log(\hat{s}_i) + (1-s_i)log(1-\hat{s}_i)) Maski=3max(f∗,b∗)min(f∗,b∗)×max(l∗,r∗)min(l∗,r∗)×max(u∗,d∗)min(u∗,d∗)Lctr−aware=−c=1∑C(Maski⋅silog(s^i)+(1−si)log(1−s^i))
✍️其中, f ∗ f^* f∗、 b ∗ b^* b∗、 l ∗ l^* l∗、 r ∗ r^* r∗、 u ∗ u^* u∗、 d ∗ d^* d∗ 分别对应点到三维边界框的前、后、左、右、上、下这六个面的距离。由此可知,点越接近边界框的质心,
mask
的值越大(最大为1
),当点在边界框的某一面上时,mask
的值为最小值0
。损失函数与类别感知采样类似,只不过将软点掩模与前景点的损失项相乘,使靠近中心的点具有更高的概率
- 学习到的潜在特征(前面保留的前景点信息)进一步输入到上下文质心感知模块,以预测实例的中心
-
上下文质心预测:论文试图利用在边界框周围的上下文线索(
contextual cues
)来进行质心预测,其损失函数如下
L c e n t = 1 ∣ F + ∣ 1 ∣ S + ∣ ∑ i ∑ j ( ∣ Δ c i j ^ − Δ c i j ∣ + ∣ c i j ^ − c i ‾ ∣ ) ⋅ I S ( p i j ) w h e r e c i ‾ = 1 ∣ S + ∣ ∑ j c i j ^ , I S : P → { 0 , 1 } \begin{aligned} &L_{cent} = \frac{1}{|F_{+}|}\frac{1}{|S_{+}|}\sum_i \sum_j (|\Delta_{\hat{c_{ij}}} - \Delta_{c_{ij}}| + |\hat{c_{ij}} - \overline{c_i}|) \cdot I_S(p_{ij}) \\ &where \qquad \overline{c_i} = \frac{1}{|S_{+}|}\sum_{j}\hat{c_{ij}}, \quad I_S : P \rightarrow \{0, 1\} \end{aligned} Lcent=∣F+∣1∣S+∣1i∑j∑(∣Δcij^−Δcij∣+∣cij^−ci∣)⋅IS(pij)whereci=∣S+∣1j∑cij^,IS:P→{0,1}
✍️其中, ∣ S + ∣ |S_{+}| ∣S+∣ 是用来预测实例中心的点的数量, Δ c i j ^ \Delta_{\hat{c_{ij}}} Δcij^ 是点 p i j p_{ij} pij 到实例中心偏移量的预测值, Δ c i j \Delta_{c_{ij}} Δcij 是点 p i j p_{ij} pij 到实例中心偏移量的真实值, I S I_S IS 是一个用来判断是否用这个点 p i j p_{ij} pij 来估计实例中心的指示器函数
-
基于质心的实例聚合:对于位移的代表(质心)点,论文进一步利用
pointnet++
模块来学习每个实例的潜在表示。具体地说,论文将相邻点转换为局部标准坐标系(local canonical coordinate
),然后通过共享的 MLP 和对称函数聚合点特征
- 通过建议生成头回归
3D
边界框和相应的类别标签
- 将聚合的质心点特征输入到建议生成头(
proposal generation head
)中,用来预测三维边界框和相应的类标签。论文将生成的建议编码为具有位置、大小(scale
)和方向的多维表示 - 通过一个使用特定
IoU
阈值的3D-NMS
后处理来对生成的所有建议进行过滤
损失函数
🙀IA-SSD
可进行端到端(end-to-end
)的训练,在该框架中,多任务损失被用于联合优化。总损失由四部分组成,分别是下采样策略中的损失
L
s
a
m
p
l
e
L_{sample}
Lsample,质心预测损失
L
c
e
n
t
L_{cent}
Lcent,分类损失
L
c
l
s
L_{cls}
Lcls 和边界框损失
L
b
o
x
L_{box}
Lbox。此外,边界框损失又包含位置、大小、angle-bin
、angle-res
和 corner
这几部分。即,总的损失函数表达如下:
L
t
o
t
a
l
=
L
s
a
m
p
l
e
+
L
c
e
n
t
+
L
c
l
s
+
L
b
o
x
L
b
o
x
=
L
l
o
c
+
L
s
i
z
e
+
L
a
n
g
l
e
−
b
i
n
+
L
a
n
g
l
e
−
r
e
s
+
L
c
o
r
n
e
r
\begin{aligned} &L_{total} = L_{sample} + L_{cent} + L_{cls} + L_{box} \\ &L_{box} = L_{loc} + L_{size} + L_{angle-bin} + L_{angle-res} + L_{corner} \end{aligned}
Ltotal=Lsample+Lcent+Lcls+LboxLbox=Lloc+Lsize+Langle−bin+Langle−res+Lcorner
😻论文:https://arxiv.org/pdf/2203.11139.pdf文章来源:https://www.toymoban.com/news/detail-402060.html
😻代码:https://github.com/yifanzhang713/IA-SSD文章来源地址https://www.toymoban.com/news/detail-402060.html
到了这里,关于3D 目标检测——IA-SSD的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!