免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

3DGS基于源码运行

3DGS基于源码运行 注如果您是克隆的源码里面的yml环境注意将python至少升级到10其余根据自身期间遇到的错误自行修改。下载软件1. VS2019必须选python, C桌面开发单个组件里面要按装MSVC v142 - VS 2019 C x64/x86 生成工具(v14.28-16.8) 不可14.29还有这个-用于 Windows 的 C CMake 工具2. CUDA Toolkit 11.83. colmap 3.8with cuda 要对lib和bin都设置环境变量流程 如果本来就是图片的话直接进行转点就可以了视频 -- ffmpeg抽帧为图片 -- gaussian-splatting转为高斯点云并训练-SuperSplat展示一、数据预处理本次选用了自行拍摄的视频也可使用Tanks and Temples等数据集还可以去问AI自行决定即可。参考B站博主XR_1605的视频抽帧的cmd修改了一下他的抽帧结果的输出目录。使用的是ffmpegecho off setlocal enabledelayedexpansion :: 配置帧间隔秒 set interval0.5 :: 设置 JPG 质量1最好31最差推荐13 set quality1 :: 选择输入文件 set /p videofile请输入视频文件路径含扩展名: :: 提取不带扩展名的文件名前缀 for %%F in (%videofile%) do set filename%%~nF :: 获取当前日期时间格式为 yy-mm-dd-hh-mm for /f %%a in (wmic os get localdatetime ^| find .) do set dt%%a set datetime!dt:~2,2!-!dt:~4,2!-!dt:~6,2!-!dt:~8,2!-!dt:~10,2! :: 创建保存目录在bat文件所在目录 set outdirE:\COLMAP-3.8\data\input\%filename% mkdir !outdir! 2nul :: 调用 ffmpeg 抽帧使用高质量参数 ffmpeg -i %videofile% -vf fps1/!interval! -q:v !quality! !outdir!\%%06d.jpg echo. echo 每隔 %interval% 秒抽一帧质量等级!quality!已保存至 echo !outdir! start !outdir! pause二、gaussian-splatting处理打开cmdconda activate 环境名 激活自己的环境切换盘符然后切换到gaussian-splatting目录。执行convert命令转化为高斯点云。这里图片应该在boy\input文件夹下。(反正图片上一级必须是input, -s指定的是图片的上上级也就是convert输出结果的存放文件夹)见下面图片。最后通过train来进行最后的训练conda activate GSRaw E: cd /d E:\gaussian-splatting python convert.py -s E:\gaussian-splatting\data\boy python train.py -s E:\gaussian-splatting\data\boy -m E:\3DGS\boy图片路径训练过程实时状态图运行结束报错convert这里遇到了缺失错误于是在Releases · ebiggers/libdeflate · GitHub下载了1.21版本并选择该dll文件贴到了colmap的lib目录下。train时因为python换到了3.10.20 需要更换pillow库numpy库opencv-python。pip install pillow11.3.0 pip install numpy1.26.4 pip install opencv-python4.10.0.84三、展示训练完后从E:\3DGS\boy\point_cloud\iteration_30000目录下(我这里选的时迭代30000次的)拿到ply文件在SuperSplat展示即可。展示图THE END依赖冲突很常见请不要丢失学习的信念(俺不会告诉你我弄了45个小时应该似的中间还打了几把三国杀吃了晚饭)后面还有基于nerfstudio框架实现3D高斯泼溅请见。晚安我的朋友。
返回列表