🚀 「一张人像照片秒变3D视频?Meta用30亿张照片训练出「3D打印机」:开源多视角生成模型实测」
大家好,我是蚝油菜花。当别人还在讨论AI生成2D视频时,Meta已经让静态照片「长出」360°3D身体了!
Pippo模型的三大核弹级突破:
- ✅ 单图破维:1张自拍照→1K分辨率多视角视频
- ✅ 细节复活:自动补全鞋子/颈部等遮挡部位
- ✅ 工业级精度:重投影误差指标保障3D一致性
基于 30亿张人像预训练+ControlMLP黑科技,它正在重新定义数字内容生产线——文末附开源代码部署指南,手把手教你生成会呼吸的AI人像!
🚀 快速阅读
Pippo 是一个强大的图像到视频生成模型。
- 核心功能:Pippo 能从单张照片生成 1K 分辨率的多视角高清人像视频,支持全身、面部或头部的生成。
- 技术原理:基于多视角扩散变换器和 ControlMLP 模块,Pippo 实现了高效的多视角生成和 3D 一致性。
Pippo 是什么

Pippo 是 Meta Reality Labs 推出的图像到视频生成模型,能够从单张照片生成 1K 分辨率的多视角高清人像视频。该模型基于多视角扩散变换器(Multi-View Diffusion Transformer),并在 30 亿张无结构的人像图像上进行了预训练。在 2500 张高质量工作室捕捉的图像上进行了后训练,以提高生成内容的质量和 3D 一致性。
Pippo 的核心技术包括 ControlMLP 模块,用于注入像素对齐的条件,如 Plücker 射线和空间锚点,以及注意力偏差技术,能够在推理时生成比训练时多 5 倍以上的视角。此外,Pippo 引入了重投影误差(Re-projection Error)作为评估多视角生成 3D 一致性的指标。
Pippo 的主要功能
- 多视角生成:Pippo 可以从单张全身或面部照片生成多视角的高清视频,支持全身、面部或头部的生成。
- 高效内容生成:通过多视角扩散变换器,Pippo 能生成多达 5 倍于训练视角的视频内容。
- 高分辨率支持:Pippo 首次实现了 1K 分辨率下的一致多视角人像生成。
- 空间锚点与 ControlMLP:通过 ControlMLP 模块注入像素对齐的条件,如 Plücker 射线和空间锚点,实现更好的 3D 一致性。
- 自动补全细节:在处理单目视频时,Pippo 可以自动补全缺失的细节,如鞋子、面部或颈部等。
Pippo 的技术原理
- 多阶段训练策略:
- 预训练阶段:Pippo 首先在 30 亿张无结构的人像图像上进行预训练,这些图像没有标注信息。
- 中间训练阶段:在高质量工作室数据集上,模型联合生成多个视角的图像,使用低分辨率的视图进行去噪,通过浅层 MLP 粗略编码目标相机。
- 后训练阶段:在高分辨率下对少量视图进行去噪,引入像素对齐控制(如空间锚点和 Plücker 射线),实现 3D 一致性。
- 像素对齐控制(ControlMLP 模块):Pippo 通过 ControlMLP 模块注入像素对齐的条件,如 Plücker 射线和空间锚点,这些条件在训练阶段使用,在推理阶段固定为任意位置。
- 注意力偏差技术:在推理阶段,Pippo 提出了注意力偏差技术,支持模型同时生成比训练阶段多 5 倍以上的视角。
- 3D 一致性评估指标:Pippo 引入了改进的 3D 一致性评估指标——重投影误差(Re-projection Error),用于评估多视角生成的 3D 一致性。
如何运行 Pippo
1. 设置代码
克隆并添加仓库到你的路径:
git clone git@github.com:facebookresearch/pippo.git
cd pippo
export PATH=$PATH:$PWD
2. 安装依赖
创建并激活 conda 环境:
conda create -n pippo python=3.10.1 -c conda-forge
conda activate pippo
# 可根据需要调整配置(我们测试了以下配置)
conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.0 -c pytorch -c nvidia
pip install -r requirements.txt
3. 下载并训练样本
你可以启动一个小型训练任务,使用 Ava-256 数据集
的少量样本。我们提供了预打包的样本文件,存储为 npy 文件,可以从 HuggingFace 下载。确保你已使用登录令牌认证 HuggingFace。
# 下载预打包的 Ava-256 样本
python scripts/pippo/download_samples.py
- Ava-256 数据集:https://github.com/facebookresearch/ava-256
我们提供了不同分辨率的模型配置文件,分别位于 config/full/
目录下。
# 启动训练(测试于单个 A100 GPU 80GB):完整尺寸模型
python train.py config/full/128_4v.yml
对于较小的 GPU,我们还提供了 tiny 模型配置文件。
# 启动训练(测试于单个 T4 GPU 16GB):tiny 模型
python train.py config/tiny/128_4v_tiny.yml
4. 计算重投影误差
要计算生成图像与真实图像之间的重投影误差,运行以下命令:
python scripts/pippo/reprojection_error.py