GaussianSplatting训练教程

GaussianSplatting训练教程

下面的链接是配置环境的教程,可自行学习配置。

https://blog.csdn.net/sakuya__/article/details/135376331?spm=1001.2014.3001.5506

下面四个命令是我在尝试从录制好的roasbag提取出一组图片,以供3DGS训练,无ros基础可不予理会。

python3 extract_rgb.py
rosbag record /rgb/image_raw
rosbag info xxx.bag
rosbag play -l xxx.bag

开始训练

1.首先进入Gaussian Splatting源码的路径下,然后创建一个data文件夹,并把准备的MP4格式的视频放到data文件夹下,我这里视频的名字为1.MP4。(这里我使用了我自己搭建的虚拟环境 3dgs)

cd gaussian-splatting/data/ conda activate 3dgs

2.使用FFmpeg截取视频帧为图片,在data目录下创建input目录,使用下面的代码可以截取视频帧并把图片放到input目录下:

ffmpeg -i 1.mp4 -vf "setpts=0.2*PTS" input/input_%4d.jpg

3.进入到源码的目录下,使用源码中的 convert.py 文件生成点云,其中就是调用colmap生成点云,所以需要先安装好colmap,运行后的data文件夹中目录结构如下:(启动python脚本时一定要看版本是否兼容,如有报错就可向我一样用conda虚拟环境)

python convert.py -s data

4.开始训练,接下来等待训练完即可:

python train.py -s data -m data/output

训练结束后在output文件夹下找到.ply文件

然后访问这个网站,把.ply文件直接拉入这个网页即可可视化,网页的使用小技巧请自行学习。

SuperSplat Editor

常用扩展小技巧

  • 自动覆盖文件,不用手动确认:加-y
ffmpeg -y -i 1.mp4 -vf "setpts=0.2*PTS" input/input_%4d.jpg
  • 控制图片清晰度(-q:v 2高质量,1–31,数字越小越清晰)
ffmpeg -i 1.mp4 -vf "setpts=0.2*PTS" -q:v 2 input/input_%4d.jpg