论文地址: HUGS: Holistic Urban 3D Scene Understanding via Gaussian Splatting
代码地址: HUGS
摘要
基于 RGB 图像的城市场景的整体理解是一个具有挑战性的问题。它包含理解几何和外观,以实现新颖的视图合成、解析语义标签和跟踪移动对象。尽管取得了相当大的进展,但现有方法通常侧重于此任务的特定方面,并且需要额外的输入,例如 LiDAR 扫描或手动注释的 3D 边界框。在本文中,我们介绍了一种新颖的管道,它利用 3D 高斯飞溅进行整体城市场景理解。我们的主要想法是使用静态和动态 3D 高斯的组合联合优化几何、外观、语义和运动,其中移动对象姿势通过物理约束进行正则化。我们的方法提供了实时渲染新视点的能力,以高精度产生 2D 和 3D 语义信息,并重建动态场景,即使在 3D 边界框检测高度嘈杂的场景中。KITTI、KITTI-360 和 Virtual KITTI 2 的实验结果证明了我们方法的有效性。
3 Method
图 2 说明了我们提出的方法 HUGS。我们的算法将动态城市场景的姿态图像作为输入。我们将场景分解为静态和动态 3D 高斯,动态车辆的运动通过单周期模型建模。3D 高斯不仅表示外观,还表示语义和流信息,允许通过体绘制渲染 RGB 图像、语义标签以及光流。
方法概述。我们将场景分解为静态区域和N个刚性移动的动态对象。每个动态对象在其规范空间中使用 3D 高斯表示,然后根据由单周期模型约束的转换转换为世界坐标。我们使用不同参数的 N N N 个单周期模型来单独表示 N N N 个动态对象的运动。每个 3D 高斯都包含有关外观和语义的信息,而光流可以通过计算高斯中心的运动来获得,从而能够在一个统一的模型中渲染 RGB 图像、语义图和光流。我们的方法使用 RGB 图像、嘈杂的 2D 语义标签和噪声光流进行监督,分别表示为 L I \mathcal{L}_I LI、 L S \mathcal{L}_S LS 和 L F \mathcal{L}_F LF。
3.1. Decomposed Scene Representation
我们假设场景由静态区域组成,共有
N
N
N 辆动态车辆表现出刚性运动。静态区域在世界坐标系中使用静态高斯函数表示。
N
N
N 个动态车辆中的每一个都在规范坐标系中使用动态高斯和一组刚性变换
{
(
R
t
n
,
t
t
n
)
}
t
=
1
T
\left\{(R^n_t,t^n_t)\right\}^T_{t=1}
{(Rtn,ttn)}t=1T建模,其中
t
t
t 表示时间戳。
Static and Dynamic 3D Gaussians: 在高斯飞溅[17]之后,我们使用 3D 高斯对静态和动态区域进行建模。每个高斯由 3D 协方差矩阵
Σ
∈
R
3
×
3
Σ ∈ \mathbb{R}^{3×3}
Σ∈R3×3 和 3D 位置
μ
∈
R
3
μ ∈ \mathbb{R}^3
μ∈R3 以及不透明度
α
∈
R
+
α ∈ \mathbb{R}^+
α∈R+ 定义:
G
(
x
)
=
α
e
x
p
(
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
)
(1)
G(x)=\alpha exp\left(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right)\tag1
G(x)=αexp(−21(x−μ)TΣ−1(x−μ))(1)
此外,每个高斯代表一个颜色向量
c
∈
R
3
c ∈ \mathbb{R}^3
c∈R3,参数化为 SH 系数。在这项工作中,我们建议额外对每个 3D 高斯的语义
l
o
g
i
t
s
logits
logits
s
∈
R
S
s ∈ \mathbb{R}^S
s∈RS 进行建模,从而允许渲染 2D 语义标签。此外,我们可以通过将 3D 位置
μ
μ
μ 投影到两个不同时间戳
t
1
t_1
t1 和
t
2
t_2
t2 的图像空间并计算运动,自然地为每个 3D 高斯获得渲染的光流
f
t
1
→
t
2
∈
R
2
f_{t_1 →t_2} ∈ \mathbb{R}^2
ft1→t2∈R2。
Unicycle Model: 我们根据 Unicycle Model 参数化变换
(
R
t
,
t
t
)
(R_t, t_t)
(Rt,tt)。单周期模型的状态由三个元素参数化:
(
x
t
,
y
t
,
θ
t
)
(x_t, y_t, θ_t)
(xt,yt,θt),其中
x
t
x_t
xt 和
y
t
y_t
yt 表示
t
t
t 的前两个轴,
t
t
=
[
x
t
,
y
t
,
z
t
]
t_t = [x_t, y_t, z_t]
tt=[xt,yt,zt],
θ
t
θ_t
θt 为
R
t
R_t
Rt 的偏航角。为了使连续的单周期模型适应离散帧,我们推导出从时间戳
t
t
t 到
t
+
1
t + 1
t+1 的车辆过渡的单周期模型的演算,如下所示:
x
t
+
1
=
x
t
+
v
t
ω
t
(
s
i
n
θ
t
+
1
−
s
i
n
θ
t
)
x_{t+1}=x_t+\frac{v_t}{\omega_t}(sin\theta_{t+1}-sin\theta_{t})
xt+1=xt+ωtvt(sinθt+1−sinθt)
y
t
+
1
=
y
t
−
v
t
ω
t
(
c
o
s
θ
t
+
1
−
c
o
s
θ
t
)
(2)
y_{t+1}=y_t-\frac{v_t}{\omega_t}(cos\theta_{t+1}-cos\theta_{t}) \tag2
yt+1=yt−ωtvt(cosθt+1−cosθt)(2)
θ
t
+
1
=
θ
t
+
ω
t
\theta_{t+1}=\theta_{t}+\omega_t
θt+1=θt+ωt
这里,
v
t
v_t
vt 表示前进速度,
ω
t
ω_t
ωt 是角速度。与独立优化每帧动态车辆的变换相比,该模型集成了物理约束,从而实现运动物体的平滑运动建模,使其不太容易出现局部极小值。
虽然可以定义初始状态
(
x
1
,
y
1
,
θ
1
)
(x_1, y_1, θ_1)
(x1,y1,θ1) 并根据速度
v
t
v_t
vt 和
ω
t
ω_t
ωt 递归推导出以下状态,但这种递归参数化对于优化具有挑战性。在实践中,我们定义了一组可训练状态
{
(
x
t
,
y
t
,
θ
t
)
}
t
=
1
T
\left\{(x_t, y_t, θ_t)\right\}^T_{t=1}
{(xt,yt,θt)}t=1T 和可训练速度
{
v
t
,
ω
t
}
t
=
1
T
−
1
\left\{v_t, ω_t\right\}^{T-1}_{t=1}
{vt,ωt}t=1T−1 ,并添加正则化项以确保车辆的状态遵守方程式中的独轮车模型的 Eq.2 正则化项将在第 3.3 节中描述。此外,我们将车辆的垂直位置
{
z
t
}
t
=
1
T
\left\{z_t\right\}^T_{t=1}
{zt}t=1T 建模为可优化参数。
3.2 Holistic Urban Gaussian Splatting
给定上面指定的 HUGS 表示,我们能够渲染图像、语义图和光流来监督模型或在推理时进行预测。我们现在详细说明每个模态的渲染。
Novel View Synthesis: 静态和动态高斯的组合可以通过
α
α
α 混合排序并投影到图像平面上:
π
:
C
=
∑
i
∈
N
c
i
α
i
′
∏
j
=
1
i
−
1
(
1
−
α
j
′
)
(3)
\pi:C=\sum_{i\in \mathcal{N}}c_i\alpha_i'\prod^{i-1}_{j=1}(1-\alpha_j')\tag3
π:C=i∈N∑ciαi′j=1∏i−1(1−αj′)(3)
这里,
α
j
′
\alpha_j'
αj′ 由投影的 2D 高斯和 3D 不透明度
α
α
α 确定,详见补充材料。
与单对象场景相比,城市场景通常涉及更复杂的照明条件,图像通常通过自动白平衡和自动曝光来捕获。基于 NeRF 的方法 [24] 通常将每帧外观嵌入以及 3D 位置馈送到神经网络以计算颜色,从而补偿曝光。然而,在处理 3D 高斯时,没有能够处理外观嵌入的神经网络。受城市辐射场[30]的启发,我们通过一个小的 MLP 将相机的外部参数映射到仿射矩阵
A
∈
R
3
×
3
A∈\mathbb{R}^{3×3}
A∈R3×3 和向量
b
∈
R
3
b∈\mathbb{R}^3
b∈R3 来生成每个相机的曝光仿射矩阵:
C
^
=
A
×
C
+
b
(4)
\hat{C}=A\times C+b\tag4
C^=A×C+b(4)
我们证明了对曝光进行建模可以提高实验部分的渲染质量。
Semantic Reconstruction: 与 Eq.3 类似,我们可以通过基于 3D 语义
l
o
g
i
t
logit
logit
s
s
s 的
α
α
α 混合来获得 2D 语义标签:
π
:
S
=
∑
i
∈
N
s
o
f
t
m
a
x
(
s
i
)
α
i
′
∏
j
=
1
i
−
1
(
1
−
α
j
′
)
(5)
\pi:S=\sum_{i\in \mathcal{N}}softmax(s_i)\alpha_i'\prod^{i-1}_{j=1}(1-\alpha_j')\tag5
π:S=i∈N∑softmax(si)αi′j=1∏i−1(1−αj′)(5)
请注意,我们在
α
α
α 混合之前对 3D 语义
l
o
g
i
t
s
logits
logits
s
i
s_i
si 执行
s
o
f
t
m
a
x
softmax
softmax 操作,而大多数现有方法通过累积非归一化 3D 语义
l
o
g
i
t
s
logits
logits
s
i
s_i
si [11, 52] 获得的 2D 语义
l
o
g
i
t
s
logits
logits
S
ˉ
\bar{S}
Sˉ 应用 softmax。如图 3 所示,在二维空间中应用
s
o
f
t
m
a
x
softmax
softmax 会导致嘈杂的 3D 语义标签。这是因为 2D 空间
s
o
f
t
m
a
x
softmax
softmax 可以通过调整 3D 语义
l
o
g
i
t
s
logits
logits 的规模来产生准确的 2D 语义,从而允许具有显着
l
o
g
i
t
logit
logit 值的单个采样点显着影响体积渲染结果。例如,尽管目标渲染标签是“树”,但标有“汽车”的不希望的浮点可能不会受到惩罚,只要有 3D 高斯提供沿这条射线的“树”的大
l
o
g
i
t
logit
logit 值。相反,我们的解决方案通过在 3D 空间中归一化
l
o
g
i
t
s
logits
logits 来消除这种漂浮物。有关更多定量和定性细节,请参阅补充材料。