Workflow
3DGS重建
icon
搜索文档
3DGS重建!gsplat 库源码解析
自动驾驶之心· 2025-09-23 23:32
3D高斯泼溅技术及gsplat库 - 3D高斯泼溅是一种新兴的3D场景表示与渲染技术,与传统的深度学习模型和框架有显著区别,它更侧重于计算机图形学领域,涉及坐标系转换和激光雷达点云等技术[4] - 在自动驾驶和计算机视觉领域,3D高斯泼溅技术正被探索与感知系统及端到端模型进行结合,但其与大语言模型和自然语言处理领域基本没有关联[4] - 对于希望入门该领域的研究者,开源库gsplat被推荐为比官方Gaussian-splatting库更优的选择,因其文档和维护相对更好[5] gsplat库的技术特性与优化 - gsplat库对原始的3D高斯泼溅官方实现进行了多项优化,提供了更完善的工具链[5] - 该库支持超广角镜头畸变和卷帘快门相机模型,这使其更适用于如自动驾驶等复杂真实场景[12] - 库内提供了高效的高斯球参数压缩功能,能够将1M个高斯球的参数量从236MB压缩至16.5MB,仅造成0.5dB的峰值信噪比损失[13] - 压缩技术结合了量化、排序、K-means聚类以及PNG图像编码等多种方法[14] 3D高斯泼溅的核心算法流程 - 3D高斯泼溅使用位置、协方差矩阵、颜色和不透明度等参数来定义每个高斯球,其中协方差矩阵可通过缩放矩阵和由四元数表示的旋转矩阵分解得到[21] - 训练过程包含自适应密度控制,高斯球的数量会动态变化,通过复制、分裂和修剪等策略进行更新[23] - 复制操作的触发条件是图像平面梯度高且高斯球尺度小,适用于需要保留细节的区域[28] - 分裂操作的触发条件是图像平面梯度高且高斯球尺度大,适用于用多个小高斯拟合复杂几何结构[28] - 修剪操作的触发条件是高斯球的不透明度较低,定期重置策略则用于防止不透明度过早收敛[28] gsplat库的渲染与训练实现 - 渲染管线核心步骤包括:将3D高斯投影至2D图像平面、计算球谐函数着色、进行瓦片相交检测,最终光栅化到像素[42][45][46][53] - 训练循环包含数据准备、前向渲染、损失计算、反向传播、优化器更新以及策略后处理(执行高斯球的分裂与修剪)等标准步骤[33][35][37] - 支持多GPU分布式训练,采用类似模型并行的方式将高斯球参数切分到不同GPU,并在渲染前通过All-to-All通信交换数据,实现计算负载的并行化[65][66][71] 行业影响与未来展望 - 以OpenAI的Sora为代表的视频生成模型若持续发展,可能对未来计算机图形学领域产生深远影响,甚至成为该学科的基础技术之一[6][7] - 从业者期待“世界模型”类技术能在视频生成和场景重建等领域得到更广泛应用,即使其效果仅达到大语言模型影响力的四分之一,也将为算法和基础设施领域的从业者带来新的机会[9]