惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
J
Java Code Geeks
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
B
Blog
A
About on SuperTechFans
有赞技术团队
有赞技术团队
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
美团技术团队
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
N
Netflix TechBlog - Medium
C
Check Point Blog
Recent Announcements
Recent Announcements
博客园 - Franky
博客园 - 叶小钗
T
Tailwind CSS Blog

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录
3D Gaussian Splatting 官方源码实践记录
Yiwei Zhang · 2025-06-11 · via 又见苍岚

3D Gaussian Splatting 是3D 重建的划时代技术,本文记录官方代码的实践过程。

简介

3D Gaussian Splatting(3D高斯泼溅/3D高斯点染)是一种用于‌实时高质量新视角合成‌的突破性3D场景表示与渲染技术。其核心特点在于将三维场景表征为一系列带有可学习属性的3D高斯函数,并通过高效的光栅化方式进行渲染。

环境准备

工具安装

  • 操作系统 Ubuntu 22.04

  • Anaconda

  • Cuda 11.8

  • 安装 Colmap

  • 安装 ImageMagic

    1
    sudo apt install imagemagick

源码安装

  • 下载源码:

    1
    2
    # SSH
    git clone git@github.com:graphdeco-inria/gaussian-splatting.git --recursive

    1
    2
    # HTTPS
    git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
  • 安装 Python 环境:

    1
    2
    conda env create --file environment.yml
    conda activate gaussian_splatting
  • 安装 SIBR

    仓库中包含了 SIBR 的源码,在 SIBR_viewers 文件夹中

    先安装相关依赖, 再编译安装

    1
    2
    3
    4
    5
    6
    # Dependencies
    sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
    # Project setup
    cd SIBR_viewers
    cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
    cmake --build build -j24 --target install
  • 执行

    1
    2
    cd gaussian-splatting/SIBR_viewers/install/bin
    ./SIBR_remoteGaussian_app

    能显示如下界面表示安装成功。

数据准备

训练模型

这里以 MipNerf360 中 bicycle 数据为例训练 3D GS 模型

  • 复制 bicycle2 中的图片到特定的文件夹 <path_to_dataset>/input

    1
    2
    3
    4
    5
    <location>
    |---input
    |---<image 0>
    |---<image 1>
    |---...
  • 生成 Colmap

    1
    python convert.py -s <path_to_dataset>
  • 进行训练:

    1
    python train.py -s <path_to_dataset>

模型可视化

训练过程占用显存不断增加,我的显卡显存 12G,仅能支持训练到 8000 iter,默认在 7000 iter时保存模型,这里我们展示该模型效果

重建效果对比

3D 可视化

参考资料

文章链接:
https://www.zywvvd.com/notes/3d/gs/gaussian-splating-3d-in-action/gaussian-splating-3d-in-action/