Hi3D-Official
视频扩散模型驱动的单图3D重建,超越SDS路线的多视角一致性
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
视频扩散模型驱动的单图3D重建,超越SDS路线的多视角一致性
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你给AI投了一张商品照片,AI立刻生成了这个商品从任何角度看上去的样子——这不是魔法,而是一套精密的深度学习系统在背后运转。
这就是 Hi3D(High-resolution Image-to-3D)做的事:由复旦大学、香港城市大学等机构联合研发,发表在 ACM Multimedia 2024(CCF-A 类顶会),用视频扩散模型重新定义了单张图片到 3D 重建的技术路线。
从 2D 图片重建 3D 模型,在计算机视觉领域有几十年研究历史。但传统方法(如多视角几何)要求同一物体有多张不同角度的照片,输入条件极为苛刻。近年来基于 2D 扩散模型(Stable Diffusion 等)的 Score Distillation Sampling (SDS) 路线(代表工作:DreamFusion、Zero-1-to-3)降低了输入门槛,但存在根本性缺陷:
缺乏 3D 感知:2D 扩散模型在训练时从未见过真正的 3D 结构,它只知道像素层面的统计规律。SDS 路线相当于「用 2D 教练教 3D 学生」,不可避免地出现多视角不一致(正面看是个圆杯子,侧面看可能变成方的)和纹理模糊问题。
Hi3D 的核心洞察是:视频扩散模型里蕴含着丰富的时序一致性知识,而这种时序一致性恰好可以迁移到 3D 生成中的几何一致性——因为视频中的相邻帧本质上就是同一物体在不同视角下的投影。这条思路比 SDS 路线更优雅,也更接近 3D 问题的本质。
Hi3D 采用了精心设计的两阶段推理管线:
第一阶段:Image-to-Video 生成(3D 感知多视图)
基于 Stable Video Diffusion (SVD) 的预训练视频扩散模型,Hi3D 在此基础上做了两项关键改造:
Camera Pose Conditioning(相机位姿条件):在扩散去噪过程中注入相机位姿信息,让模型不仅学会「生成连贯的视频帧」,还学会「从特定相机角度观察物体时应该看到什么」。这是让模型获得 3D 感知的关键一步。
条件增强(Conditional Augmentation):对输入图像注入精心校准的高斯噪声,平衡图像保真度和生成多样性。条件增强的噪声水平通过指数分布采样控制(默认 0.02),这个设计让模型在推理时对输入图像的变化更加鲁棒。
这一阶段输出的是 16 帧低分辨率多视角图像(512×512),各视角之间几何一致,但纹理细节有限。
第二阶段:Video-to-Video Refiner(高清纹理增强)
第二阶段是一个专门训练的视频到视频精化器,以第一阶段输出为输入,将分辨率提升至 1024×1024,同时恢复精细纹理细节(布料纹理、金属光泽、复杂图案等)。核心创新在于:
两阶段输出交给 3D Gaussian Splatting (3DGS) 做视角增强和新视角合成,最终通过 3D 重建 得到高质量 mesh 模型。
Hi3D 的代码大量基于 Stability-AI 的 generative-models 项目,这是业界公认的扩散模型工程最佳实践仓库。主要模块:
| 模块 | 路径 | 说明 |
|---|---|---|
| VideoLDM(第一阶段) | vtdm/vtdm_gen_v01.py | 继承 DiffusionEngine,扩展 camera pose conditioning |
| VideoLDM(第二阶段) | vtdm/vtdm_gen_stage2_degradeImage.py | 视频到视频 refiner,输入分辨率 1024 |
| 推理脚本(阶段一) | pipeline_i2v_eval_v01.py | 端到端推理,支持 elevation 参数 |
| 推理脚本(阶段二) | pipeline_i2v_eval_v02.py | 高清精化推理 |
| 训练启动器 | train_ddp_spawn.py | PyTorch Lightning + DDP 多卡训练 |
| 配置文件 | configs/train-v01/v02.yaml | OmegaConf 格式,模块化配置 |
训练采用 PyTorch Lightning 框架,支持 DDP(DistributedDataParallel)多卡并行,数据集使用 Objaverse-LVIS(1024×1024 渲染图)。两阶段训练均使用 AdamW 优化器,学习率 1e-5,配合 LambdaLR 学习率调度器。
对研究者来说,Hi3D 提供了完整的训练和推理代码,checkpoints 已开源(Google Drive + HuggingFace),可直接下载使用。推理只需两个 Python 脚本命令:
# 第一阶段:512分辨率多视角生成
python pipeline_i2v_eval_v01.py --denoise_checkpoint ckpts/first_stage.pt --image_path demo/3.png --output_dir outputs/3
# 第二阶段:1024高清精化
python pipeline_i2v_eval_v02.py --denoise_checkpoint ckpts/second_stage.pt --image_path demo/3.png --output_dir outputs/3
对普通用户而言,Hi3D 存在较高的使用门槛:需要 80GB A100 GPU(推理至少 10GB)、手动下载多个外部 checkpoint(Google Drive + HuggingFace),依赖 cuDNN 和大量 Python 包,且没有 Web UI 界面。官方仓库提供了 environments.yaml 环境配置文件,可通过 conda 创建,但完整部署仍需要数小时。
Hi3D 证明了「视频扩散模型的时序一致性」可以成功迁移到「3D 生成的几何一致性」,这为后续研究开辟了新路线。与同期工作(如 One-2-3-45、Splatter Image)相比,Hi3D 在纹理质量和视角一致性上有明显优势,但在推理速度上仍有优化空间。
随着视频扩散模型能力持续增强(更高分辨率、更长时序),Hi3D 这条技术路线有望进一步突破,成为 3D 内容生产的重要基础设施。