原文链接:https://arxiv.org/abs/2403.05402
1. 引言
有效的BEV目标检测需要PV到BEV的视图变换(VT)。目前的VT分为2D到3D和3D到2D两类,前者通过预测深度概率提升2D特征,但存在深度不确定性;后者则使用3D查询采样2D特征,使用Transformer学习注意力权重建立3D和2D特征的联系,有较高的复杂度。
一些方法整合两种VT,使用两阶段策略,使用LSS的特征初始化Transformer VT。但这会受到初始化特征精度的影响,且复杂度被进一步提高。
本文认为两种VT从不同的角度建立了3D和2D的关系。本文提出统一的特征变换(如下图所示),利用2D到3D和3D到2D VT,使用3个概率评估对应关系:(1)BEV概率:最小化BEV空网格的影响;(2)投影概率:考虑多个3D点投影到相同2D位置时,多个对应关系的区分;(3)图像概率:视图变换时排除背景特征。
本文使用CNN进行3D到2D的VT,引入HeightTrans。该模块基于概率采样,可建立精确的3D-2D关系;还可通过预先计算加速,有利于实时应用。还通过这一特征变换加强LSS,称为Prob-LSS。
组合HeightTrans和Prob-LSS,得到本文方法Dual-BEV,一种单阶段方法。此外,本文提出鲁棒的BEV融合模块,称为双重特征融合(DFF)。该模块使用通道注意力加强双BEV特征,并利用空间注意力细化BEV概率预测。Dual-BEV利用双视图概率对应关系,理解和表达场景的概率分布。
本文方法在没有使用Transformer的情况下达到了SotA水平。
3. 方法
Dual-BEV先使用图像主干提取
N
N
N视图图像特征
I
∈
R
N
×
C
I
×
H
I
×
W
I
I\in\mathbb R^{N\times C_I\times H_I\times W_I}
I∈RN×CI×HI×WI,然后使用SceneNet(结构与DepthNet类似)提取实例掩膜
M
∈
R
N
×
C
M
×
H
I
×
W
I
M\in\mathbb R^{N\times C_M\times H_I\times W_I}
M∈RN×CM×HI×WI和深度图
D
∈
R
N
×
C
D
×
H
I
×
W
I
D\in\mathbb R^{N\times C_D\times H_I\times W_I}
D∈RN×CD×HI×WI。BCE损失用于监督实例掩膜和深度。
HeightTrans模块使用概率采样获取图像特征,同时Prob-LSS分支使用深度预测提升带实例分割的图像。来自这两个分支的特征被送入DFF模块进行融合和BEV概率预测。最后,BEV概率 P ∈ R 1 × H F × W F P\in\mathbb R^{1\times H_F\times W_F} P∈R1×HF×WF被用于融合特征,得到最终的BEV特征 F ∈ R C F × H F × W F F\in\mathbb R^{C_F\times H_F\times W_F} F∈RCF×HF×WF。
3.1 HeightTrans
本文在预定义的BEV图下采样3D点集,并求和每个BEV网格内的点得到BEV特征。
BEV高度。不同高度编码了不同的3D空间信息,本文使用多分辨率采样策略,在感兴趣的高度范围内使用高分辨率采样,余下的范围使用低分辨率采样。这样,可以增强对小物体的关注。
概率采样。给定预定义的3D采样点
p
3
d
=
(
x
,
y
,
z
)
∈
R
3
p_{3d}=(x,y,z)\in\mathbb R^3
p3d=(x,y,z)∈R3,后续任务包括获取特征和加权对应关系。已知相机内参
K
K
K和外参
T
T
T,可将采样点投影到图像上得到
p
2
d
=
d
⋅
(
u
,
v
,
1
)
p_{2d}=d\cdot(u,v,1)
p2d=d⋅(u,v,1),其中
d
d
d为深度:
p
2
d
=
K
⋅
T
⋅
p
3
d
p_{2d}=K\cdot T\cdot p_{3d}
p2d=K⋅T⋅p3d
直接的方法是,使用双线性采样
G
2
d
\mathcal G_{2d}
G2d,在图像特征
I
I
I的投影位置
p
2
d
p_{2d}
p2d处获取3D特征
F
h
t
F_{ht}
Fht:
F
h
t
(
p
3
d
)
=
G
2
d
(
I
,
p
2
d
)
F_{ht}(p_{3d})=\mathcal G_{2d}(I,p_{2d})
Fht(p3d)=G2d(I,p2d)
但投影位置可能是背景像素,会误导检测。本文使用实例掩膜
M
M
M,表达图像概率
P
i
m
g
P_{img}
Pimg:
F
h
t
(
p
3
d
)
=
G
2
d
(
M
⋅
I
,
p
2
d
)
F_{ht}(p_{3d})=\mathcal G_{2d}(M\cdot I,p_{2d})
Fht(p3d)=G2d(M⋅I,p2d)
为区分投影到同一2D位置的多个3D点,本文使用来自对深度
D
D
D进行三线性采样的投影概率
P
p
r
o
j
P_{proj}
Pproj:
F
h
t
(
p
3
d
)
=
G
3
d
(
D
,
p
2
d
)
⋅
G
2
d
(
M
⋅
I
,
p
2
d
)
F_{ht}(p_{3d})=\mathcal G_{3d}(D,p_{2d})\cdot\mathcal G_{2d}(M\cdot I,p_{2d})
Fht(p3d)=G3d(D,p2d)⋅G2d(M⋅I,p2d)
最后,为处理空的BEV网格,引入BEV概率
P
B
E
V
P_{BEV}
PBEV表达BEV网格被占用的概率:
F
h
t
(
p
3
d
)
=
P
b
e
v
(
x
,
y
)
⋅
G
3
d
(
D
,
p
2
d
)
⋅
G
2
d
(
M
⋅
I
,
p
2
d
)
F_{ht}(p_{3d})=P_{bev}(x,y)\cdot\mathcal G_{3d}(D,p_{2d})\cdot\mathcal G_{2d}(M\cdot I,p_{2d})
Fht(p3d)=Pbev(x,y)⋅G3d(D,p2d)⋅G2d(M⋅I,p2d)
加速。本文通过建立查找表,将双线性/三线性采样替换为舍入函数。上式简化为:
F
h
t
(
x
,
y
,
z
)
=
P
b
e
v
(
x
,
y
)
⋅
D
(
u
,
v
,
d
)
⋅
M
(
u
,
v
)
⋅
I
(
u
,
v
)
F_{ht}(x,y,z)=P_{bev}(x,y)\cdot D(u,v,d)\cdot M(u,v)\cdot I(u,v)
Fht(x,y,z)=Pbev(x,y)⋅D(u,v,d)⋅M(u,v)⋅I(u,v)
然后,可求和每个BEV网格内
N
z
N_z
Nz个预定义的点对应的
N
c
N_c
Nc个图像特征,得到最终的HeightTrans输出特征:
F
h
t
(
x
,
y
)
=
P
b
e
v
(
x
,
y
)
⋅
∑
i
=
1
N
z
∑
j
=
1
N
c
D
(
u
i
j
,
v
i
j
,
d
i
j
)
⋅
M
(
u
i
j
,
v
i
j
)
⋅
I
(
u
i
j
,
v
i
j
)
F_{ht}(x,y)=P_{bev}(x,y)\cdot\sum_{i=1}^{N_z}\sum_{j=1}^{N_c}D(u_{ij},v_{ij},d_{ij})\cdot M(u_{ij},v_{ij})\cdot I(u_{ij},v_{ij})
Fht(x,y)=Pbev(x,y)⋅i=1∑Nzj=1∑NcD(uij,vij,dij)⋅M(uij,vij)⋅I(uij,vij)
该式与BEVPooling类似,因此本文可计算3D点在特征图和深度图内的索引,形成查找表,在推断时加速。
3.2 Prob-LSS
本文将BEV概率引入LSS流程,称为Prob-LSS,其公式类似前式:
F
l
s
s
(
x
,
y
)
=
P
b
e
v
(
x
,
y
)
⋅
∑
i
=
1
N
d
D
(
u
k
,
v
k
,
d
k
)
⋅
M
(
u
k
,
v
k
)
⋅
I
(
u
k
,
v
k
)
F_{lss}(x,y)=P_{bev}(x,y)\cdot\sum_{i=1}^{N_d}D(u_k,v_k,d_k)\cdot M(u_k,v_k)\cdot I(u_k,v_k)
Flss(x,y)=Pbev(x,y)⋅i=1∑NdD(uk,vk,dk)⋅M(uk,vk)⋅I(uk,vk)
其中 N d N_d Nd为BEV网格在 ( x , y ) (x,y) (x,y)处的投影点数量。与HeightTrans相比,该点数为不固定的,因此LSS与HeightTrans互补。
3.3 双特征融合
观察HeightTrans和Prob-LSS的公式可知,BEV概率可在融合后获取。本文提出双特征融合(DFF)模块,融合特征并预测BEV概率。DFF模块含有融合模块
f
f
f、使用通道注意力预测求和权重;还含有空间注意力增强的ProbNet(SAE-ProbNet)预测BEV概率
P
P
P:
F
(
x
,
y
)
=
P
(
x
,
y
)
⋅
f
(
F
l
s
s
(
x
,
y
)
,
F
h
t
(
x
,
y
)
)
F(x,y)=P(x,y)\cdot f(F_{lss}(x,y),F_{ht}(x,y))
F(x,y)=P(x,y)⋅f(Flss(x,y),Fht(x,y))
融合模块:可视化表明,
F
l
s
s
F_{lss}
Flss关注占用多数图像像素的近距离物体,而
F
h
t
F_{ht}
Fht关注遥远物体的信息。这表明,在多阶段VT中,使用LSS初始化的特征无法指导二阶段VT遥远区域的特征提取。
本文将双特征拼接并输入通道注意力融合(CAF)模块,预测特征选择的亲和度:
F
c
h
a
n
n
e
l
=
f
(
F
l
s
s
,
F
h
t
)
=
C
(
F
l
s
s
⊖
F
h
t
)
⋅
F
l
s
s
+
(
1
−
C
(
F
l
s
s
⊖
F
h
t
)
)
⋅
F
h
t
F_{channel}=f(F_{lss},F_{ht})=C(F_{lss}\ominus F_{ht})\cdot F_{lss}+(1-C(F_{lss}\ominus F_{ht}))\cdot F_{ht}
Fchannel=f(Flss,Fht)=C(Flss⊖Fht)⋅Flss+(1−C(Flss⊖Fht))⋅Fht
其中 ⊖ \ominus ⊖为拼接, C C C表示CAF模块,这样,可以软性融合两种特征,增强近处和远处的表达。
BEV概率预测:本文使用BEV概率
P
P
P聚合
F
c
h
a
n
n
e
l
F_{channel}
Fchannel,以减小空BEV网格的影响。使用ProbNet提取局部信息(称为局部分支
P
l
P_l
Pl),再通过空间注意力模块捕捉全局信息,作为全局分支
P
g
P_g
Pg进行增强。
F
s
p
a
t
i
a
l
=
P
⋅
F
c
h
a
n
n
e
l
=
σ
(
P
l
(
F
c
h
a
n
n
e
l
)
+
P
g
(
F
c
h
a
n
n
e
l
)
)
⋅
F
c
h
a
n
n
e
l
F_{spatial}=P\cdot F_{channel}=\sigma(P_l(F_{channel})+P_g(F_{channel}))\cdot F_{channel}
Fspatial=P⋅Fchannel=σ(Pl(Fchannel)+Pg(Fchannel))⋅Fchannel
其中 σ \sigma σ为Sigmoid函数。局部分支由BEV损失和Dice损失监督,还使用BEV中心性损失使模型更关注遥远物体。全局分支使用大的卷积核,以增大BEV感受野。
4. 实验
4.2 实施细节
使用BEVDet的数据增广策略;多帧设置时,使用过去的关键帧,按照BEVDet4D的方式进行时间融合。
4.3 主要结果
本文方法能在单帧和多帧设置下超过单VT和两阶段VT方法的基准方案;单帧设置能超过一些时间融合方法;能超过基于Transformer的方法,这说明VT中精确对应关系的关键作用。
4.4 消融研究
各成分的作用。在BEVDepth的基础上,使用ProbNet预测BEV概率有微小性能提升。进一步引入HT特征能与Prob-LSS互补,从而提高性能。引入CAF模块能略微提高性能;再引入SAE模块增强ProbNet的BEV概率预测,能提高性能。上述操作引入的推断时间是可忽略的。
各概率的作用:在投影概率的基础上,引入图像概率能带来较高的性能提升;引入BEV概率也可带来性能提升。这说明图像背景像素对BEV空白像素有不利影响。使用所有概率后,性能最高;去掉投影概率(即深度均匀分布)会大幅降低性能,说明该概率在LSS中的重要性。
概率采样的影响。实验表明,本文的概率采样比深度感知的空间交叉注意力、双线性采样,以及BEV池化有更高的性能。预先计算使其速度能达到BEV池化相当的水平,远超其余两种方法。
高度采样策略的影响:实验表明,在均匀采样下,采样点数超过8即达到性能饱和。本文的多分辨率采样能达到与更多点数的均匀采样相当的水平。
Prob-LSS的影响:使用实例掩膜后,LSS性能有所提升;再使用BEV概率,减小错误深度估计产生的无关BEV特征的影响后,性能进一步提升。
融合策略的影响:使用Prob-LSS的结果为HeightTrans预测BEV概率,性能反而比直接求和融合更低。本文的DFF策略能明显提升性能。
4.5 可视化
可视化表明,本文方法在近距离和中距离物体上的误检较少;由于HeightTrans,本文方法在远距离物体上的漏检也有所减少。此外,本文对小物体的检测精度较高。
5. 结论与局限性
局限性:本文方法仅利用当前帧计算概率,且依赖深度估计。