简易录制视频做3D高斯

发布于:2024-05-11 ⋅ 阅读:(71) ⋅ 点赞:(0)

系统环境

ubuntu20 ,cuda11.8,anaconda配置好了3D高斯的环境。
具体参考3D高斯环境配置:https://blog.csdn.net/Son_of_the_Bronx/article/details/138527329?spm=1001.2014.3001.5501

colmap安装:https://blog.csdn.net/Son_of_the_Bronx/article/details/138543508?spm=1001.2014.3001.5501

录制视频

用手机录制即可,直接录制视频

从视频中截取照片

这里我是参考的一片博客:3D Gaussian Splatting Linux端部署指南(含Linux可视化)

在这篇博客的最后,提供了一个train_video.py的代码,具体可以去那篇博客参考他的代码。具体的操作应该就是通过ffmpeg来截取视频生成一张一张的图片,然后放到colmap中进行稀疏重建,然后再把点云和相机位姿图片放到3D高斯中训练,最终得到训练结果。

我这里记录的是在跑这个train_video.py代码期间遇到的报错。

python脚本报错在这里插入图片描述

报的这个错误,应该就是脚本在运行这句命令的时候报错:

command = f'ffmpeg -i {video_path} -qscale:v 1 -qmin 1 -vf fps={fps} {images_path}/%05d.jpg'
subprocess.run(command, shell=True)

我没有像这篇博客3D Gaussian Splatting Linux端部署指南(含Linux可视化)
在一开始的时候就把conda和apt-get的ffmpeg卸载,可能是这个原因导致的错误吧。

当我在终端打出:

ffmpeg -h

出现的也是这个问题:
在这里插入图片描述
因为我是在conda环境下用的ffmpeg命令,而这个conda环境下的ffmpeg命令有问题,找不到这个openh264的库文件。(PS:不在conda环境下,ffmpeg命令是有效的,说明现在conda的bin目录优先级是比系统的bin目录优先级高)

解决方案

那么conda环境下的ffmpeg命令有问题就去解决他。
网上搜索的方法首先是更新ffmpeg

conda update ffmpeg

但是在更新完后对我来说还是报这个错误,所以我想的是openh264有问题,所以运行下面指令,去更新openh264

conda update openh264

然后也能够在 gaussian_splatting这个anaconda环境中的lib
在这里插入图片描述
找到对应的库文件
在这里插入图片描述
所以后续就没有报错,用的是自己录的小视频进行3D高斯训练。

训练结果

一个一分钟的视频,3090训练了16分钟
在这里插入图片描述
整体质量还是比较粗糙,相机比较差,而且拍摄的角度应该也是有讲究的,后面再好好准备自己录的数据集。


网站公告

今日签到

点亮在社区的每一天
去签到