Windows平台3DGS复现实战:从环境配置到可视化避坑指南

张开发
2026/4/13 4:00:20 15 分钟阅读

分享文章

Windows平台3DGS复现实战:从环境配置到可视化避坑指南
1. Windows平台3DGS复现全流程解析第一次接触3D Gaussian Splatting3DGS这个项目时我完全被它惊艳的3D重建效果震撼到了。但很快发现在Windows平台下从零开始复现这个项目简直就是一场与开发环境的搏斗。经过三次完整的环境搭建和无数次报错调试我整理出了这份最适合Windows用户的实战指南。3DGS是一种基于点云的3D场景重建技术相比传统的NeRF类方法它能在保持高质量渲染效果的同时大幅提升训练和渲染速度。官方推荐在Linux环境下运行但很多像我一样的Windows用户都希望能在熟悉的操作系统上体验这项技术。下面我就把整个复现过程中遇到的典型问题和解决方案一一拆解。2. 环境准备与工具配置2.1 基础软件准备在开始之前建议准备好以下工具全家桶Anaconda3最好选择2023年以后的版本避免Python版本过旧导致兼容性问题PyCharm Professional社区版也能用但专业版对远程开发支持更好Git for Windows记得安装时勾选Git Bash Here选项7-Zip后面解压预训练模型会用到我强烈建议先更新显卡驱动到最新版本。虽然官方文档说CUDA 11.6就够了但实际测试发现NVIDIA驱动版本过低会导致后续各种莫名其妙的问题。可以通过nvidia-smi命令查看当前驱动版本建议至少使用545以上的驱动版本。2.2 CUDA与Visual Studio的版本搭配这里有个大坑要特别注意Visual Studio版本会直接影响CUDA编译结果。我试过三种组合VS2022 CUDA 12.4 → 编译失败VS2019 CUDA 11.8 → 部分功能异常VS2019 CUDA 11.6 → 最稳定安装Visual Studio 2019时务必勾选以下组件使用C的桌面开发Windows 10 SDK版本10.0.19041.0MSVC v142 - VS 2019 C x64/x86生成工具安装完成后需要手动添加环境变量。这是我的PATH配置示例C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin3. 项目克隆与环境搭建3.1 克隆项目与子模块不要直接下载zip压缩包这会导致子模块缺失。正确的做法是git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive cd gaussian-splatting如果遇到网络问题可以尝试修改git配置git config --global http.proxy http://127.0.0.1:10803.2 Conda环境创建官方提供的environment.yml有几个潜在问题需要提前处理将python版本从3.7.13改为3.8.103.7已经太旧注释掉pip部分的子模块安装后续手动安装修改后的创建命令conda env create -f environment.yml conda activate gaussian_splatting如果遇到Solving environment卡住的情况可以先创建一个基础环境conda create -n gaussian_splatting python3.8.10 conda activate gaussian_splatting conda install -c pytorch -c conda-forge pytorch1.12.1 torchvision0.13.1 cudatoolkit11.63.3 手动安装子模块这才是最棘手的部分。三个子模块需要单独编译安装先安装基础依赖pip install tqdm plyfile opencv-python joblib安装diff-gaussian-rasterizationcd submodules/diff-gaussian-rasterization pip install . cd ../..这里可能会遇到error C2065: M_PI: undeclared identifier错误解决方法是在对应的.cpp文件开头添加#define _USE_MATH_DEFINES #include math.h用同样方法安装其他两个子模块。simple-knn可能会报错找不到torch扩展这时需要确保conda环境已激活并且torch版本正确。4. 数据准备与训练4.1 获取测试数据官方提供了两种数据集Tanks Temples室内场景Deep Blending室外场景下载后解压到项目根目录下的dataset文件夹结构应该是gaussian-splatting └── dataset ├── tandt_db │ └── tandt │ ├── train │ └── test └── deep_blending └── ...4.2 训练参数调整基础训练命令python train.py -s dataset/tandt_db/tandt/train对于显存不足的用户比如我的RTX 3060 12GB可以添加这些参数python train.py -s dataset/tandt_db/tandt/train --iterations 30000 --densify_until_iter 15000 --densification_interval 100关键参数说明densify_until_iter控制点云密度增长的停止迭代次数densification_interval密度更新频率percent_dense默认为0.01显存不足时可降低到0.005训练过程中可以实时查看显存占用nvidia-smi -l 15. 可视化与常见问题排查5.1 使用预编译的viewers官方提供的viewers.zip经常会出现dll缺失问题。如果遇到cudart64_12.dll not found错误可以尝试从CUDA安装目录复制对应的dllcopy C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\cudart64_11.dll viewers/bin/然后重命名为ren viewers/bin/cudart64_11.dll cudart64_12.dll5.2 自行编译SIBR_viewers更可靠的方法是自行编译安装CMake 3.24和7-Zip进入子模块目录cd SIBR_viewers mkdir build cd build cmake .. -DCMAKE_BUILD_TYPERelWithDebInfo cmake --build . --config RelWithDebInfo --target install编译过程中可能遇到的错误及解决错误找不到Eigen3解决手动指定路径cmake .. -DEigen3_DIRC:/path/to/eigen3错误GLFW相关错误解决安装vcpkg后执行vcpkg install glfw35.3 最终可视化成功编译后使用以下命令查看结果.\SIBR_viewers\install\bin\SIBR_gaussianViewer_app_rwdi.exe -m output/train如果画面显示异常可以尝试添加这些参数.\SIBR_viewers\install\bin\SIBR_gaussianViewer_app_rwdi.exe -m output/train --rendering-mode splats --shading-mode depth6. 性能优化技巧经过多次测试我总结出几个提升Windows平台运行效率的方法显存优化在train.py开头添加import os os.environ[PYTORCH_CUDA_ALLOC_CONF] max_split_size_mb:128使用--reduce_bbox参数限制处理范围磁盘IO优化将数据集放在SSD上添加--quiet参数减少日志输出训练加速python train.py -s dataset/tandt_db/tandt/train --eval这个参数会跳过部分验证步骤对于想要使用自定义数据集的用户建议先用colmap生成稀疏点云然后用官方提供的convert.py脚本转换格式。我在RTX 3060上处理一个100张照片的数据集大约需要15分钟。

更多文章