当前位置:   article > 正文

3D-gaussian-splatting运行(免环境配置)_pycharm 矩池云 3d gaussian splatting

pycharm 矩池云 3d gaussian splatting

写在前面

        3D高斯Splatting这里不做更多介绍,本文意在提供一个配置好的环境以及源代码,如果你在参考官方readme的时候,觉得reclusive克隆原项目太慢,或者是在配置环境的时候遇到一点小问题,希望我的这篇文章能帮到你QAQ。

        3D高斯的源码: GitHub - graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"         本人在3d-gaussian-splatting的源码之外,还额外添加了两个快捷训练脚本,一个是用一段视频训练,一个是指定输入图片文件夹训练,不管是哪个使用起来都非常容易,可以一键运行

image.png

        上图为官方代码实现,训练脚本为train,py;

image.png

        我自己添加了两个训练的脚本,依次对应使用单个视频或者是图片集来进行训练与场景重建,代码也比较简单,如下:

  1. import os
  2. import subprocess
  3. # 视频绝对路径
  4. video_path = r"_你自己的视频,带上完整路径_"
  5. # 切分帧数,每秒多少帧
  6. fps = 2
  7. # 获取当前工作路径
  8. current_path = os.getcwd()
  9. # 上一级文件夹所在路径
  10. folder_path = os.path.dirname(video_path)
  11. # 图片保存路径
  12. images_path = os.path.join(folder_path, 'input')
  13. os.makedirs(images_path, exist_ok=True)
  14. ffmpeg_path = os.path.join(current_path, 'external', r'ffmpeg/bin/ffmpeg.exe')
  15. # 脚本运行
  16. # 视频切分脚本
  17. command = f'{ffmpeg_path} -i {video_path} -qscale:v 1 -qmin 1 -vf fps={fps} {images_path}\\%04d.jpg'
  18. subprocess.run(command, shell=True)
  19. # COLMAP估算相机位姿
  20. command = f'python convert.py -s {folder_path}'
  21. subprocess.run(command, shell=True)
  22. # 模型训练脚本,模型会保存在output路径下
  23. command = f'python train.py -s {folder_path}'
  24. subprocess.run(command, shell=True)

        上面那个就是使用ffmpeg进行视频的切分,然后调用train.py进行训练 下面这个脚本为使用图片作为输入,然后进行训练。

  1. import os
  2. import subprocess
  3. # 图片集所在的绝对路径
  4. images_path = r"_你自己的图片数据集_"
  5. # 上一级文件夹所在路径
  6. folder_path = os.path.dirname(images_path)
  7. # 脚本运行
  8. # COLMAP估算相机位姿
  9. command = f'python convert.py -s {folder_path}'
  10. subprocess.run(command, shell=True)
  11. # 模型训练脚本,模型会保存在output路径下
  12. command = f'python train.py -s {folder_path}'
  13. subprocess.run(command, shell=True)

        上面两个脚本都可以一键运行,开箱即用。

实验环境

        win11,3070-laptop,拥有8G显存; 已经配制好的环境,我放在下面这个度盘链接里面,如果你不想自己配置,直接把这个环境移动到你的conda环境列表里面就好;

  1. 链接:https://pan.baidu.com/s/1Lv6zQkGhGL6s13NwFYSfmQ?pwd=fopi
  2. 提取码:fopi
  3. --来自百度网盘超级会员V2的分享

具体操作如下:

        step1:下载网盘当中的压缩包,下载完的env压缩包里面包含了已经预先配制好的环境,包含这个3d_gaussian_splatting文件夹:

image.png

        里面包含的这些东西就是配制好的环境了:

image.png

        step2: 把这个3d_gaussian_splatting文件夹给挪到你自己的conda安装位置里面的env路径下面去,之后你在pycharm或者其他编译器里面,就可以直接把这个虚拟环境设置为你的解释器(interpreter)。

        举个例子,我自己的conda根目录是在E盘里面的,在安装目录下面,有一个envs文件夹,打开以后就可以看到已经安装的环境。

image.png

        接下来就把gaussian_splatting文件夹给放到env文件夹里面就好了,像下面这样:

image.png

        step3: 之后就是在pycharm里面给项目配置一下python解释器(InterPreter)就可以了,配置完成之后大概如下所示;

image.png

        到此为止环境上的配置就已经完成了。

运行过程

        你可以把你录制的视频放置在项目的data目录之下,之后只需在train_video.py脚本当中指定一下你原视频的路径就好,像下面这样:

image.png

        我自己使用的测试视频是我自己用手机录制的,就是简单围着自己的键盘拍了一圈,也有不错的场景重建效果。把视频的位置放好之后,在利用视频的训练脚本当中指定训练视频的绝对路径,然后就可以开始训练了。

image.png

        运行train_video.py的时候,首先其实是先运行了Convert.py,大概是使用Colmap的一些api进行一些早期的处理。这里不再进行更多的介绍。

        在3d-gaussian-splatting运行之前,首先是通过colmap去得到一个初始的,粗糙的稀疏点云

image.png

        使用Colmap完成了初始的稀疏点云生成之后,就可以开始对3d高斯椭球的形状进行训练与调整了。 下面是对这个模型训练三万步的一个演示

image.png

        训练完成之后的结果如下图所示,完整训练三万步在我的PC上还是需要相当长一段时间的。

image.png

        实验室的同学也运行了这个代码,在运行的过程中,我们观察到的显存占用量也是8G左右,我自己的PC也是勉强能跑的动,所以如果你想要在自己的PC上把高斯泼溅给跑起来的话,个人建议是你的显卡能达到这个3070或者以上。

运行效果

        完成训练之后,你可以在项目的output目录下看到你的训练输出结果,只是结果文件夹的名字是一段乱七八糟的字母与数字,我建议跑完一遍之后你到output下面给输出文件改个名,不然很容易搞不清这个文件夹里面放的到底是谁的重建输出结果。

        最终运行效果的查看是通过官方给定的可视化工具SIBR_viewer.py来实现的,使用的时候需要去指定输出结果的绝对路径,并将高斯点云可视化出来;

  1. import subprocess
  2. # output保存路径
  3. model_path = r'E:\ideaprojects\gaussian-splatting\output\keyboard'
  4. #一个示例,换成你自己的输出路径,反正肯定在output文件路径下面,找一下就好
  5. # 脚本执行
  6. command = f'SIBR_gaussianViewer_app.exe -m {model_path}'
  7. run_path = 'external/viewers/bin'
  8. subprocess.run(command, shell=True, cwd=run_path)

        之后即可显示重建的结果

image.png

image.png

image.png

image.png

image.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/179198
推荐阅读
相关标签
  

闽ICP备14008679号