ivid
利用2D扩散模型生成具有几何一致性的3D图像,支持任意视角旋转和3D网格导出
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
利用2D扩散模型生成具有几何一致性的3D图像,支持任意视角旋转和3D网格导出
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:iVideo 多视角生成效果展示(来源:GitHub 仓库 assets/teaser.png)
过去几年里,Stable Diffusion、Midjourney 等基于 2D 扩散模型的图像生成工具席卷了创意设计行业。它们能以假乱真地生成任意风格的图片,却始终面临一个根本性局限——缺乏 3D 一致性。同一人物的两张生成图,往往在不同视角下出现面部特征错位、背景失配等问题。这是因为传统 2D 扩散模型的输出本质上是一张张独立的「快照」,而非对真实 3D 场景的正确表征。
这一难题长期困扰着 3D 视觉与生成式 AI 的交叉领域。理想状态下,我们希望有一套系统能像《黑客帝国》里的"雨果·维文读取器"一样,从一张 2D 图片推断出完整的 3D 结构——不仅能生成逼真的图像,还要保证从任意角度观察时都符合几何和光照的一致性。
2023 年,清华大学与微软亚洲研究院的联合团队在 ICCV 发表论文,提出了一个优雅而有效的解决方案——iVideo(3D-aware Image Generation using 2D Diffusion Models)。其核心思想是将 3D 生成问题拆解为两个阶段:
第一阶段:无条件多视角生成。 团队利用 ImageNet 预训练的 ADM(Analytic Denoising Model)扩散模型,以纯无条件方式生成一组多视角 2D 图像。这些图像在空间上相互关联,但缺乏精确的 3D 几何约束——相当于给系统提供了一个粗糙的"视角先验"。
第二阶段:条件深度融合。 引入单目深度估计器(MiDaS)从原始图像中提取深度信息,将 RGB-D(彩色+深度)数据作为条件输入,重新训练一个条件扩散模型。这样,模型在学习生成高质量图像的同时,学会了让深度图与 RGB 图像保持几何一致。
最终,通过 ModernGL GPU 着色器将 RGB-D 数据**光栅化聚合(Aggregation)**为 3D 网格,并导出为 PLY 文件或视频动画——这就是图 1 底部旋转场景的生成原理。
iVideo 的生成核心采用了 ADM(Analytic Denoising Model) 架构,这是一种带类别条件引导(Classifier-Free Guidance, CFG)的 U-Net 扩散模型。核心配置如下:
[1, 1, 2, 3, 4],在 32/16/8 分辨率层级引入自注意力机制*_sr.json 配置,用于 256×128 → 更高分辨率的两阶段超分代码位于 diffusion/backbones/adm.py,框架调度逻辑在 diffusion/frameworks/。
RGB-D 数据的 3D 重建是 iVideo 区别于普通图像生成的关键。rgbd_3d/ 模块使用 ModernGL(纯 Python OpenGL 绑定)实现 GPU 加速渲染:
simple.vsh/fsh 用于直接渲染,aggregation.vsh/fsh/csh 用于多视角光栅化聚合)SimpleRenderer(直接渲染单张 RGB-D)和 AggregationRenderer(将 batchsize 张多视角 RGB-D 聚合为统一网格)训练(train.py)采用 PyTorch 分布式(NCCL)多卡并行,支持通过 torch.distributed.launch 或 torchrun 启动,数据集支持 ImageNet 和单类别(SingleCategory)两种模式。
推理(inference/sample.py)的典型流程:
AggregationRenderer 将 RGB-D 序列聚合为 PLY 网格inference/render.py 进一步将 PLY 渲染为带相机轨迹的旋转视频(swing/circular 轨迹可选)环境配置(environment.yml)锁定 CUDA 11.3 + PyTorch 1.11.0,这是 2022 年初的版本组合,新于此时部署可能需要调整。预训练模型托管在 HuggingFace(JeffreyXiang/ivid),包含:
imagenet128_uncond.pt:ImageNet 无条件生成模型imagenet128_cond.pt:ImageNet 条件生成模型iVideo 是一个纯研究级代码库,面向有 3D 视觉研究背景的开发者:
python inference/sample.py --classes 207 --steps_cond 50 ...)进行,参数列表较长且无默认值的智能推断iVideo 的价值在于打通了 2D 扩散模型与 3D 场景重建之间的最后一公里。传统 3D 生成方法(如 NeRF、3D Gaussian Splatting)依赖多视角图像或 LiDAR 扫描数据,而 iVideo 仅需单张任意真实图片即可推断 3D 结构,大大降低了 3D 资产生成的门槛。
然而其局限也显而易见:
iVideo 是一项来自顶级研究机构的前沿工作,将 2D 扩散模型的强大生成能力引入 3D 一致性图像合成领域。它既是一个可运行的 ICCV 论文复现项目,也是一套完整的 RGB-D → 3D 网格生产管线。对于 AI 研究者和 3D 内容创作者,iVideo 展示了"用 2D 数据做 3D 生成"的可行路径;对于希望复现或基于此工作的开发者,主要门槛在于 GPU 硬件和 CUDA 环境的准备。