在 Windows 11 上从零复现 3D Gaussian Splatting (3DGS)

一、环境准备与基础软件安装

硬件/软件 作用 推荐/必须
系统 Windows 11 基础环境
显卡 RTX 3060 (12GB) 必须 NVIDIA GPU
Git Bash 克隆代码,命令行操作 推荐
Anaconda3 隔离 Python 环境 强烈推荐
CUDA 11.7 GPU 计算核心,匹配 PyTorch 必须
VS 2019 编译器工具链(C++/CUDA) 必须

1. CUDA 11.7 安装与验证

cuda11.7 地址 : [cuda11.7](CUDA Toolkit 11.7 Downloads | NVIDIA Developer)

更多cuda版本选择: CUDA Toolkit Archive | NVIDIA Developer由于我们将使用 PyTorch cu117 版本,CUDA 必须为 11.7。

  1. 下载 :访问 CUDA Toolkit 11.7 下载页面,下载并默认安装。

  2. 设置系统环境变量 :安装完成后,确保 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7 目录存在。选择path系统环境变量,选择新建。

  3. 验证:打开 CMD 终端,输入:

    复制代码
    nvcc --version

    如果显示版本信息,即为成功。

2. Visual Studio 2019 (VS2019) 安装

VS2019 社区版即可。安装时,确保勾选 "使用 C++ 的桌面开发" 工作负载,因为后续安装子模块时需要 C++ 编译器。

二、3DGS 环境与依赖安装

1. 创建并激活 Conda 环境

复制代码
conda create -n 3dgs python=3.8
conda activate 3dgs

2. 代码克隆与 PyTorch 安装

使用 Git Bash 克隆代码,必须 加上 --recursive 参数以确保子模块也被下载。

复制代码
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
cd gaussian-splatting

3. 安装 PyTorch (CUDA 11.7 版本)

复制代码
pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117

在国内下载 PyTorch 时,建议关闭代理或 VPN ,使用官方镜像通常速度更快。

  1. 安装依赖包,推荐分别执行

    pip install plyfile
    pip install tqdm
    pip install opencv-python
    pip install joblib

  2. 安装子模块,推荐分别执行

    注意:这些命令必须在设置了 CUDA_HOME 环境变量的终端中运行

    pip install submodules/diff-gaussian-rasterization
    pip install submodules/simple-knn
    pip install submodules/fused-ssim

如果你在安装子模块时遇到 CUDA_HOME environment variable is not set 错误,请确保成功设置cuda的环境变量

三、使用官方数据训练

下载官方数据:GitHub - graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"

1. 可视化数据集

可视化工具下载地址: https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip

在项目根目录下创建文件夹viewers,将压缩包中的文件全部复制到viewers文件夹中

在数据集还在训练中,接着再开启个CMD命令行,用cd命令切换到D:\gaussian-splatting-main\viewers\bin(根据自己路径修改)执行可视化命令,如果出现画面则为成功

复制代码
.\SIBR_remoteGaussian_app.exe

2. 运行训练代码

复制代码
python train.py -s D:\paper_data\3dgs\gaussian-splatting\tandt_db\db\playroom --iterations 6000

如果显存不够,可以尝试降低质量

复制代码
--resolution 4 降低分辨率
--percent_dense 0.3 控制点云密度为 30%

python train.py -s D:\paper_data\3dgs\gaussian-splatting\tandt_db\db\playroom --iterations 6000 --resolution 2

四、数据集制作(自制数据)

为了方便训练自制数据,我们需要安装 Colmap 和 FFmpeg。

1. 安装 Colmap 和 FFmpeg

下载 Colmap CUDA 版本FFmpeg Essentials

  1. 在项目根目录(gaussian-splatting)下新建 tools 目录。
  2. 将下载的文件解压到 tools 中。
  3. 配置系统环境变量 :将 Colmap 和 FFmpeg 的 bin 目录路径(例如 D:\...tools\COLMAP-3.8-windows-cuda\bin)添加到系统的 Path 环境变量中。
  4. 验证:打开 CMD,输入 COLMAPffmpeg -version,若能正常运行则安装成功。

2. 视频转图片

将你的视频转换为一系列图片。

复制代码
# 示例:将 video/chair.mp4 逐帧转为图片序列
ffmpeg -i video/chair.mp4 image/input_%04d.png

【经验】 视频逐帧提取图片数量过多(如 500 张)会导致 Colmap 和训练时间过长。为加速,请在 ffmpeg 命令中加入 -r <帧率> 参数。例如:

复制代码
# 降低到 5 帧/秒,图片数量大幅减少
ffmpeg -i video/chair.mp4 -r 5 image/input_%04d.png

3. 图片转点云 (Colmap)

在项目目录下,新建数据集文件夹(例如 lab_chair),并在其中创建 input 目录存放图片,distorted 目录为空。然后运行转换脚本:

复制代码
python convert.py -s lab_chair

这一步将调用 Colmap 进行相机位姿估计和稀疏点云生成。

4.运行训练

复制代码
# 自制数据集训练示例
python train.py -s lab_chair -m lab_chair/output --resolution 2
  • -s lab_chair:指定数据集源文件夹。
  • -m lab_chair/output:指定输出模型目录。
  • --resolution 2【关键优化】 图像分辨率降低 2 倍(1/4 尺寸),可以大幅减少显存占用和训练时间。

5.查看模型

加载模型: 运行以下命令,替换为你实际的模型输出路径:

复制代码
.\viewers\bin\SIBR_gaussianViewer_app -m D:\paper_code\3dgs\gaussian-splatting\output\6d2101eb-9

报错 由于找不到 cudart64_12.dll, 无法继续执行代码 :这是因为查看器是为 CUDA 12.x 编译的。你需要下载 cudart64_12.dll 并将其复制到 viewers\bin 目录下即可解决。

下载地址:CUDART64_12.DLL : Free .DLL Download

相关推荐
love530love15 小时前
精简版|Claude-HUD 插件介绍 + 一键安装教程
人工智能·windows·笔记
秋916 小时前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
善恶怪客17 小时前
LocalSend基本使用
windows
MengMeng_102318 小时前
win10 蓝牙连接音响没有声音设备选项
windows
强殖装甲凯普19 小时前
处理Windows没有msi的默认打开方式
windows·安装·msi
mOok ONSC19 小时前
mysql9.0windows安装
windows·adb
T0uken20 小时前
基于 vcpkg 与 LLVM-MinGW 的 Qt6 静态链接开发方案
c++·windows·qt
无心水21 小时前
【Hermes:Skill系统深度】21、Skill 调试与冲突解决:为什么没触发?怎么修复? —— Honcho 智能体排障完全手册
人工智能·windows·openclaw·养龙虾·hermes·养马·honcho
Python私教1 天前
FuturesDesk 集成 OMC 多智能体编排提效
人工智能·windows·开源
旺财矿工1 天前
小白速通:OpenClaw 2.6.6 Win11 本地化部署完整教程
人工智能·windows·openclaw·龙虾·一键部署小龙虾