原文链接:https://openaccess.thecvf.com/content/CVPR2023W/E2EAD/papers/Rong_DynStatF_An_Efficient_Feature_Fusion_Strategy_for_LiDAR_3D_Object_CVPRW_2023_paper.pdf
1. 引言
单帧方法会因为远处点云的稀疏性导致漏检,利用过去帧的点云信息可以进行补偿。通常的多帧方法会将若干相邻帧的点云合并,并将时间戳信息作为额外通道维度,以使用时间信息增强模型。但是多帧积累会因为物体运动产生运动模糊,导致物体定位困难。总的来说,多帧输入的优势在于运动特征的补充,而单帧输入的优势在于精确定位物体。
本文提出DynStaF(动态-静态融合)方法,融合多帧点云丰富的语义信息(动态分支)和单帧点云精确的几何信息(静态分支)。
为实现融合,本文提出邻域交叉注意力(NCA)和动态-静态交互(DSI)模块。前者不使用全局注意力,因其会带来额外计算开销,且对性能的提升不明显(相关区域为稀疏且局部的)。因此,NCA将单帧分支的特征作为查询,从多帧特征中的邻域获取键与值,逐步密集化单帧特征。然后,使用基于CNN的DSI模块在每个像素处进行全面的融合。
3. 方法
3.1 整体结构
如上图所示,动态分支可以使用各种主干网络,而静态分支只使用VFE,无需主干网络。设动态分支和静态分支的BEV特征图分别为
F
d
∈
R
C
d
×
W
d
×
H
d
F_d\in\mathbb{R}^{C_d\times W_d\times H_d}
Fd∈RCd×Wd×Hd和
F
s
∈
R
C
s
×
W
s
×
H
s
F_s\in\mathbb{R}^{C_s\times W_s\times H_s}
Fs∈RCs×Ws×Hs。若大小不同,会使用额外卷积处理静态BEV特征,然后使用NCA融合动态和静态特征。
第
l
l
l个融合块的输出记为
F
s
l
+
1
=
NCA
l
(
CNN
l
(
F
d
l
,
F
s
l
)
)
F^{l+1}_s=\text{NCA}^l(\text{CNN}^l(F_d^l,F_s^l))
Fsl+1=NCAl(CNNl(Fdl,Fsl)),其中
F
d
l
F_d^l
Fdl与
F
s
l
F_s^l
Fsl有相同的大小。通过
N
N
N个融合块后,得到更小的特征图
F
d
o
u
t
,
F
s
o
u
t
F_d^{out},F_s^{out}
Fdout,Fsout,并使用DSI加强两者交互,将输出的特征输入后续模块。
3.2 动态-静态融合模块
邻域交叉注意力(NCA)模块:使用
F
s
l
F_s^l
Fsl的特征作为查询、
F
d
l
F_d^l
Fdl的特征生成键与值。由于同一物体在两个特征图中的位置应该相近,故使用局部信息进行交叉注意力更加重要;此外,这样也能减小计算。邻域交叉注意力的结构如下图所示。 具体来说,首先使用卷积层token化静态特征图,得到
m
m
m维特征向量的序列
F
s
∈
R
n
×
m
F_s\in\mathbb{R}^{n\times m}
Fs∈Rn×m。然后通过线性投影得到
Q
s
∈
R
n
×
q
Q_s\in\mathbb{R}^{n\times q}
Qs∈Rn×q;同理通过token化和线性投影处理动态特征图得到键
K
d
∈
R
n
×
q
K_d\in\mathbb{R}^{n\times q}
Kd∈Rn×q与值
V
d
∈
R
n
×
v
V_d\in\mathbb{R}^{n\times v}
Vd∈Rn×v。查询
i
i
i的交叉注意力
A
c
A_c
Ac为:
A
c
i
=
σ
(
Q
s
i
⋅
(
K
d
ρ
(
i
)
)
T
+
B
(
i
,
ρ
(
i
)
)
v
)
⋅
V
d
i
A_c^i=\sigma(\frac{Q_s^i\cdot(K_d^{\rho(i)})^T+B^{(i,\rho(i))}}{\sqrt{v}})\cdot V_d^i
Aci=σ(v
Qsi⋅(Kdρ(i))T+B(i,ρ(i)))⋅Vdi 其中
ρ
(
i
)
\rho(i)
ρ(i)为查询
i
i
i大小为
k
k
k的邻域,
B
(
i
,
ρ
(
i
)
)
B^{(i,\rho(i))}
B(i,ρ(i))为位置偏置,
σ
\sigma
σ为SoftMax函数。
然后使用另一线性层处理
A
c
i
A^i_c
Aci,并使用残差连接和额外线性层进一步处理输出。同时,为增强静态特征,使用类似的方法以自注意力形式处理
F
s
F_s
Fs(查询、键与值均由其生成),将输出与交叉注意力的输出拼接输入到卷积层,最终的输出即为NCA模块的输出。NCA的完整结构如下图所示。 动态-静态交互(DSI)模块:经过卷积与NCA处理后,特征图变得密集而信息丰富。为充分融合特征,引入额外的交互模块。给定
F
s
o
u
t
,
F
d
o
u
t
∈
R
C
×
W
×
H
F_s^{out},F_d^{out}\in\mathbb{R}^{C\times W\times H}
Fsout,Fdout∈RC×W×H,首先沿通道维度拼接得到
F
c
F_c
Fc,并使用卷积分别处理
F
s
o
u
t
,
F
d
o
u
t
,
F
c
F_s^{out},F_d^{out},F_c
Fsout,Fdout,Fc得到
F
s
′
,
F
d
′
,
F
c
′
F'_s,F'_d,F'_c
Fs′,Fd′,Fc′,然后如下图所示生成两个特征图,与
F
c
′
F'_c
Fc′拼接并通过卷积得到最终输出
F
o
∈
R
C
×
W
×
H
F_o\in\mathbb{R}^{C\times W\times H}
Fo∈RC×W×H,输入到检测头中。
4. 实验
4.2 与其余方法比较
nuScenes验证集上的结果:使用不同主干(PointPillars和CenterPoint)均能有大幅的性能提升,且超过其余SotA方法。
nuScenes测试集上的结果:本文的方法能超过其余方法的性能;使用2D主干的PointPillars + DynStaF方法在小物体如barrier和traffic cone类别上能有大幅提升,接近3D主干方法的性能。
4.3 消融研究
使用通道拼接 + CNN替换NCA模块,比起仅多帧输入的模型有性能提升,证明多帧输入和单帧输入有互补的信息。使用NCA模块融合时,性能能进一步提升。当特征图变得密集时,使用DSI有更好的效果,NCA+DSI的方法比只使用NCA的方法有更高的性能。
若NCA之后两个分支的CNN共享权重,会导致性能的严重下降。这表明单帧特征和多帧特征有不同的信息,单一网络不能同时处理两者。
4.4 分析
其余交叉注意力模块:使用可变形注意力替换NCA时,性能有轻微下降,这表明完整的邻域交互是必要的。其余方法也会导致性能下降。
静态分支的高效性:若对静态分支使用与动态分支相同的主干网络,会导致性能下降和延迟增加。这可能是因为单帧输入不足以训练完整的主干。
4.5 定性结果
可视化表明,本文的方法比起仅多帧输入的方法,能更精准地定位物体且能减少误检。
相关文章
发表评论