综合介绍
DiffPortrait360 是一个开源项目,隶属于 CVPR 2025 论文《DiffPortrait360: Consistent Portrait Diffusion for 360 View Synthesis》。它能从单张人像照片生成前后一致的 360 度头部视图,支持真实人类、风格化图像和拟人化角色,甚至包括眼镜、帽子等细节。项目基于扩散模型(LDM),结合 ControlNet 和双重外观模块,生成高质量神经辐射场(NeRF),可用于实时自由视角渲染。它适用于沉浸式远程呈现和个性化内容创作,已在学术界和开发者社区中受到关注。
功能列表
- 从单张人像照片生成 360 度头部视图。
- 支持真实人类、风格化图像和拟人化角色的生成。
- 使用 ControlNet 生成背面细节,确保视图真实。
- 输出高质量 NeRF 模型,支持自由视角渲染。
- 通过双重外观模块保持前后视图一致性。
- 开源推理代码和预训练模型,方便开发者使用和修改。
- 提供互联网采集的测试数据,包含 Pexels 和 1000 张真实人像。
使用帮助
DiffPortrait360 是一个面向开发者和研究者的工具,需要一定的技术基础。以下是详细的安装和使用指南。
安装流程
- 准备硬件和系统
你需要一台支持 CUDA 的 NVIDIA GPU,最低内存 30GB(生成 32 帧视频),推荐 80GB(如 A6000)。操作系统需为 Linux。- 检查 CUDA 版本,推荐 12.2。运行:
nvcc --version
- 检查 CUDA 版本,推荐 12.2。运行:
- 创建环境
使用 Conda 创建 Python 3.9 环境:
conda env create -n diffportrait360 python=3.9
conda activate diffportrait360
- 克隆代码
下载项目代码到本地:
git clone https://github.com/FreedomGu/DiffPortrait360.git
cd DiffPortrait360/diffportrait360_release
- 安装依赖
项目提供requirements.txt
,运行以下命令安装:
pip install -r requirements.txt
- 如果遇到依赖冲突,更新 pip:
pip install --upgrade pip
- 下载预训练模型
从 Hugging Face 下载模型:
- 访问 HF 链接。
- 下载
PANO_HEAD_MODEL
、Head_Back_MODEL
和Diff360_MODEL
。 - 将模型放入本地路径,并在
inference.sh
中修改对应路径,例如:PANO_HEAD_MODEL=/path/to/pano_head_model
- 验证环境
检查 GPU 是否可用:
python -c "import torch; print(torch.cuda.is_available())"
输出 True
表示环境正常。
操作主要功能
生成 360 度头部视图
- 准备输入数据
- 准备一张正面人像照片(JPEG 或 PNG),建议分辨率 512x512 或更高。
- 将照片放入
input_image/
文件夹(若无此文件夹,手动创建)。 - 获取
dataset.json
(相机信息),可参考 PanoHead 裁剪指南 处理自己的照片。
- 运行推理脚本
- 进入代码目录:
cd diffportrait360_release/code
- 执行推理:
bash inference.sh
- 输出结果将保存在指定文件夹(默认
output/
)。
- 查看结果
- 输出包括多角度视图图片和 NeRF 模型文件(
.nerf
格式)。 - 使用 NeRF 渲染工具(如 NeRFStudio)加载
.nerf
文件,调整视角查看 360 度效果。
使用 ControlNet 优化背面
- 在
inference.sh
中启用背面生成模块,修改参数:
--use_controlnet
- 运行后,背面细节会更真实,适合复杂场景。
自定义数据推理
- 将自定义照片放入
input_image/
。 - 生成
dataset.json
,确保相机信息正确。 - 运行:
bash inference.sh
注意事项
- GPU 内存不足可能导致失败,建议使用高内存显卡。
- 项目未提供训练代码,仅支持推理。关注 GitHub 更新以获取最新进展。
- 测试数据可从 Hugging Face 下载,包含 Pexels 和 1000 张真实人像。
应用场景
- 沉浸式远程会议
用户可以用单张照片生成 360 度头部视图,提升虚拟会议的真实感。 - 游戏角色设计
开发者从概念图生成 3D 头部模型,加速游戏开发流程。 - 数字艺术创作
艺术家用它生成风格化头像,应用于 NFT 或社交媒体展示。
QA
- 最低硬件要求是什么?
需要 NVIDIA GPU,支持 CUDA,最低 30GB 内存,推荐 80GB。 - 支持低分辨率照片吗?
不推荐。输入分辨率低于 512x512 时,细节可能丢失,效果变差。 - 可以生成视频吗?
当前版本生成静态视图序列,可通过工具转为视频,但不支持直接输出动态视频。