原文链接:https://ieeexplore.ieee.org/document/10816486
简介:本文介绍LI-GS,一种引入激光雷达和高斯溅射的大规模场景重建系统。LI-GS使用2D高斯面元作为地图表达,以增强表面对齐。此外,还提出新的建模方法,将激光雷达点云转化为平面约束的多模态高斯混合模型(GMM)。GMM在初始化和优化阶段被使用,以保证充足且连续的监督,并减小过拟合风险。GMM还被用于网格面提取,以消除伪影并提高整体几何质量。
引言部分提到,3DGS在精确几何重建上存在一些问题,尤其是对稀疏视图、无界和大尺度场景。原因有三:(1)椭球形状难以拟合薄物体表面;(2)缺少精确的深度信息使得高斯沿相机主轴方向的位置不准确;(3)稀疏监督视图使模型倾向于过拟合到单一视图,且缺少多视图几何一致性。
0. 准备知识
2DGS使用扁平的高斯面元建模场景,以更好地与薄表面对齐。面元的基本属性包括中心点 p i ∈ R 3 \mathbf p_i\in\mathbb R^3 pi∈R3,半径 r u i > r v i ∈ R + r_{u_i}>r_{v_i}\in\mathbb R^+ rui>rvi∈R+,两个相应的正交向量 t u i , t v i ∈ R 3 \mathbf t_{u_i},\mathbf t_{v_i}\in\mathbb R^3 tui,tvi∈R3,法向量 n i = t u i × t v i \mathbf n_i=\mathbf t_{u_i}\times \mathbf t_{v_i} ni=tui×tvi,以及不透明度 o i ∈ [ 0 , 1 ] o_i\in[0,1] oi∈[0,1]和视线相关的外观 c ∈ R 3 \mathbf c\in\mathbb R^3 c∈R3(由球面谐波参数化)。高斯面元定义了局部的2D切空间,该空间内的点 u = [ u , v ] \mathbf u=[u,v] u=[u,v]可通过 p ( u ) = p i + r u i t u i u + r v i t v i v \mathbf p(\mathbf u)=\mathbf p_i+r_{u_i}\mathbf t_{u_i}u+r_{v_i}\mathbf t_{v_i}v p(u)=pi+ruituiu+rvitviv转化到世界坐标系 p ( u ) ∈ R 3 p(\mathbf u)\in\mathbb R^3 p(u)∈R3。高斯值 f ( u ) = exp ( − ( u 2 + v 2 ) / 2 ) f(\mathbf u)=\exp(-(u^2+v^2)/2) f(u)=exp(−(u2+v2)/2)。
为了渲染图像,2DGS首先将面元按前后顺序排列。对图像平面上的点
x
∈
R
2
x\in\mathbb R^2
x∈R2,其外观
c
(
x
)
c(x)
c(x)可按下式计算:
c
(
x
)
=
∑
i
=
1
N
c
i
o
i
f
(
u
i
(
x
)
)
∏
j
=
1
i
−
1
(
1
−
o
j
f
(
u
j
(
x
)
)
)
\mathbf c(x)=\sum_{i=1}^N\mathbf c_io_if(\mathbf u_i(x))\prod_{j=1}^{i-1}(1-o_jf(\mathbf u_j(x)))
c(x)=i=1∑Ncioif(ui(x))j=1∏i−1(1−ojf(uj(x)))
其中 N N N为可见面元的数量, u i ( x ) \mathbf u_i(x) ui(x)为2D到2D的映射(点从图像平面到切空间的投影,可通过找三个非平行平面的交点得到)。
1. 预处理
首先使用SLICT(一种sota的激光雷达-惯性连续时间SLAM系统)估计激光雷达扫描的初始姿态。然后,使用M-检测器移除动态物体,并使用HBA增强全局点云的精度。对于图像,则使用ER-Mapping估计初始图像姿态,并用Colmap-PCD细化(生成有色点云)。
2. 初始化
本文从大型有色点云生成多模态高斯混合模型(GMM),并使用空间哈希高效保存GMM,如图所示。
首先,遍历图像并投影全局点云,生成有色点云帧序列。对于第一帧,进行体素化,并在体素内使用RANSAC以提取平面。位于同一平面上的点记为 P = { z i ∣ z i = [ p i , g i ] T , p i ∈ R 3 , g i ∈ [ 0 , 1 ] } \mathcal P=\{\mathbf z_i|\mathbf z_i=[\mathbf p_i,g_i]^T,\mathbf p_i\in\mathbb R^3,g_i\in[0,1]\} P={zi∣zi=[pi,gi]T,pi∈R3,gi∈[0,1]},其中 p i \mathbf p_i pi为点在世界坐标系下的位置, g i g_i gi为由RGB计算的灰度值。这些点可由均值 p ˉ ∈ R 3 \bar {\mathbf p}\in\mathbb R^3 pˉ∈R3,协方差的特征值 α 0 ≤ α 1 ≤ α 2 \alpha_0\leq\alpha_1\leq\alpha_2 α0≤α1≤α2及归一化特征向量 v 0 , v 1 , v 2 \mathbf v_0,\mathbf v_1,\mathbf v_2 v0,v1,v2表达。
局部4D GMM由平面坐标系下的点云
P
′
=
{
z
i
′
∣
z
i
′
=
[
u
i
,
v
i
,
0
,
g
i
]
T
}
\mathcal P'=\{\mathbf z'_i|\mathbf z'_i=[u_i,v_i,0,g_i]^T\}
P′={zi′∣zi′=[ui,vi,0,gi]T}建模,其中
p
i
=
p
ˉ
+
u
i
v
2
+
v
i
v
1
+
w
i
v
0
\mathbf p_i=\bar {\mathbf p}+u_i\mathbf v_2+v_i\mathbf v_1+w_i\mathbf v_0
pi=pˉ+uiv2+viv1+wiv0。平面上点的概率密度
z
′
=
[
u
,
v
,
0
,
g
]
T
\mathbf z'=[u,v,0,g]^T
z′=[u,v,0,g]T可由下式计算:
p
L
(
z
′
)
=
∑
l
∈
L
π
l
′
N
(
z
′
∣
μ
l
′
,
Σ
l
′
)
p_L(\mathbf z')=\sum_{l\in\mathcal L}\pi'_l\mathcal N(\mathbf z'|\mu'_l,\Sigma'_l)
pL(z′)=l∈L∑πl′N(z′∣μl′,Σl′)
其中
π
l
′
,
μ
l
′
\pi'_l,\mu'_l
πl′,μl′和
Σ
l
′
∈
S
4
×
4
\Sigma'_l\in\mathbb S^{4\times4}
Σl′∈S4×4分别为GMM分量
l
l
l的权重、均值和协方差。
L
\mathcal L
L为相应的索引集合,且有
∑
j
∈
L
π
l
′
=
1
\sum_{j\in\mathcal L}\pi'_l=1
∑j∈Lπl′=1。分量可通过下式转换到世界坐标系下:
π
l
=
π
l
′
,
μ
l
=
[
p
ˉ
T
,
0
]
T
+
H
μ
l
′
,
Σ
l
=
H
Σ
l
′
H
T
,
H
=
[
R
0
0
T
1
]
,
R
=
[
v
2
,
v
1
,
v
0
]
∈
S
O
(
3
)
\pi_l=\pi'_l,\mu_l=[\bar {\mathbf p}^T,0]^T+\mathbf H\mu'_l,\Sigma_l=\mathbf H\Sigma'_l\mathbf H^T,\\ \mathbf H=\begin{bmatrix}\mathbf R&\mathbf 0\\\mathbf 0^T&1\end{bmatrix},\mathbf R=[\mathbf v_2,\mathbf v_1,\mathbf v_0]\in SO(3)
πl=πl′,μl=[pˉT,0]T+Hμl′,Σl=HΣl′HT,H=[R0T01],R=[v2,v1,v0]∈SO(3)
其中 π l , μ l \pi_l,\mu_l πl,μl和 Σ l ∈ S 4 × 4 \Sigma_l\in\mathbb S^{4\times4} Σl∈S4×4为世界坐标系下的权重,均值和协方差。4D GMM考虑了颜色维度的点分布,从而可精确表达表面纹理。此外,平面约束能有效移除噪声。高斯成分的数量 ∣ L ∣ |\mathcal L| ∣L∣可通过场景复杂度调整(通过最小化信息理论目标函数确定,该目标函数可由高斯均值移位近似)。
接收后续有色点云帧
F
\mathcal F
F时,系统在新空间内识别有效的点。通过查询空间哈希,将
F
\mathcal F
F中的点被分为两部分:在现有体素中的点
F
o
\mathcal F^o
Fo和新体素中的点
F
n
\mathcal F^n
Fn(
F
=
F
o
∪
F
n
\mathcal F=\mathcal F^o\cup\mathcal F^n
F=Fo∪Fn)。现有体素中的有效点
F
l
\mathcal F^l
Fl通过计算对数似然确定:
F
l
=
{
z
j
∈
F
o
∣
z
j
=
[
p
j
,
g
j
]
T
,
L
(
p
j
)
<
ρ
}
L
(
p
j
)
=
ln
(
p
K
(
p
j
)
)
=
ln
(
∑
k
∈
K
π
k
N
(
p
j
∣
μ
k
p
,
Σ
k
p
p
)
)
μ
k
=
[
μ
k
p
,
μ
k
g
]
T
,
Σ
k
=
[
Σ
k
p
p
Σ
k
p
g
Σ
k
g
p
Σ
k
g
g
]
\mathcal F^l=\{\mathbf z_j\in \mathcal F^o|\mathbf z_j=[\mathbf p_j,g_j]^T,L(\mathbf p_j)<\rho\}\\ L(\mathbf p_j)=\ln(p_K(\mathbf p_j))=\ln(\sum_{k\in\mathcal K}\pi_k\mathcal N(\mathbf p_j|\mu_k^\mathbf p,\Sigma_k^{\mathbf p\mathbf p}))\\ \mu_k=[\mu_k^\mathbf p,\mu_k^g]^T,\Sigma_k=\begin{bmatrix}\Sigma_k^{\mathbf p\mathbf p}&\Sigma_k^{\mathbf pg}\\\Sigma_k^{g\mathbf p}&\Sigma_k^{gg}\end{bmatrix}
Fl={zj∈Fo∣zj=[pj,gj]T,L(pj)<ρ}L(pj)=ln(pK(pj))=ln(k∈K∑πkN(pj∣μkp,Σkpp))μk=[μkp,μkg]T,Σk=[ΣkppΣkgpΣkpgΣkgg]
其中
K
\mathcal K
K为全局GMM中的索引集合,
ρ
\rho
ρ为预定义阈值,
L
(
p
j
)
L(\mathbf p_j)
L(pj)为
p
j
\mathbf p_j
pj的对数似然。灰度分布与空间有效性无关,故
L
(
p
j
)
L(\mathbf p_j)
L(pj)是由边缘密度
p
K
(
p
j
)
p_K(\mathbf p_j)
pK(pj)而非
p
K
(
z
j
)
p_K(\mathbf z_j)
pK(zj)计算的。因此,当前帧内的有效点
F
e
\mathcal F^e
Fe由
F
e
=
F
n
∪
F
l
\mathcal F^e=\mathcal F^n\cup\mathcal F^l
Fe=Fn∪Fl得到。遍历所有图像后,全局GMM被转化为初始高斯面元:
p
k
=
μ
k
p
,
n
k
=
w
0
k
,
t
u
k
=
w
2
k
,
t
v
k
=
w
1
k
,
r
u
k
=
γ
2
k
,
r
v
k
=
γ
1
k
,
o
k
=
0.6
+
0.4
π
k
\mathbf p_k=\mu_k^\mathbf p,\mathbf n_k=\mathbf w_{0_k},\mathbf t_{u_k}=\mathbf w_{2_k},\mathbf t_{v_k}=\mathbf w_{1_k},r_{u_k}=\sqrt{\gamma_{2_k}},r_{v_k}=\sqrt{\gamma_{1_k}},o_k=0.6+0.4\pi_k
pk=μkp,nk=w0k,tuk=w2k,tvk=w1k,ruk=γ2k,rvk=γ1k,ok=0.6+0.4πk
其中 γ 0 k ≤ γ 1 k ≤ γ 2 k \gamma_{0_k}\leq\gamma_{1_k}\leq\gamma_{2_k} γ0k≤γ1k≤γ2k和 w 0 k , w 1 k , w 2 k \mathbf w_{0_k},\mathbf w_{1_k},\mathbf w_{2_k} w0k,w1k,w2k为 Σ k p p \Sigma_k^{\mathbf p\mathbf p} Σkpp的特征值和相应的特征向量。
3. 优化
尽管在初始化时引入了激光雷达,2DGS和3DGS在优化时若仅使用光度损失,会导致有噪声的重建。本文提出全面归一化方法和几何感知的密度控制方法。
3.1 归一化
总损失包括五个分量——GMM损失,光度损失,天空损失,深度图像损失和法线图像损失:
L
=
λ
G
M
M
L
G
M
M
+
L
p
+
L
s
k
y
+
λ
d
L
d
+
λ
n
L
n
L=\lambda_{GMM}L_{GMM}+L_p+L_{sky}+\lambda_dL_d+\lambda_nL_n
L=λGMMLGMM+Lp+Lsky+λdLd+λnLn
GMM损失。多模态GMM可优化3D空间中高斯面元的位置和形状。 p g , n g , r u g ≥ r v g , t u g , t v g \mathbf p_g,\mathbf n_g,r_{u_g}\geq r_{v_g},\mathbf t_{u_g},\mathbf t_{v_g} pg,ng,rug≥rvg,tug,tvg分别表示高斯面元 g g g的位置、法向量、半径和主向量。选择 K K K个最近的GMM分量,其中第 g k g_k gk个分量的均值和法向量分别为 μ g k \mu_{g_k} μgk和 ν g k \nu_{g_k} νgk。
首先,最小化
p
g
\mathbf p_g
pg到(由
K
K
K个GMM分量确定的)表面的距离
L
d
i
s
L_{dis}
Ldis,以保证高斯面元与局部结构对齐:
L
d
i
s
=
1
G
∑
g
=
1
G
d
g
(
p
g
)
L_{dis}=\frac1G\sum_{g=1}^Gd_g(\mathbf p_g)
Ldis=G1g=1∑Gdg(pg)
其中
G
G
G为当前视角下可视高斯面元的数量,
d
g
(
p
)
d_g(\mathbf p)
dg(p)为加权距离:
d
g
(
p
)
=
∑
k
=
1
K
ω
g
k
∥
(
p
−
μ
g
k
)
T
ν
g
k
∥
1
d_g(\mathbf p)=\sum_{k=1}^K\omega_{g_k}\|(\mathbf p-\mu_{g_k})^T\nu_{g_k}\|_1
dg(p)=k=1∑Kωgk∥(p−μgk)Tνgk∥1
其中权重 ω g k = exp ( − ∥ p g − μ g k ∥ 2 2 / 2 σ 2 ) \omega_{g_k}=\exp(-\|\mathbf p_g-\mu_{g_k}\|_2^2/2\sigma^2) ωgk=exp(−∥pg−μgk∥22/2σ2)强调了近处GMM分量的贡献。
这里的 ∥ ( p − μ g k ) T ν g k ∥ 1 \|(\mathbf p-\mu_{g_k})^T\nu_{g_k}\|_1 ∥(p−μgk)Tνgk∥1即点到高斯面元中心的距离在法线方向投影的长度,可近似为点到面的距离。
为保证高斯面元的几何精度,引入形状控制点
c
u
g
=
p
g
+
α
r
u
g
t
u
g
\mathbf c_{u_g}=\mathbf p_g+\alpha r_{u_g}\mathbf t_{u_g}
cug=pg+αrugtug和
c
v
g
=
p
g
+
α
r
v
g
t
v
g
\mathbf c_{v_g}=\mathbf p_g+\alpha r_{v_g}\mathbf t_{v_g}
cvg=pg+αrvgtvg(如上图所示),且最小化下列损失:
L
c
o
n
t
r
o
l
=
1
G
∑
g
=
1
G
l
g
,
l
g
=
{
d
g
(
c
u
g
)
+
d
g
(
c
v
g
)
若
r
v
g
≥
ϕ
d
g
(
c
u
g
)
若
r
u
g
≥
ϕ
,
r
v
g
<
ϕ
0
否则
L_{control}=\frac1G\sum_{g=1}^Gl_g,\;\;l_g=\begin{cases}d_g(\mathbf c_{u_g})+d_g(\mathbf c_{v_g})&若r_{v_g}\geq\phi\\d_g(\mathbf c_{u_g})&若r_{u_g}\geq\phi,r_{v_g}<\phi\\0&否则\end{cases}
Lcontrol=G1g=1∑Glg,lg=⎩
⎨
⎧dg(cug)+dg(cvg)dg(cug)0若rvg≥ϕ若rug≥ϕ,rvg<ϕ否则
其中阈值
ϕ
\phi
ϕ选择性地监督大型高斯面元。此外,还使用加权法向量监督高斯面元的法向量:
L
n
o
r
m
a
l
=
1
G
∑
g
=
1
G
∥
n
g
−
n
ˉ
g
∥
1
+
∥
1
−
n
g
T
n
ˉ
g
∥
1
,
n
ˉ
g
=
∑
k
=
1
K
ω
g
k
ν
g
k
∥
∑
k
=
1
K
ω
g
k
ν
g
k
∥
2
L_{normal}=\frac1G\sum_{g=1}^G\|\mathbf n_g-\bar {\mathbf n}_g\|_1+\|1-\mathbf n_g^T\bar {\mathbf n}_g\|_1,\;\;\bar {\mathbf n}_g=\frac{\sum_{k=1}^K\omega_{g_k}\nu_{g_k}}{\|\sum_{k=1}^K\omega_{g_k}\nu_{g_k}\|_2}
Lnormal=G1g=1∑G∥ng−nˉg∥1+∥1−ngTnˉg∥1,nˉg=∥∑k=1Kωgkνgk∥2∑k=1Kωgkνgk
这里的损失分两项,前者使所有面元的法向量接近,后者使所有面元的法向量趋于单位向量。
最后, L G M M = L d i s + L c o n t r o l + L n o r m a l L_{GMM}=L_{dis}+L_{control}+L_{normal} LGMM=Ldis+Lcontrol+Lnormal。
光度损失。渲染的图像为
I
~
\tilde {\mathbf I}
I~,真实图像为
I
\mathbf I
I,则
L
p
=
0.8
L
1
(
I
~
,
I
)
+
0.2
L
D
−
S
S
I
M
(
I
~
,
I
)
L_p=0.8L_1(\tilde {\mathbf I},\mathbf I)+0.2L_{D-SSIM}(\tilde {\mathbf I},\mathbf I)
Lp=0.8L1(I~,I)+0.2LD−SSIM(I~,I)
天空损失。在室外场景中,该损失用于减少天空区域的伪影。首先使用语义分割网络生成天空掩膜
M
\mathbf M
M(0表示天空区域),然后按下式计算损失:
L
s
k
y
=
(
1
−
M
)
L
1
(
S
~
)
L_{sky}=(1-\mathbf M)L_1(\tilde {\mathbf S})
Lsky=(1−M)L1(S~)
其中 S ~ \tilde {\mathbf S} S~为渲染的剪影图像。
深度和法线图像损失。深度图像
D
^
\hat {\mathbf D}
D^和法线图像
N
^
\hat {\mathbf N}
N^可由激光雷达点云得到,用于对齐高斯面元和全局结构:
L
d
=
L
1
(
D
~
,
D
^
)
,
L
n
=
1
−
N
~
⋅
N
^
L_d=L_1(\tilde {\mathbf D},\hat {\mathbf D}),L_n=1-\tilde {\mathbf N}\cdot\hat {\mathbf N}
Ld=L1(D~,D^),Ln=1−N~⋅N^
其中 D ~ \tilde {\mathbf D} D~和 N ~ \tilde {\mathbf N} N~分别表示渲染的深度和法线图像。
3.2 几何感知的密度控制
本文的方法在优化阶段动态控制高斯的数量和密度。为减小冗余并根据几何结构提高高斯分布,为生长和剪枝机制引入加权距离
d
g
(
p
g
)
d_g(\mathbf p_g)
dg(pg),以增强基于梯度的密度控制。生长准则为:
ϵ
g
g
r
o
w
t
h
=
(
1
−
ω
g
r
o
w
t
h
)
∇
g
+
ω
g
r
o
w
t
h
ω
s
c
a
l
e
exp
(
−
d
g
(
p
g
)
2
2
τ
2
)
\epsilon_g^{growth}=(1-\omega_{growth})\nabla_g+\omega_{growth}\omega_{scale}\exp(-\frac{d_g(\mathbf p_g)^2}{2\tau^2})
ϵggrowth=(1−ωgrowth)∇g+ωgrowthωscaleexp(−2τ2dg(pg)2)
其中
∇
g
\nabla_g
∇g为平均的位置梯度,
ω
s
c
a
l
e
\omega_{scale}
ωscale用于确保(两项)数量级相似。当
ϵ
g
g
r
o
w
t
h
\epsilon_g^{growth}
ϵggrowth超过预定义的阈值时,会添加一个新的高斯面元。远离表面的高斯面元更可能被剪枝,剪枝准则为:
ϵ
g
p
r
u
n
i
n
g
=
o
g
−
ω
p
r
u
n
i
n
g
(
1
−
exp
(
−
d
g
(
p
g
)
2
2
τ
2
)
)
\epsilon_g^{pruning}=o_g-\omega_{pruning}(1-\exp(-\frac{d_g(\mathbf p_g)^2}{2\tau^2}))
ϵgpruning=og−ωpruning(1−exp(−2τ2dg(pg)2))
其中 o g o_g og为不透明度。 ϵ g p r u n i n g \epsilon_g^{pruning} ϵgpruning较低的高斯面元会在后续被剪枝。
4. 网格面提取
之前的工作建立了占用图,并移除未占用网格的采样点以消除深度不连续处的伪影。但对无界场景,大网格会导致过多的点被移除,而小网格会影响计算效率。本文使用GMM提取网格面。
首先建立体素图,计算占用。移除未占用体素内的采样点后,基于加权距离 d ( p ) d(\mathbf p) d(p)移除离物体表面较远的、占用体素内的点。最后,使用筛选泊松法提取网格面。