【论文笔记】3DOPFormer: 3D Occupancy Perception from Multi-Camera Images with Directional and Distance Enhancement 原文链接:https://ieeexplore.ieee.org/abstract/document/10363646
I. 引言
本文的3DOPFormer使用空间交叉注意力机制和反卷积恢复3D占用,然后基于激光雷达射线方向特征提出优化3D占用感知模型的新方法。使用神经渲染方法合成激光雷达射线方向的距离,通过最小化合成距离与原始点云距离之间的损失,使模型生成精确的占用预测。通过插值可以得到任意3D点的特征,从而预测任意分辨率下的3D场景占用。
III. 方法
A. 准备知识
本节介绍了NeRF的体积渲染公式,见神经辐射场的简单介绍。
在粗糙采样的基础上,还可进行细化采样,即根据粗糙采样的权重分布采样新的点,再将粗糙采样点与细化采样点一起用于计算渲染结果。损失函数为粗糙采样渲染结果光度损失与细化采样渲染结果光度损失的均值。
对于激光雷达距离合成,将上述渲染公式中的RGB值替换为距离即可。由于点的距离是采样得到,需要预测的仅有
σ
\sigma
σ,因此可改为直接预测不透明度
α
\alpha
α:
d
^
=
∑
i
=
1
N
T
i
α
i
t
i
T
i
=
∑
j
=
1
i
−
1
(
1
−
α
j
)
α
i
=
F
(
x
i
)
\hat{d}=\sum_{i=1}^NT_i\alpha_it_i\\T_i=\sum_{j=1}^{i-1}(1-\alpha_j)\\\alpha_i=F(x_i)
d^=i=1∑NTiαitiTi=j=1∑i−1(1−αj)αi=F(xi) 其中
F
F
F为3D占用感知模型(见后文)。
B. 概述
如上图所示,首先用主干网络提取图像特征,并使用空间注意力提升到3D空间得到
V
i
∈
R
H
×
W
×
Z
×
C
V_i\in\mathbb{R}^{H\times W\times Z\times C}
Vi∈RH×W×Z×C,并使用3D反卷积得到更高分辨率的3D体素特征。最后,使用MLP预测3D占用结果。
C. 3D占用感知查询
定义可学习参数
Q
∈
R
H
×
W
×
Z
×
C
Q\in\mathbb{R}^{H\times W\times Z\times C}
Q∈RH×W×Z×C(与初始3D体素
V
i
V_i
Vi大小相同)。位于网格
p
=
(
x
,
y
,
z
)
p=(x,y,z)
p=(x,y,z)处的查询为
Q
p
∈
R
C
Q_p\in\mathbb{R}^C
Qp∈RC。
D. 空间占用交叉注意力
本文使用可变形注意力以减小计算,其中3D体素查询与2D图像特征中的相应区域的特征交互。
首先将查询
Q
p
Q_p
Qp投影到图像上,采样附近的图像特征,然后按下式得到
V
i
V_i
Vi:
S
O
C
A
(
Q
p
,
F
)
=
1
∣
V
h
i
t
∣
∑
i
∈
V
h
i
t
D
A
(
Q
p
,
P
(
p
,
i
)
,
F
i
)
D
A
(
q
,
p
,
x
)
=
∑
i
′
=
1
N
h
e
a
d
W
i
′
∑
j
′
=
1
N
k
e
y
A
i
′
j
′
W
i
′
′
x
(
p
+
Δ
p
i
′
j
′
)
SOCA(Q_p,F)=\frac{1}{|\mathcal{V}_{hit}|}\sum_{i\in\mathcal{V}_{hit}}DA(Q_p,\mathcal{P}(p,i),F^i)\\DA(q,p,x)=\sum_{i'=1}^{N_{head}}W_{i'}\sum_{j'=1}^{N_{key}}A_{i'j'}W'_{i'}x(p+\Delta p_{i'j'})
SOCA(Qp,F)=∣Vhit∣1i∈Vhit∑DA(Qp,P(p,i),Fi)DA(q,p,x)=i′=1∑NheadWi′j′=1∑NkeyAi′j′Wi′′x(p+Δpi′j′)
其中
V
h
i
t
\mathcal{V}_{hit}
Vhit为查询所属视图数量,
P
(
p
,
i
)
\mathcal{P}(p,i)
P(p,i)为将点
p
p
p投影到视图
i
i
i上的函数,
F
i
F^i
Fi为视图
i
i
i的特征。
N
h
e
a
d
,
N
k
e
y
N_{head},N_{key}
Nhead,Nkey分别为注意力头数和采样点数,
W
i
′
∈
R
C
×
(
C
/
N
h
e
a
d
)
,
W
i
′
′
∈
R
(
C
/
N
h
e
a
d
)
×
C
W_{i'}\in\mathbb{R}^{C\times(C/N_{head})},W'_{i'}\in\mathbb{R}^{(C/N_{head})\times C}
Wi′∈RC×(C/Nhead),Wi′′∈R(C/Nhead)×C为权重,
A
i
′
j
′
∈
[
0
,
1
]
A_{i'j'}\in[0,1]
Ai′j′∈[0,1]为预测注意力权重,满足
∑
j
′
=
1
N
k
e
y
A
i
′
j
′
=
1
\sum_{j'=1}^{N_{key}}A_{i'j'}=1
∑j′=1NkeyAi′j′=1。
Δ
p
i
′
j
′
∈
R
2
\Delta p_{i'j'}\in\mathbb{R}^2
Δpi′j′∈R2为预测偏移量。
下面是投影函数
P
(
p
,
i
)
\mathcal{P}(p,i)
P(p,i)的介绍。首先根据体素索引
(
x
,
y
,
z
)
(x,y,z)
(x,y,z)计算查询的真实世界坐标
(
x
w
,
y
w
,
z
w
)
(x_w,y_w,z_w)
(xw,yw,zw):
x
w
=
x
+
0.5
W
(
X
max
−
X
min
)
+
X
min
y
w
=
x
+
0.5
H
(
Y
max
−
Y
min
)
+
Y
min
z
w
=
x
+
0.5
Z
(
Z
max
−
Z
min
)
+
Z
min
x_w=\frac{x+0.5}{W}(X_{\max}-X_{\min})+X_{\min}\\ y_w=\frac{x+0.5}{H}(Y_{\max}-Y_{\min})+Y_{\min}\\ z_w=\frac{x+0.5}{Z}(Z_{\max}-Z_{\min})+Z_{\min}
xw=Wx+0.5(Xmax−Xmin)+Xminyw=Hx+0.5(Ymax−Ymin)+Yminzw=Zx+0.5(Zmax−Zmin)+Zmin
然后使用投影矩阵投影到图像上:
P
(
p
,
i
)
=
(
x
i
,
y
i
)
z
i
[
x
i
y
i
1
1
/
z
i
]
=
[
K
O
O
1
]
[
R
T
O
1
]
[
x
w
y
w
z
w
1
]
\mathcal{P}(p,i)=(x_i,y_i)\\ z_i\begin{bmatrix}x_i\\y_i\\1\\1/z_i\end{bmatrix}=\begin{bmatrix}K&O\\O&1\end{bmatrix}\begin{bmatrix}R&T\\O&1\end{bmatrix}\begin{bmatrix}x_w\\y_w\\z_w\\1\end{bmatrix}
P(p,i)=(xi,yi)zi
xiyi11/zi
=[KOO1][ROT1]
xwywzw1
其中
K
,
R
,
T
K,R,T
K,R,T分别为相机内参、外参旋转矩阵与外参平移矩阵,
z
i
z_i
zi为深度。
E. 模型优化
除交叉熵损失和lovasz-softmax损失外,还提出基于点云方向特征的方向体素损失和基于神经渲染的距离损失。
1) 方向体素损失
如下左图所示,激光雷达射线会从原点出发,穿过未占用体素(empty颜色)到达占用体素处。记经过的体素编号为1到
m
m
m,则方向体素损失为:
L
d
i
r
v
o
x
e
l
=
1
n
∑
L
1
s
m
o
o
t
h
(
m
log
p
c
+
∑
i
=
1
m
−
1
(
m
−
i
)
log
(
1
−
p
i
)
,
0
)
L
1
s
m
o
o
t
h
(
x
,
y
)
=
{
0.5
(
x
−
y
)
2
若
∣
x
−
y
∣
<
1
∣
x
−
y
∣
−
0.5
否则
\mathcal{L}_{dirvoxel}=\frac{1}{n}\sum L1_{smooth}(m\log p_c+\sum_{i=1}^{m-1}(m-i)\log(1-p_i),0)\\L1_{smooth}(x,y)=\left\{\begin{matrix}0.5(x-y)^2&若|x-y|<1\\|x-y|-0.5&否则\end{matrix}\right.
Ldirvoxel=n1∑L1smooth(mlogpc+i=1∑m−1(m−i)log(1−pi),0)L1smooth(x,y)={0.5(x−y)2∣x−y∣−0.5若∣x−y∣<1否则
其中
n
n
n为激光雷达射线数,
p
i
p_i
pi为中间点的预测占用概率,
p
c
p_c
pc为预测所属真实类别的概率。
log
\log
log前的
(
m
−
i
)
(m-i)
(m−i)为权重,射线从原点到激光雷达点的权重逐渐减小。方向体素损失可以促进模型收敛并提高性能。
2) 距离损失
如上右图所示,粗糙阶段将激光雷达射线段均匀分为
N
N
N段进行采样,细化阶段根据粗糙阶段采样点的权重分布,再采样
N
N
N个点。采样点的特征从体素特征中插值,并输入MLP预测不透明度,进行渲染。距离损失为:
L
d
i
s
t
a
n
c
e
=
1
2
∣
R
∣
∑
(
L
1
s
m
o
o
t
h
(
log
d
^
c
,
log
d
)
+
L
1
s
m
o
o
t
h
(
log
d
^
f
,
log
d
)
)
\mathcal{L}_{distance}=\frac{1}{2|\mathcal{R}|}\sum(L1_{smooth}(\log\hat d_c,\log d)+L1_{smooth}(\log\hat d_f,\log d))
Ldistance=2∣R∣1∑(L1smooth(logd^c,logd)+L1smooth(logd^f,logd))
其中
R
\mathcal{R}
R为射线集合。
IV. 实验
C. 评估指标
使用IoU(不考虑类别)和mIoU评估性能。此外还仅针对激光雷达射线穿过的体素进行评估。
D. 主要结果
1) nuScenes数据集上的3D语义占用预测
实验表明,本文的方法与基准方案相比有更高的性能,且在激光雷达射线穿过的体素上的性能优势更明显。
可视化表明,本文的方法能更精确地表达物体的结构,且能成功预测一些远处的物体或小物体。
E. 消融研究
实验表明,本文的方向体素损失和距离损失均能提高模型性能,且前者作用更大。
文章来源
发表评论