论文阅读笔记——MTGS: Multi-Traversal Gaussian Splatting

MTGS 论文

MTGS(Multi-Traversal Gaussian Splatting) 是一种用于多轨迹驾驶场景重建的新方法,通过共享静态几何、轨迹特定的动态节点和外观节点,分别建模静态背景、动态物体和外观变化。该方法利用 LiDAR 引导的曝光对齐和可学习的仿射变换解决轨迹内外观一致性问题,并通过深度和法线正则化提升几何精度和渲染质量。实验表明,MTGS 在 nuPlan 数据集上显著优于单轨迹基线方法,为自动驾驶模拟器和数字孪生应用提供了高质量的场景重建和新视角合成能力。

多轨迹数据(同一道路区块但不同时间采集的视频),具有同一个共享空间,对于静态空间 3D 几何是不变的,但对于时间、天气等场景动态是不一样的,无法运用插值等简单重建方法。

输入

  • 同一道路不同时间采集的视频帧集合: I = { I t , T ∈ R w × h × 3 ∣ t = 0 , ... ... , t T ; T = 1 , ... ... , T a l l } I=\{I_{t,T}\in R^{w×h×3}|t=0,......,t_T;T=1,......,T_{all}\} I={It,T∈Rw×h×3∣t=0,......,tT;T=1,......,Tall} 其中,t 表示时间帧索引,T 表示轨迹索引;每帧图像都有对应的相机位姿 ζ t , T = { W t , T , K t , T } \zeta_{t,T}=\{W_{t,T},K_{t,T}\} ζt,T={Wt,T,Kt,T} 世界坐标系到相机坐标系的变换矩阵和相机内参矩阵
  • 彩色 LiDAR 点云 P t , T ∈ R K × 6 P_{t,T}\in R^{K×6} Pt,T∈RK×6

整个场景被表述为基于 3DGS 的多轨迹场景图:(思路类似于颜色都可以由红绿蓝给出)

  • G s t a t i c \mathcal{G}_{static} Gstatic ------背景几何;轨迹和时间不变的属性 { x i , q i , s i , α i , β i b a s e } \{x_i,q_i,s_i,\alpha_i,\beta_i^{base}\} {xi,qi,si,αi,βibase} (位置,旋转,缩放,透明度,基础球谐系数)。
  • G T a p p r \mathcal{G}T^{appr} GTappr------轨迹 T 的外观变化;提供 T 轨迹的颜色残差(捕捉外观变化、光照、反射、色调等)以此来定义该轨迹的球谐系数 β i , 0 , 0 = β i b a s e β i , l , m = β i , T r e s i d u a l ( − l ≤ m ≤ l , 1 ≤ l ≤ l m a x ) \beta{i,0,0}=\beta^{base}i \qquad \qquad \beta{i,l,m}=\beta_{i,T}^{residual}(-l≤m≤l,1≤l≤l_{max}) βi,0,0=βibaseβi,l,m=βi,Tresidual(−l≤m≤l,1≤l≤lmax) 通过旋转不变球谐系数 ( S H ) Y 0 , 0 (SH)Y_{0,0} (SH)Y0,0,迫使模型学习自然颜色并捕捉跨轨迹颜色变化。
  • G T , k t s n t \mathcal{G}{T,k}^{tsnt} GT,ktsnt------轨迹 T 中第 k 个瞬态物体。对于瞬态节点中的高斯,其位置和旋转都是在局部坐标系中,将其转换至全局坐标系(几何),同时为防止浮影,增加约束(离原来的地方太远): x i w o r l d ( t ) = R T , k ( t ) x i + T T , k ( t ) q i w o r l d ( t ) = R o t T o Q u a t ( R T , k ( t ) ) q i L o o b = − 1 ∣ G T , k o o b ∣ ∑ G i ∈ G k , T o o b log ⁡ ( 1 − α i ) \begin{aligned}\mathbf{x}{i}^{\mathbf{world}}(t)=\mathbf{R}{T,k}(t)\mathbf{x}{i}+\mathbf{T}{T,k}(t)\\\mathbf{q}{i}^{\mathbf{world}}(t)=\mathrm{RotToQuat}(\mathbf{R}{T,k}(t))\mathbf{q}{i}\\\mathcal{L}{\mathrm{oob}}=-\frac{1}{|\mathcal{G}{T,k}^{\mathrm{oob}}|}\sum_{G_{i}\in\mathcal{G}{k,T}^{\mathrm{oob}}}\log\left(1-\alpha{i}\right)\end{aligned} xiworld(t)=RT,k(t)xi+TT,k(t)qiworld(t)=RotToQuat(RT,k(t))qiLoob=−∣GT,koob∣1Gi∈Gk,Toob∑log(1−αi)其中 G T , k o o b \mathcal{G}{T,k}^{oob} GT,koob 是局部坐标系中距离远点超过 1 2 S t s n t T , k + θ t o l \frac{1}{2}S{tsnt}^{T,k}+\theta_{tol} 21StsntT,k+θtol 的高斯集合, θ t o l \theta_{tol} θtol 是容错阈值,确保前景的阴影在瞬态节点中。

