原文链接:https://arxiv.org/abs/2407.10749
简介:基于DETR的3D点云检测器难以达到较高的性能,这可能有两个原因:(1)由于点云的稀疏性和分布不均匀,获取合适的物体查询较为困难;(2)利用点云的几何结构进行查询交互还未被充分探索。本文提出SEED,包括两步查询选择(DQS)模块和可变形网格注意力(DGA)模块。DQS首先保留大量查询以保证高召回率,并通过估计质量分数选择高质量查询。DGA则将参考边界框均匀分割为网格,使用预测偏移量实现灵活的感受野,以使模型关注相关区域并捕捉有信息的特征。实验表明,本文方法在Waymo和nuScenes数据集上均能达到sota水平。
0. 方法概述
本文使用基于体素的主干提取3D体素特征,然后转化为BEV特征,并加入位置编码,拉直为序列。随后,使用DQS进行由粗到细的高质量查询获取;并使用SEED解码层,利用DGA实现查询与BEV特征的交互。
1. 两步查询选择模块
DQS包括前景查询选择和质量查询选择。
前景查询选择:使用二元分类器(掩膜预测器)区分BEV的前景和背景,同时为BEV特征加入位置编码,拉直为BEV查询序列
F
b
e
v
∈
R
H
W
×
C
F_{bev}\in\mathbb R^{HW\times C}
Fbev∈RHW×C。然后,选择比例为
r
r
r的分数最高的特征作为粗糙查询。分数
S
b
e
v
S_{bev}
Sbev来自掩膜预测器,以保留尽可能多的前景查询。该步骤可记为:
Q
c
=
T
o
p
N
c
(
F
b
e
v
,
S
b
e
v
)
Q_c=Top_{N_c}(F_{bev},S_{bev})
Qc=TopNc(Fbev,Sbev)
其中 N c = H W r N_c=HWr Nc=HWr为粗糙查询数, T o p N ( x , y ) Top_N(x,y) TopN(x,y)表示根据 y y y从 x x x中取出前 N N N个查询。
随后,输入SEED解码器获取查询与BEV查询序列的特征交互,得到增强查询
Q
c
′
Q'_c
Qc′:
Q
c
′
=
D
e
c
o
d
e
r
(
Q
c
,
F
b
e
v
)
Q'_c=Decoder(Q_c,F_{bev})
Qc′=Decoder(Qc,Fbev)
其中Decoder为SEED解码层,见第2节。
质量查询选择:首先将粗糙查询
Q
c
′
Q'_c
Qc′送入FFN,生成分类分数
S
c
S_c
Sc(识别3D物体的概率)、定位分数
S
l
S_l
Sl(提案框与真值之间的3D IoU)和粗糙提案框
B
c
B_c
Bc(真值由第3节中质量感知的匈牙利匹配分配)。设置分类分数阈值
τ
\tau
τ区分前景物体,并定义质量分数:
S
q
i
=
{
(
S
c
i
)
1
−
β
⋅
(
S
l
i
)
β
,
若
S
c
i
>
τ
S
c
i
,
否则
S_q^i=\begin{cases}(S_c^i)^{1-\beta}\cdot(S_l^i)^\beta,&若S_c^i>\tau\\ S_c^i,&否则\end{cases}
Sqi={(Sci)1−β⋅(Sli)β,Sci,若Sci>τ否则
其中
β
∈
(
0
,
1
)
\beta\in(0,1)
β∈(0,1)为控制分类分数重要性的超参数。然后根据
S
q
S_q
Sq选择前
N
f
N_f
Nf个提案框
B
f
B_f
Bf,并将
B
f
B_f
Bf与相应的质量分数
S
f
S_f
Sf拼接,输入MLP生成几何感知的高质量查询:
B
f
=
T
o
p
N
f
(
B
c
,
S
q
)
Q
f
=
M
L
P
(
C
o
n
c
a
t
(
B
f
,
S
f
)
)
B_f=Top_{N_f}(B_c,S_q)\\ Q_f=MLP(Concat(B_f,S_f))
Bf=TopNf(Bc,Sq)Qf=MLP(Concat(Bf,Sf))
最后,DQS的输出查询 Q f Q_f Qf会输入SEED解码器。
2. SEED解码层
本文使用可变形网格注意力替代DETR中的交叉注意力。
动机:需要针对点云的查询交互方法以探索DETR 3D目标检测的潜力。对于2D检测,附近的物体可能占据绝大多数像素,因此需要全局注意力才能检测到。而3D检测中的物体仅仅占用小部分区域,因此局部注意力就足够了。此外,3D点云包含丰富的几何信息,且矩形边界框无法捕捉物体精确的几何结构,需要灵活的感受野。本文的DGA则是一种有着灵活感受野的局部注意力,能利用3D物体几何信息的查询交互方法。
细节:DQS中的提案框
B
f
B_f
Bf被视为参考框,并均匀分割为
k
×
k
k\times k
k×k的网格
g
k
g_k
gk(图中黄色点)。选择的查询
Q
f
Q_f
Qf(图中红色点)被送入线性函数,生成预测偏移量
Δ
g
\Delta g
Δg。将偏移量与网格相加,生成最终的采样位置,以在灵活的感受野内捕捉3D物体的几何信息。注意力权重
A
A
A也是
Q
f
Q_f
Qf通过线性函数和softmax函数得到的。使用双线性插值采样的特征与
A
A
A相乘,得到增强查询。DGA可表达如下:
D
G
A
(
g
,
F
b
e
v
)
=
∑
j
=
1
K
A
j
⋅
ϕ
(
F
b
e
v
(
g
j
+
Δ
g
j
)
)
DGA(g,F_{bev})=\sum_{j=1}^KA_j\cdot\phi(F_{bev}(g_j+\Delta g_j))
DGA(g,Fbev)=j=1∑KAj⋅ϕ(Fbev(gj+Δgj))
其中 K = k 2 K=k^2 K=k2, ϕ \phi ϕ为线性函数。
3. 质量感知的匈牙利匹配
本文引入质量感知的匈牙利匹配(QHM)以分配真值。QHM利用质量分数
S
f
S_f
Sf代替传统的分类分数,用于计算分类代价
C
c
l
s
C_{cls}
Ccls:
C
p
o
s
=
−
(
1
−
α
)
⋅
(
S
f
)
γ
⋅
log
(
1
−
S
f
)
C
n
e
g
=
−
α
⋅
(
1
−
S
f
)
γ
⋅
log
(
S
f
)
C
c
l
s
=
C
p
o
s
−
C
n
e
g
C_{pos}=-(1-\alpha)\cdot (S_f)^\gamma\cdot\log(1-S_f)\\ C_{neg}=-\alpha\cdot(1-S_f)^\gamma\cdot\log(S_f)\\ C_{cls}=C_{pos}-C_{neg}
Cpos=−(1−α)⋅(Sf)γ⋅log(1−Sf)Cneg=−α⋅(1−Sf)γ⋅log(Sf)Ccls=Cpos−Cneg
其中 α , γ \alpha,\gamma α,γ为超参数。回归代价与GIoU代价不变。
实施细节:本文的损失包括DETR头损失和DQS损失。DQS损失中,分类分数、定位分数和回归分别由二元交叉熵、IoU损失和SmoothL1损失监督。训练时使用fade策略(避免过拟合)和查询对比(提高性能)。
消融实验中提到:
- 目前的3种查询选择方式包括:可学习查询、基于热图的查询(如TransFusion-L,选择局部最大元素)和Top-N查询(通过类不可知的FFN并选择前 N N N个元素)。基于热图的查询方法性能最低,其余两者性能接近。
- 目前的3中查询交互方式包括:全局注意力、可变形注意力(感受野灵活)和边界框注意力(或称不可变形的网格注意力;利用边界框的几何信息)。全局注意力会导致OOM,而后两者性能接近。
下图为各种注意力的图示。