原文链接: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,而后两者性能接近。
下图为各种注意力的图示。