在 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

相关推荐
x***44012 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
CryptoPP3 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
w***744014 小时前
SQL Server2022版详细安装教程(Windows)
windows
IT逆夜20 小时前
实现Yum本地仓库自动同步的完整方案(CentOS 7)
linux·运维·windows
v***598321 小时前
DeepSeek API 调用 - Spring Boot 实现
windows·spring boot·后端
q***2511 天前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
love530love1 天前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
M***Z2101 天前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
love530love1 天前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar