参考文章:
3D gaussian-splatting可视化SIBR_viewers在ubuntu20.04下的配置_ubuntu系统中3dgs最新版下载-优快云博客
1.项目地址
graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"https://github.com/graphdeco-inria/gaussian-splatting3D Gaussian Splatting for Real-Time Radiance Field Rendering3D Gaussian Splatting for Real-Time Radiance Field Rendering
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
2.部署过程
autodl中服务器选择,一般是选择cuda 11.8版本,这样不容易报错。在autodl中这样选择镜像。如果想直接用别人的配置,可以去社区寻找。
远程连接
选择使用mobaxterm连接。参考如下
AutoDL算力租用,Mobaxterm+Pycharm+VScode通过SSH连接远程服务器AutoDL_如何出租自己的算力-优快云博客
克隆代码
# HTTPS
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
不用conda进行创建新的环境!!!!下面的不要使用,我的没有成功,一直创建失败。直接在进去的环境下进行,这样pytorch也不用重新安装。
conda env create --file environment.yml
conda activate gaussian_splatting
下载模块
真正需要下载的模块如下命令
pip install plyfile
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
pip install submodules/fused-ssim
pip install opencv-python
pip install joblib
这样之后就可以进行训练了。
训练数据集
3D Gaussian Splatting for Real-Time Radiance Field Rendering
如图位置点击下载。然后用mobaxterm传到服务器上面。直接移动到上面去就可以。
解压出来是这样的:
直接指定路径就可以训练了。
python train.py -s /root/autodl-tmp/.autodl/tandt/truck -m output #左边输入,右边输出
训练完成的文件夹是这样的。我用的vscode,中见多了cfg和event两个文件
可视化
远程可视化,可以成功,但是cuda启动不了,帧率非常的低。所以转用离线,把训练结果转到windows上再进行。
具体参考如下
【基于3D Gaussian Splatting的三维重建】保姆级教程 | 数据集制作 | 训练可视化自己数据集 | torch | colmap | ffmpge | 全过程图文by.Akaxi-优快云博客安装visual studio 2022。我忘记截图了,但是步骤是没有错的。遇到的报错
把这个文件下载下来移到对应位置即可,上面链接较长,可以仔细查看解决。别忘记添加环境变量。
自己的数据集
1.FFMPEG安装
// 删除所有安装的 ffmpeg
sudo apt-get remove ffmpeg
sudo apt-get purge ffmpeg
// 删除 Anaconda ffmpeg 模块
重新安装
sudo apt-get install ffmpeg
2.COLMAP安装
参考:3D Gaussian Splatting Linux端部署指南(含Linux可视化)_3d gaussian splatting 环境搭建-优快云博客
下载对应依赖
sudo apt-get install \
git \
cmake \
ninja-build \
build-essential \
libboost-program-options-dev \
libboost-filesystem-dev \
libboost-graph-dev \
libboost-system-dev \
libeigen3-dev \
libflann-dev \
libfreeimage-dev \
libmetis-dev \
libgoogle-glog-dev \
libgtest-dev \
libsqlite3-dev \
libglew-dev \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev \
libceres-dev
进行cmake,最好更新一下cmake版本,直接用会报错。
这里不要直接使用,colmap需要3.8版本的分支
git clone https://github.com/colmap/colmap.git
cd colmap
git checkout 3.8
mkdir build
cd build
cmake .. -GNinja #CMake预处理,生成Ninja构建系统所需的文件
ninja #默认使用系统最大可用cpu核心数进行编译,如果系统cpu有32个核,等效与ninja -j32
sudo ninja install
中间的warning不用管。
可能遇到问题
CMake Error at CMakeLists.txt:255 (message):
You must set CMAKE_CUDA_ARCHITECTURES to e.g. 'native', 'all-major', '70',
etc. More information at
https://cmake.org/cmake/help/latest/prop_tgt/CUDA_ARCHITECTURES.html
-
把set(CMAKE_CUDA_ARCHITECTURES "70")加在cmakelist就好了
3.数据集处理
传入一段MP4
先用ffmpeg生成图片再input文件夹下,我用的是绝对路径,请自己修改路径。
ffmpeg -i /root/autodl-tmp/data/25b2501e595463da2a2fc35f0eaf1d80.mp4 -vf "setpts=0.2*PTS" /root/autodl-tmp/data/input/input_%4d.jpg
再使用colmap生成点云数据
python convert.py -s /root/autodl-tmp/data
目录结构如图
后面遵循上面训练可视化即可。
进入vs中命令行
.\SIBR_gaussianViewer_app -m E:\3D_gaussion_splatting\night\output
由于拍的时间比较短,大概13秒,图片数量不是很多,效果一般。
另外
可以直接用autodl社区别人已经搭建好的镜像。