原文链接: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 定性结果

可视化表明,本文的方法比起仅多帧输入的方法,能更精准地定位物体且能减少误检。

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: