本文主要是介绍用3D高斯泼溅(3DGS)重建自己的数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
几乎可以下结论:3D Gaussian Splatting(3DGS)技术的出现,宣告了NeRF时代的结束。犹如transformer当年对CNN的打击。
一个集高渲染质量、分钟级重建速度、实时渲染速度为一身的三维重建算法3DGS,毫无疑问开创了一个新的时代。本文不对3DGS的原理做太深入的解读,只做实验。
1. 准备自己的数据:
我们规定一个路径(你自己任意命名),为方便为这里命名为folder_A,在folder_A下,你放入文件夹images,如下:
├── images
│ ├── 00001.png
│ ├── 00002.png
│ ├── 00003.png
│ ├── 00004.png
│ ├── ...
│ ├── 00057.png
│ ├── 00058.png
│ └── 00059.png
一个图像文件夹,每个视角各一张图片,命名方式如上。
2. 用COLMAP跑出稀疏点云,这一步为了给3DGS做初始化:
打开我们的数据路径folder_A:
cd /path/to/folder_A
colmap automatic_reconstructor \--workspace_path . \--image_path ./images \--sparse 1 \--camera_model SIMPLE_PINHOLE
这一步的关键在于,--camera_model
一定要选用【SIMPLE_PINHOLE】,因为colmap会默认选用【SIMPLE_RADIAL】,而这个是3DGS不支持的模式。
安装COLMAP可以参考《官方文档》,链接可戳。
3. 用3DGS跑数据:
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
# after install requirements
# ...
# ...cd gaussian-splattingpython train.py -s /path/to/folder_A --model_path /path/to/folder_B/
folder_A是数据路径,folder_B是结果路径。大家可自命名。
本文由本人亲自整理,实验获得成功。如有疑问,请留言交流~
这篇关于用3D高斯泼溅(3DGS)重建自己的数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!