内存节省4倍!UC伯克利gsplat爆火:开发Gaussian Splatting的必备开源库!已1.8k Star!

0. 这篇文章干了啥?

高斯溅射(Gaussian Splatting),由Kerbl等人提出的一项开创性工作,是高保真3D场景重建和新颖视图合成领域快速发展的研究方向,在学术界和工业界都引起了广泛关注。它在多个重要领域超越了之前许多基于NeRF的方法,包括i) 训练和渲染的计算效率,ii) 编辑和后期处理的便捷性,以及iii) 在硬件受限设备和基于Web技术上的可部署性。在本文中,我们介绍了gsplat,一个围绕高斯溅射构建的开源项目,旨在成为一个高效且用户友好的库。其核心理念是为基于PyTorch的项目开发高斯溅射模型提供一个简单且易于修改的API。

gsplat支持最新的研究特性,并采用现代软件工程实践进行开发。自2023年10月初次发布以来,gsplat在GitHub上获得了39位贡献者和超过1600颗星。gsplat在Apache License 2.0下发布。有关文档和更多信息,请访问网站:http://docs.gsplat.studio/

最接近的开源高斯溅射方法实现的先前工作包括GauStudio,它将各种研究努力整合到一个代码库中,以及几个基于PyTorch的复现。与以前的工作不同,gsplat不仅寻求实现原始3DGS工作并进行性能改进,还旨在提供一个易于使用和模块化的API接口,允许外部扩展和修改,从而促进高斯溅射领域的进一步研究。我们欢迎学生、研究人员和开源社区的贡献。

下面一起来阅读一下这项工作~

1. 论文信息

标题:gsplat: An Open-Source Library for Gaussian Splatting

作者:Vickie Ye, Ruilong Li, Justin Kerr, Matias Turkulainen, Brent Yi, Zhuoyang Pan, Otto Seiskari, Jianbo Ye, Jeffrey Hu, Matthew Tancik, Angjoo Kanazawa

机构:UC Berkeley、Aalto University 、ShanghaiTech University、SpectacularAI、Amazon、Luma AI

原文链接:https://arxiv.org/abs/2409.06765

代码链接:https://github.com/nerfstudio-project/gsplat

2. 摘要

gsplat是一个开源库,用于训练和开发高斯分布方法。它的特点是前端具有与PyTorch库兼容的Python绑定,后端具有高度优化的CUDA内核。gsplat提供了许多增强高斯分布模型优化的特性,包括速度、内存和收敛时间的优化改进。实验结果表明,与原始实现相比,gsplat的训练时间减少了10%,内存减少了4倍。gsplat在几个研究项目中使用,并在GitHub上积极维护。源代码可从https://github.com/nerfstudio-project/gsplat获得,在Apache许可证2.0下。我们欢迎来自开源社区的贡献。

3. 设计

gsplat 是一个独立开发的库,旨在提高效率和模块化。它可以在 Windows 和 Linux 平台上通过 PyPI 安装,并提供 PyTorch 接口。

出于速度考虑,许多操作都被编写成了优化的 CUDA 内核,并通过 Python 绑定暴露给开发者。此外,gsplat 还包含了原生的 PyTorch 实现,以支持对新研究想法的迭代。gsplat 的设计目标是提供一个简单的接口,该接口可以从外部项目中导入,从而轻松集成主要的高斯样条(Gaussian Splatting)功能,并根据最新研究成果进行算法自定义。gsplat 提供了详尽的示例、验证 CUDA 操作正确性的测试用例,以及托管在线的进一步文档,因此也可以作为新研究人员进入该领域的教育资源。

图片

4. 特征

gsplat 库包含与高斯样条(Gaussian Splatting)相关的特性和算法实现。通过模块化接口,用户可以简单地通过 API 调用启用所需功能。在此,我们简要介绍 gsplat 提供的一些算法增强功能,这些功能在 Kerbl 等人提出的原始 3DGS 实现中并未包含。推荐课程:实时400FPS!高精NeRF/Gaussian SLAM定位与建图

密集化策略:高斯样条优化过程的一个关键组成部分包括在场景欠重建和过重建区域分别对高斯分布进行密集化和修剪。这一直是研究的活跃领域,而 gsplat 库支持一些最新的密集化策略。这些策略包括 Kerbl 等人提出的自适应密度控制(ADC)、Ye 等人提出的 Absgrad 方法,以及 Kheradmand 等人提出的马尔可夫链蒙特卡洛(MCMC)方法。gsplat 的模块化 API 允许用户轻松地在不同策略之间切换。

姿态优化:gsplat 中的高斯渲染过程(如图 1 所示)是完全可微的,这使得梯度可以流向高斯参数 G(c,Σ, μ, o) 以及其他参数,如相机视图矩阵 P = [R | t],这在原始工作中并未考虑。这对于缓解数据集中的姿态不确定性至关重要。具体而言,可以针对相机视图矩阵的旋转和平移分量计算重建损失的梯度,从而通过梯度下降优化初始相机姿态。

深度渲染:从高斯场景渲染深度图对于正则化和网格化等应用非常重要。gsplat 支持使用优化的 RGB+Depth 光栅化器渲染深度图,该光栅化器也是完全可微的。gsplat 支持使用每个像素的累积 z-深度和经过 alpha 归一化的预期深度来渲染深度图。

N 维光栅化:除了渲染三通道 RGB 图像外,gsplat 还支持渲染更高维度的特征向量。这受到将学习到的特征图与可微体渲染相结合的算法的启发。为了满足这些特征的存储需求,gsplat 后端允许在训练期间调整影响内存分配的参数,如内核块大小。

抗锯齿:以不同分辨率查看由高斯表示的三维场景时,可能会产生锯齿效应,这在先前的三维表示中也曾出现过。当分辨率降低或从远处查看场景时,小于一个像素大小的单个高斯分布由于采样率低于奈奎斯特频率而会产生锯齿伪影。Mip-Splatting在投影的二维高斯协方差上提出了一种低通滤波器,确保高斯分布的范围始终跨越一个像素。gsplat 支持使用 Yu 等人引入的二维抗锯齿模式进行渲染。

图片

5. 评估

图片

图片

对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~

1V1论文辅导-3D视觉工坊提供顶会论文的课题如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值