外观建模

  • 同一时间点不同相机的曝光------将 LiDAR 点投影到不同相机图像中,调整曝光,使同一 LiDAR 点的像素颜色一致。 L d e p t h = ∣ 1 d p r e d − 1 d L i D A R ∣ \mathcal{L}{depth}=|\frac{1}{d{pred}}-\frac{1}{d_{LiDAR}}| Ldepth=∣dpred1−dLiDAR1∣同时为了解决稀疏点云导致的过拟合和不连续性: L n c c = 1 − 1 ∣ Ω ∣ ∑ p ∈ Ω ∑ s = 1 S 2 D p , s D p , s σ p σ p L_{\mathrm{ncc}}=1-\frac{1}{|\Omega|}\sum_{p\in\Omega}\sum_{s=1}^{S^2}\frac{D_{p,s}D_{p,s}}{\sigma_p\sigma_p} Lncc=1−∣Ω∣1p∈Ω∑s=1∑S2σpσpDp,sDp,s
  • 同一相机不同时间曝光------通过可学习的仿射变换 A f f ( ⋅ ) = W i d x I + b i d x Aff(·)=W_{idx}I+b_{idx} Aff(⋅)=WidxI+bidx 。

在 3D 高斯中,法线方向是尤为重要的,将其定义为高斯椭球的最小缩放轴方向:

高斯法线提供了基础的几何信息,而像素法线估计补充了细节信息并提升了渲染质量。两者共同协作,确保了几何一致性、细节表现和光照效果。

n ^ i , p = R ⋅ O n e H o t ( a r g m i n ( s i , 0 , s i , 1 , s i , 2 ) ) \hat{n}{i,p}=\boldsymbol{R}·OneHot(argmin(s{i,0},s_{i,1},s_{i,2})) n^i,p=R⋅OneHot(argmin(si,0,si,1,si,2))

  • 高斯法线通过 扁平化正则损失 稳定: L f l a t t e n = ∑ i m a x { m a x ( s i ) m e d i a n ( s i ) , r } − r + m i n ( s i ) \mathcal{L}_{flatten}=\sum_imax\{\frac{max(s_i)}{median(s_i)},r\}-r+min(s_i) Lflatten=i∑max{median(si)max(si),r}−r+min(si)
  • 高斯法线由于其离散型以及其概率密度的性质(在边缘处无法准确反应几何表面的快速变化),故而对于物体而言更需要像素法线------通过变换矩阵和 α \alpha α 合成方法得到像素法线 N ^ \hat{N} N^,同时对点云投影到相机的伪深度图估计法线 N N N,并用 TV 损失平滑估计法线: L n o r m a l = ∣ N ^ − N ∣ + L T V ( N ^ ) \mathcal{L}{normal}=|\hat{N}-N|+\mathcal{L}{TV}(\hat{N}) Lnormal=∣N^−N∣+LTV(N^)

最终的损失函数
L = λ r L 1 + ( 1 − λ r ) L S S I M + λ d e p t h L d e p t h + λ n c c L n c c + λ n o r m a l L n o r m a l + λ f l a t t e n L f l a t t e n + λ o o b L o o b \mathcal{L}=\lambda_r\mathcal{L_1}+(1-\lambda_r)\mathcal{L_{SSIM}}+\lambda_{depth}\mathcal{L_{depth}}+\lambda_{ncc}\mathcal{L_{ncc}}+\lambda_{normal}\mathcal{L_{normal}}+\lambda_{flatten}\mathcal{L_{flatten}}+\lambda_{oob}\mathcal{L_{oob}} L=λrL1+(1−λr)LSSIM+λdepthLdepth+λnccLncc+λnormalLnormal+λflattenLflatten+λoobLoob

实验结果

相关推荐
Fansv5875 分钟前
深度学习框架PyTorch——从入门到精通(10)PyTorch张量简介
人工智能·pytorch·经验分享·python·深度学习·机器学习
冰蓝蓝6 分钟前
Pytorch :维度转化
人工智能·pytorch·python
小和尚同志32 分钟前
Dify24. Dify 插件带来了什么?
人工智能·aigc
最新快讯1 小时前
科技快讯 | 韩国科学家研发出全球首款仿生液态机器人;OpenAI推出GPT-4o图像生成功能
大数据·人工智能·科技
郭涤生1 小时前
第10章:优化数据结构_《C++性能优化指南》notes
数据结构·c++·笔记·性能优化
玩电脑的辣条哥1 小时前
AI-Sphere-Butler之Ubuntu服务器如何部署FunASR服务
服务器·人工智能·ubuntu·asr·funasr
赵钰老师1 小时前
【DeepSeek大语言模型】AI智能体开发与大语言模型的本地化部署、优化技术
人工智能·语言模型·自然语言处理·数据分析
NETSTAR012 小时前
LIMS应用的意义-LIMS厂家排名推荐
大数据·人工智能
Chaos_Wang_2 小时前
NLP高频面试题(十七)——什么是KV Cache
人工智能·自然语言处理
Flash Bomb4222 小时前
自然语言处理(11:RNN(RNN的前置知识和引入)
人工智能·rnn·深度学习·神经网络·自然语言处理