拆解3D Gaussian Splatting:原理框架、实战 demo 与自驾仿真落地探索!

目录

[01 引言](#01 引言)

[02 3DGS的原理框架](#02 3DGS的原理框架)

1、技术概览

2、3DGS整体框架

[03 3DGS的实战Demo搭建](#03 3DGS的实战Demo搭建)

1、COLMAP初始化点云

2、输入模型进行迭代训练

[04 3DGS在自驾仿真中的应用探索](#04 3DGS在自驾仿真中的应用探索)

[1、从World Extractor到aiSim](#1、从World Extractor到aiSim)

[05 3DGS未来发展与挑战](#05 3DGS未来发展与挑战)

1、发展

(1)效率与应用的极致化

(2)动态场景与语义理解

(3)与其他技术的融合与统一

2、挑战

(1)渲染质量与一致性

(2)动态场景与学习瓶颈

(3)理论基础与可控性

[06 总结](#06 总结)


01 引言

当前,三维重建技术正处于从"实验室演示 "迈向"工业级应用 "的关键时期。每一次对场景细节的精准还原,每一帧实时流畅的渲染效果,都在检验算法对真实世界的复现能力。高效、高质量的三维重建 能够显著提升数字资产制作效率,助力提升虚拟测试的真实性,加速仿真验证流程

然而,在"平衡重建质量与效率 "这一核心目标下,现有技术仍面临诸多挑战,包括大规模场景的处理效率、动态物体的建模能力,以及跨平台部署的兼容性等难题。

针对这些问题,笔者也有一些思考、经验与看法,本文将与大家一起交流。下文将介绍3DGS原理框架、实战 demo 与自驾仿真落地探索等相关内容。

02 3DGS的原理框架

1、技术概览

3D Gaussian Splatting(3DGS) 是一种基于数百万个可学习的"3D色块 "来实现逼真3D场景实时渲染的新兴技术。这里的"3D色块"实际上是指3D高斯球------每一个都是具备位置、形状、颜色和透明度属性的基础单元。

利用这些高斯球,我们可以对真实场景进行三维重建,再通过Splatting技术将其投影至二维平面,最后借助图像分块的光栅化方法渲染成最终图像。

以下展示的是采用3DGS技术重建的部分场 景,不难看出,无论是场景的细节还原度 还是色彩表现力,效果都十分出色。

在保持高保真度场景重建 的同时,3DGS技术 还具备出色的渲染速度 ,这得益于其采用的基于图像分块的渲染方式。通过与其他三维重建方法对比可见,3DGS在视觉效果上能够媲美NeRF-360 ,而训练时间却大幅缩短至几十分钟甚至几分钟。相较于NeRF-360动辄数十小时的训练成本,这无疑是一项重要突破。

能够在与Instant-NGP相当的训练时长内,达到接近NeRF-360的重建质量,正是3DGS技术的关键优势所在,也是其在三维重建领域持续受到关注的重要原因。

2、3DGS整体框架

3D Gaussian Splatting(3DGS)的整体框架是一个端到端 的管道 ,其核心思想是将整个三维场景 表示为数百万个可学习的3D高斯球。这些高斯球作为场景的基本表示单元,每个都拥有各自的属性,包括3D空间中的位置、描述其形状与方向的协方差矩阵、以及视角相关的球谐函数所表示的颜色和不透明度。

整个流程可以分为7个步骤

  • **初始化:**基于输入的RGB图像序列,通过sfm算法(COLMAP)估计初始稀疏点云及相机位姿;

  • **高斯空间建模:**将初始点云转换为一系列3D高斯椭球;

  • **视锥体筛选:**根据当前相机参数,剔除位于视锥体范围之外的3D高斯椭球;

  • **可微分投影:**将保留的3D高斯椭球通过可微分的仿射变换投影至2D图像平面;

  • **分块光栅化:**将投影后的高斯椭球按图像块组织,并采用基于瓦片的光栅器,实现并行、有序的混合渲染;

  • **损失计算与反向传播:**比较渲染输出与真实图像,计算重构损失并通过反向传播优化高斯椭球的各项属性参数;

  • **自适应密度控制:**在训练过程中动态执行高斯椭球的克隆与分裂操作。

03 3DGS的实战Demo搭建

利用开源模型就可以进行一些场景的重建,开源仓库:https://github.com/graphdeco-inria/gaussian-splatting

1、COLMAP初始化点云

要对3DGS模型进行训练,需要先的得到一组初始化点云,利用COLMAP可以从一组无序的照片中,得到相机的拍摄位姿和场景的三维点云。得到初始化点云和相机位姿的效果如下图:

2、输入模型进行迭代训练

得到初始化点云后,就可以将点云信息输入到3DGS模型 中进行迭代训练 。3DGS迭代训练通过不断渲染误差反馈优化高斯的位置、颜色和形状,并动态增删高斯,使场景逐渐从粗糙点群精化为高保真实体模型。

以下是初始化点云和训练迭代2万次后的点云对比 ,可以看到迭代训练后的点云信息更加丰富场景细节更加多样。利用这些点云和3DGS椭球就可以构建出逼真的三维场景。

04 3DGS在自驾仿真中的应用探索

1、从World Extractor到aiSim

World Extractor 能从原始传感器数据中,直接创建出3DGS重建的数据信息,从而可以直接导入康谋仿真软件aiSim中,进行场景渲染。这大大节省了仿真场景构建时间。并且,aiSim通过优化渲染模型 ,可以获得高保真的3DGS场景导入。

  • 新构建了GGSR,即通用高斯泼溅渲染器,优化3D重建场景下RayTracying传感器渲染

  • 优化广角镜头渲染,增强一致性

  • 支持自由移动视角,减少伪影产生

左边是渲染优化前,会出现大FoV相机不一致性。右边是渲染方案优化后,可以增强一致性

优秀的仿真效果:

05 3DGS未来发展与挑战

在系统探讨了3DGS的技术原理与实践路径后,我们需要清醒地认识到:这项技术正处在从"可用"到"好用"的关键演进阶段,同时也存在着很多待发展的技术要点和面临的挑战!

1、发展

3DGS技术正沿着效率极致化能力边界拓展 的双重路径演进。一方面追求超大规模场景的实时重建与交互 ,另一方面致力于实现动态场景的精准建模与语义级理解

(1)效率与应用的极致化

  • 实时性与交互性:实现毫秒级动态场景重建与渲染,支持用户实时交互;

  • 硬件加速:开发专用硬件(如ASIC/FPGA)与更优的CUDA内核,让3DGS在移动端、边缘设备上流畅运行;

  • 大规模场景:突破内存限制,实现对城市级、自然景观等超大规模场景的高效建模与漫游。

(2)动态场景与语义理解

  • 4D重建:轻松处理动态物体,生成高质量4D动态场景,直接应用于影视、自动驾驶仿真;

  • 语义与编辑:与SAM等分割模型结合,实现实例级的物体识别、分离与编辑;

  • 生成式AI融合:作为3D表示,与Diffusion等生成式模型结合,实现文本/图片到3D场景的高质量、高效率生成。

(3)与其他技术的融合与统一

  • 与NeRF互补: 发挥3DGS渲染快的优势,弥补NeRF在抗锯齿、细节重建上的不足,形成混合建模管线;

  • "3D基础模型"的基石: 作为一种高效的3D表示方法,为构建大规模3D场景的基础模型提供可能。

2、挑战

3DGS技术在渲染质量动态场景处理 方面仍存在理论瓶颈,其"黑箱 "特性与数据依赖性 也制约了技术的规模化应用。这些挑战亟待从算法原理工程实现层面协同突破。

(1)渲染质量与一致性

  • 锯齿与闪烁:由于2D Splatting的固有特性,容易出现锯齿、走样和边缘闪烁问题;

  • 跨视角不一致性:在不同视角下,Gaussian的分布可能出现轻微的不一致,影响几何的精确性;

  • 透明与反射材质:对半透明、镜面等高光/反射材质的建模能力仍然较弱,效果不如基于体素渲染的NeRF。

(2)动态场景与学习瓶颈

  • 动态处理"粗暴":目前的动态3DGS多依赖于变形场或时序参数,难以处理剧烈的、非刚性的形变;

  • 数据依赖性强:性能高度依赖于输入图像的质量和数量,对稀疏输入或存在大量遮挡的场景,重建效果会急剧下降;

  • 缺乏标准与生态:相比成熟的Mesh流程,3DGS缺乏行业标准工具链。

(3)理论基础与可控性

  • "黑箱"特性:Gaussian的分布与参数缺乏明确的物理和几何解释,像一个可微分的点云渲染"黑盒",难以进行精确的、程序化的控制;

  • 参数冗余与过拟合:场景复杂度直接与Gaussian数量挂钩,可能导致训练过拟合和存储浪费。

06 总结

显而易见,3DGS 以创新的3D高斯球表示方法,在重建质量效率 间实现了突破性平衡。从技术原理到实战演示,再到康谋在自动驾驶仿真中的完整工具链实践,3DGS展现了显著的工程价值。

尽管在动态场景处理和渲染质量方面仍面临挑战,但随着硬件加速和算法优化的持续推进,3DGS有望在自动驾驶数字孪生等领域发挥更大价值,为三维重建技术开启新的可能!

参考资料

  1. https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

  2. https://arxiv.org/pdf/2308.04079

  3. https://arxiv.org/pdf/2401.03890v1

相关推荐
黑金IT4 小时前
3D虚拟人模型转换的完整指南
服务器·数据库·3d
violet-lz5 小时前
数据结构八大排序:希尔排序-原理解析+C语言实现+优化+面试题
数据结构·算法·排序算法
ezl1fe5 小时前
第一篇:把任意 HTTP API 一键变成 Agent 工具
人工智能·后端·算法
冯诺依曼的锦鲤5 小时前
算法练习:双指针专题
c++·算法
吃着火锅x唱着歌5 小时前
LeetCode 668.乘法表中第k小的数
算法·leetcode·职场和发展
前端小刘哥5 小时前
互联网直播点播平台EasyDSS流媒体技术如何赋能多媒体展厅智能化升级?
算法
Python算法实战6 小时前
平安大模型面试题:Self-Attention 原理与多头注意力设计
人工智能·算法·自然语言处理·大模型·面试题
Python算法实战6 小时前
腾讯送命题:手写多头注意力机制。。。
人工智能·算法·面试·大模型·强化学习
前端小刘哥6 小时前
现场直播的技术革新者:视频直播点播平台EasyDSS在现场直播场景中的技术应用
算法