Open-DiffusionGS
单阶段 Image-to-3D 生成:6 秒从照片导出 OBJ/PLY 3D 模型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
单阶段 Image-to-3D 生成:6 秒从照片导出 OBJ/PLY 3D 模型
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你拍了一张商品照片,想立刻生成可360°查看的3D模型——这在电商展示、工业设计、游戏资产制作中需求巨大。但传统方案存在致命缺陷:两阶段 Pipeline需要先用多视角扩散模型生成物体的不同角度图像,再用NeRF或3DGS重建几何结构,流程冗长不说,还会在跨阶段传递中累积误差。
Adobe Research 联合约翰斯·霍普金斯大学等机构的研究者,在ICCV 2025发表的论文提出了一个优雅的解决思路——"逆向蒸馏":不再把3DGS当作后处理工具,而是将它作为隐式先验,直接"烘焙"进预训练的Stable Diffusion去噪器中。DiffusionGS的GitHub仓库是由作者团队独立重实现的开源版本,代码和权重与Adobe原版有所不同。
1. 3DGS作为去噪器的隐式先验
传统的Latent Diffusion Model(LDM)在去噪过程中隐式地学习2D图像分布。而DiffusionGS的核心创新是:让3DGS的渲染方程作为去噪器的显式结构先验。具体做法是,将Gaussian splatting的渲染过程参数化为可微操作,插入到U-Net的特征层中。这样,去噪器不仅能预测2D噪声残差,还能同时优化Gaussian参数,使得生成的每个视角渲染结果都天然符合3D几何一致性。
2. 单阶段端到端架构
整个系统分为两大核心模块:
训练采用四阶段递进策略:Scene-256→Scene-512→Object-256→Object-512,每阶段在前一阶段基础上用更高分辨率数据微调。Object级别模型还额外引入了mesh提取分支(通过MCubes)。
3. 速度优势:比Hunyuan3D快7.5倍
开源版本在单张A100上,Object级别推理仅需6-24秒(256分辨率),512分辨率约30-60秒。相比之下,腾讯Hunyuan3D-v2.5同样任务需要约180秒。速度提升来源于单阶段设计省去了多视角扩散的昂贵前向传播。
仓库提供了开箱即用的单行命令体验:
from diffusionGS.pipline_obj import DiffusionGSPipeline
import torch
pipeline = DiffusionGSPipeline.from_pretrained("CaiYuanhao/DiffusionGS",
device="cuda:0", torch_dtype=torch.float16)
gs_output = pipeline("extra_files/test_cases/dp.png",
seed=62, foreground_ratio=0.825, extract_mesh=True)
gs_output.gaussians.save_ply("debug/test.ply")
gs_output.mesh.export("debug/test.obj")
推理管线会自动从HuggingFace下载权重。导出的Gaussian以.ply文件保存,可用第三方工具查看;mesh以.obj格式导出。
核心依赖:
代码目录结构:
diffusionGS/models/ — 核心模型组件:denoiser(去噪器)、diffusion(扩散核心)、geometry(几何模块)、gsrenderer(3DGS渲染)、scheduler(噪声调度器)、transformers(Transformer attention)diffusionGS/systems/ — 训练系统:diffusion_gs_system.py管理Object训练循环,diffusion_gs_system_scene.py管理Scene级别训练diffusionGS/pipeline_obj.py — 推理Pipeline入口,封装HuggingFace风格APIdiffusionGS/configs/ — 4个YAML配置文件,对应4个训练阶段submodules/diff-gaussian-rasterization — 3DGS官方CUDA扩展,需pip install -e编译安装已知GPU/精度限制: 3DGS CUDA扩展在torch.float32下运行,传入float16仅影响权重精度,实际渲染仍使用32位浮点计算。
1. 几何质量瓶颈:单阶段设计意味着模型必须在去噪过程中同时学习外观和几何。当物体表面细节极为复杂时(如毛发、镂空结构),去噪器的有限容量会成为几何精度的天花板。相比之下,两阶段方法通过多视角扩散提供了更强的几何约束。
2. 视角外推能力有限:DiffusionGS本质上学到的是训练数据分布内的2D→3D映射。对于训练集中罕见的极端视角,生成质量会显著下降。
3. 背景处理依赖抠图:Object级别的生成依赖rembg进行前景分割(foreground_ratio参数),背景过于复杂或与前景颜色接近时,分割质量直接影响最终3D效果。
4. Mesh提取是后处理:导出的.obj网格来自Marching Cubes对SDF的采样,不是3DGS的直接表示,与原始Gaussian参数存在近似误差。
DiffusionGS代表了3D生成领域的一个重要趋势——从两阶段走向单阶段,从隐式建模走向结构先验嵌入。它的出现让实时交互式3D生成成为可能,也为后续研究(如后续的One-2-3-45++、CRM等)奠定了技术基础。
从工程视角看,该项目提供了:
对于想在3D生成领域做二次开发的团队,DiffusionGS是当前最值得研究的开源基线之一——它的核心思路(将3D结构先验嵌入扩散模型)正在被更多工作借鉴。

图1:作者 CaiYuanhao 头像