原文链接:https://arxiv.org/abs/2408.07999
简介:自动驾驶中准确检测遮挡或远处物体(称为弱正样本)较为困难,这是因为查询初始化时过度依赖置信度热图,导致了高虚警率并掩盖了弱检测。本文提出Co-Fix3D,使用BEV表达的协同混合多阶段并行查询生成机制。模型包含局部-全局特征增强(LGE)模块,以细化BEV特征,从而更有效地突出弱正样本。使用离散小波变换(DWT)进行定位区域的噪声抑制和特征细化,并引入注意力机制以优化全局BEV特征。此外,LGE的多阶段并行也增加了BEV查询,从而增大了选中弱正样本的概率。实验表明,Co-Fix3D在nuScenes数据集上实现了SotA性能。
1. 概述
Co-Fix3D包含点云模态和多模态版本,对于点云版本,使用3D主干处理并压缩高度得到BEV特征 F L i D A R ∈ R H × W × 4 C F_{LiDAR}\in\mathbb R^{H\times W\times 4C} FLiDAR∈RH×W×4C,将通道维度减少到 C C C后,得到初始BEV特征 F 0 F_0 F0;对于多模态版本,使用2D主干和LSS得到图像的BEV特征 F C a m e r a ∈ R H × W × C F_{Camera}\in\mathbb R^{H\times W\times C} FCamera∈RH×W×C,随后进行特征融合得到初始BEV特征 F 0 F_0 F0。 F 0 F_0 F0会在LGE模块中被优化,生成BEV热图 H ∈ R H × W × c H\in\mathbb R^{H\times W\times c} H∈RH×W×c,其中 c c c为类别数。
本文使用多阶段方法生成查询,并使用掩膜机制逐步过滤每个阶段,使得并行的LGE模块受不同的真值监督。掩膜 M ∈ { 0 , 1 } H × W × 1 M\in\{0,1\}^{H\times W\times 1} M∈{0,1}H×W×1被初始化为全1。第 i i i阶段中,选择热图的前 k k k个值,并将掩膜中相应位置 ( w , h ) (w,h) (w,h)和类别 c c c的值 M i ( w , h , c ) M_i(w,h,c) Mi(w,h,c)设置为0。这样,一旦某区域被选择,后续阶段不会再探索该区域。随后,使用边界框级别的池化方法处理掩膜中为0的区域,以保证生成的查询尽可能在BEV均匀分布。此后,将掩膜与真实热图相乘,使得不同阶段关注不同的目标。
训练时使用高斯focal损失,保证最后两阶段的GT数量和第一阶段的相匹配。
2. 局部与全局增强模块
LGE模块用于减小噪声和修正扭曲的BEV特征。其有效整合了局部和全局去噪方法,以增强精度和效率。其包含三部分:用于局部优化的小波编码模块、用于全局优化的混合编码模块,和后处理的小波解码模块。
2.1 小波编码
本文利用DWT进行小波编码,以恢复BEV特征。DWT将BEV分解为4个通道:HH,HL,LH和LL。具体过程如下:
F 1 = R e d u c e ( F 0 ) F L L , F L H , F H L , F H H = D W T ( F 1 ) F 2 = C o n c a t ( F L L , F L H , F H L , F H H ) F_1=Reduce(F_0)\\ F_{LL},F_{LH},F_{HL},F_{HH}=DWT(F_1)\\ F_2=Concat(F_{LL},F_{LH},F_{HL},F_{HH}) F1=Reduce(F0)FLL,FLH,FHL,FHH=DWT(F1)F2=Concat(FLL,FLH,FHL,FHH)
其中 R e d u c e ( ⋅ ) Reduce(\cdot) Reduce(⋅)为将通道维度压缩到 C 4 \frac C4 4C, F 1 ∈ R H × W × C 4 F_1\in\mathbb R^{H\times W\times \frac C4} F1∈RH×W×4C, F L L , F L H , F H L , F H H ∈ R H 2 × W 2 × C 4 F_{LL},F_{LH},F_{HL},F_{HH}\in\mathbb R^{\frac H2\times\frac W2\times\frac C4} FLL,FLH,FHL,FHH∈R2H×2W×4C, F 2 ∈ R H 2 × W 2 × C F_2\in\mathbb R^{\frac H2\times\frac W2\times C} F2∈R2H×2W×C。
2.2 混合编码
混合编码使用全局注意力机制捕捉全局上下文信息。本文使用Flash Attention V2以提高效率。 F 0 F_0 F0首先通过下采样,然后拉平为序列以进行注意力:
S 1 = D W C o n v ( F 0 ) Q = K = V = F l a t t e n ( S 1 ) Q = A t t n ( Q , K , V ) F 3 = R e s h a p e ( F F N ( Q ) ) S_1=DWConv(F_0)\\ Q=K=V=Flatten(S_1)\\ Q=Attn(Q,K,V)\\ F_3=Reshape(FFN(Q)) S1=DWConv(F0)Q=K=V=Flatten(S1)Q=Attn(Q,K,V)F3=Reshape(FFN(Q))
其中 D W C o n v ( ⋅ ) DWConv(\cdot) DWConv(⋅)为下采样, S 1 ∈ R H 2 × W 2 × C S_1\in\mathbb R^{\frac H2\times\frac W2\times C} S1∈R2H×2W×C; F 3 F_3 F3的形状与 F 2 F_2 F2一致。
2.3 小波解码
小波解码模块进行后处理,作为前馈网络恢复BEV分辨率:
S 2 = F W ( C o n c a t ( F 2 , F 3 ) ) F 4 = D e p t h ( F p + S 2 ) F 5 = D e c o d e ( C o n c a t ( F 4 , F 0 ) ) S_2=FW(Concat(F_2,F_3))\\ F_4=Depth(F_p+S_2)\\ F_5=Decode(Concat(F_4,F_0)) S2=FW(Concat(F2,F3))F4=Depth(Fp+S2)F5=Decode(Concat(F4,F0))
其中 F W ( ⋅ ) FW(\cdot) FW(⋅)为用于上采样的前馈小波网络, S 2 ∈ R H × W × C S_2\in\mathbb R^{H\times W\times C} S2∈RH×W×C; D e p t h ( ⋅ ) Depth(\cdot) Depth(⋅)为扩展网络深度的中间网络。 D e c o d e ( ⋅ ) Decode(\cdot) Decode(⋅)则减少通道数,压缩数据进行后续处理。
2.4 LGE的设计选择
本文基于基准方案(a),设计了LGE不同的变体结构,如图所示。本文选择(e)作为LGE的结构。
实验表明,与(a)相比,(b)(d)会带来性能下降,©会导致训练发散,而(e)则能够提高性能。
实施细节:先训练激光雷达(带CBGS)/图像(不带CBGS)主干,然后冻结主干训练融合部分与检测头(除训练末期外,带GT增广)。
本文LGE之后的部分实际上类似FocalFormer3D,只是把原本级联的形式变为并行(实际上并非完全并行)。