在nerfstudio框架上运行3DGS

 背景介绍:


3D高斯溅射是在来自INRIA的SIGGRAPH 2023中提出的,它是一种完全不同的通过显式存储3D体积高斯集合来表示辐射场的方法。这些可以“飞溅”或投影到提供相机姿势的2D图像上,并光栅化以获得逐像素的颜色。由于栅格化在gpu上的速度非常快,因此这种方法的渲染速度要比辐射场的神经表示快得多。nerfstudio的实现称为“Splatfacto”,随着更多功能的添加,逐渐偏离原始论文。正如Nerfacto是各种不同方法的混合,Splatfacto将是不同高斯飞溅方法的混合。

Nerfstudio使用gsplat作为其高斯光栅化后端,这是一个内部重新实现,旨在对开发人员更友好。可以使用

pip install gsplat

安装它。

运行环境:

我是在WSL2环境,Ubuntu20.04版本下运行的

CUDA版本11.7

gcc和g++的版本都是9.4.0

cmake版本3.29.2

一、数据集准备:

这里使用DJI Phantom 4采集了深圳大学科技楼121张图片进行训练。如图所示:

二、数据预处理:

可以运行下面代码来查看数据预处理的帮助,主要还是colmap的过程。主要命令有两个,1是--data图片的文件路径,2是--output-dir文件的输出路径。

ns-process-data images -h

数据预处理完成后,可以看到如下窗口。

在文件夹中也可以看到

三、训练

可以使用如下命令来查看可以训练的模型,可以看到splatfacto(Gaussian Splatting model) 

ns-train -h 

运行后如图所示:

继续运行如下命令,可以查看输入的一些命令帮助。

ns-train splatfacto -h

主要关注两个命令行选项,一个是--data,刚刚处理完成的数据的文件路径,第二个是--output-dir输出文件的路径

ns-train splatfacto --output-dir train/ --data air_data/

如图就是在训练,可以打开浏览器来查看训练的效果

 可以在浏览器中输入http://0.0.0.0:7007查看,可视化界面如下(由于图片内存有上限进行了裁剪),右边按钮可以调整渲染质量和速度,也可以看深度图之类的。

四、导出点云文件查看

可以用代码查看帮助文档

ns-export -h

可以看到如下界面。主要关注gaussian-splat点云输出内容。

也可以继续输入代码查看帮助文档

 ns-export gaussian-splat -h

只需要输入两个参数即可一个是config YAML 文件,还有一个是输出路径

输出后可以看到.ply文件,导入到cloudcompare里面可以查看点云(如下图所示),能够清晰看到深圳大学科技楼的场景

五、总结

 3DGS渲染速度和质量上都比Nerf渲染的要好,如果有任何疑问,欢迎在评论区留言,会尽能力回复。谢谢大家的支持。

### 复现3DGS代码于服务器上的方法 #### 准备环境 为了成功复现3DGS代码,在服务器环境中需先安装必要的依赖库和工具。这通常涉及配置Python版本以及特定的数据处理包,如NumPy, Pandas等[^1]。 对于操作系统层面的支持,建议使用Linux发行版作为首选平台,因为大多数机器学习框架在此类系统上有更好的兼容性和性能表现[^2]。 #### 获取源码 访问官方GitHub仓库或其他托管站点下载最新的稳定版3DGS项目文件。确保获取的是适用于当前需求的分支或标签版本[^3]。 #### 安装依赖项 通过`requirements.txt`来管理外部依赖关系是一个常见的做法。可以利用pip命令批量安装所需的Python模块: ```bash pip install -r requirements.txt ``` 如果遇到权限问题,则可能需要加上`--user`参数或者考虑创建虚拟环境来进行隔离化部署[^4]。 #### 配置运行参数 仔细阅读文档中的说明部分,了解启动脚本的位置及其接受哪些输入选项。某些情况下还需要调整配置文件内的路径设置以便适应本地存储结构[^5]。 #### 执行程序 最后一步就是实际执行该应用程序了。一般会有一个入口点(entry point),比如main.py这样的主函数文件。可以通过如下方式调用它: ```python if __name__ == "__main__": main() ``` 当然也可以直接从命令行界面运行整个过程: ```bash python path/to/main_script.py [arguments] ``` 以上步骤完成后应该能够在目标服务器上顺利重现3DGS的功能特性[^6]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值