Windows 11 下 3D Gaussian Splatting (3DGS) 环境搭建与实战训练指南
1. 环境准备硬件与基础软件想在Windows 11上玩转3D Gaussian Splatting简称3DGS首先得把硬件和基础软件搞定。我去年第一次尝试时就因为显卡驱动版本不对折腾了一整天。先说硬件**RTX 306012GB显存**是最低门槛实测显存小于8GB连demo都跑不起来。如果预算充足建议直接上RTX 4090——训练速度能快3倍不止。软件方面有五个必装项Git Bash别用Windows自带的CMD很多Linux命令不支持Anaconda3Python环境管理神器避免依赖冲突CUDA 11.7必须严格匹配PyTorch版本Visual Studio 2019编译CUDA扩展必备7-Zip解压数据集比WinRAR快得多注意所有安装路径都不要带中文或空格我见过太多因为D:\新建文件夹导致编译失败的案例。装CUDA时最容易踩坑。官网下载页面有四个选项要选exe(local)本地安装包。安装完成后在PowerShell里输入nvcc --version如果显示could not find错误八成是环境变量没配置。手动检查Path里有没有这两条C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\libnvvp2. 搭建3DGS专用环境有了基础软件现在来创建专属的3DGS环境。用Anaconda新建环境时建议指定Python 3.8——这是与PyTorch 2.0兼容性最好的版本。执行下面这行命令conda create -n 3dgs python3.8 conda activate 3dgs克隆代码库要特别注意--recursive参数我第一次没加这个结果diff-gaussian-rasterization子模块全是空的git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive安装PyTorch时有个隐藏坑点官网给的pip命令默认装的是CPU版本。正确的CUDA 11.7版本安装命令应该是pip install torch2.0.0cu117 torchvision0.15.1cu117 --extra-index-url https://download.pytorch.org/whl/cu117子模块安装最容易报错。如果遇到CUDA_HOME not found先检查环境变量echo $env:CUDA_HOME如果没有输出需要手动设置$env:CUDA_HOME C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.73. 官方数据集训练实战官方提供的playroom数据集最适合练手解压后约1.2GB。训练前建议先启动可视化工具这样能实时看到点云生成过程cd viewers/bin ./SIBR_remoteGaussian_app.exe训练命令的核心参数就三个python train.py -s ./data/playroom --iterations 6000 --resolution 2-s指定数据集路径--iterations控制训练轮数--resolution降低分辨率节省显存如果显存不足比如报错CUDA out of memory可以试试这两个参数组合--percent_dense 0.3 --densification_interval 100训练过程中要盯着两个指标PSNR值超过25说明训练正常点云数量正常应该在10万-50万之间4. 自制数据集全流程用自己拍的视频做3D重建才是真功夫。需要额外安装两个工具COLMAP-3.8必须选带CUDA的版本FFmpeg视频转图片神器把手机拍的视频转为图片序列时建议控制帧率。实测30fps的视频用5fps提取足够ffmpeg -i my_video.mp4 -r 5 input/image_%04d.pngCOLMAP处理阶段最耗时间。我的经验是200张图片约需30分钟开启GPU加速能快3倍内存小于32GB可能崩溃转换命令很简单但容易卡住python convert.py -s ./my_data如果卡在Extracting features...试试加参数--colmap_matcher exhaustive5. 模型查看与性能优化训练好的模型可以用官方查看器观察。常见问题是缺少cudart64_12.dll解决方法很简单下载dll文件放viewers/bin目录或者重编译查看器代码对于低配显卡这几个参数能显著提升速度--num_pts 500000 # 限制点云数量 --white_background # 简化渲染 --sh_degree 1 # 降低光照复杂度如果要做二次开发建议修改这两个文件scene/dataset_readers.py支持自定义数据格式gaussian_renderer/__init__.py调整渲染参数最后分享一个实用技巧训练中断后想继续加个--resume_from_checkpoint参数就行python train.py -s ./data --resume_from_checkpoint 3000