3D Gaussian Splatting Linux端(AUTODL上配置)训练,windows下可视化(个人记录)

参考文章:

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 Renderinghttps://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社区别人已经搭建好的镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值