Parts2Whole 开源项目使用教程
1. 项目介绍
Parts2Whole 是一个创新框架,旨在从多个参考图像生成定制化的人像。这些参考图像包括姿态图像和人类外观的各个方面。该项目由 Zehuan Huang、Hongxing Fan 和 Lipeng Wang 开发,基于 Stable Diffusion 1-5 模型进行微调,并使用 Apache 2.0 许可证。
主要功能
- 多图像条件生成:支持从多个参考图像生成定制化人像。
- 语义感知外观编码器:保留不同人体部位的细节。
- 共享自注意力机制:在扩散过程中跨参考和目标特征操作。
2. 项目快速启动
安装依赖
首先,克隆项目仓库并安装所需的依赖包:
git clone https://github.com/huanngzh/Parts2Whole.git
cd Parts2Whole
conda create -n parts2whole python=3.8
conda activate parts2whole
pip install -r requirements.txt
下载预训练模型
下载预训练模型权重并放置在指定目录:
python download_weights.py
运行推理
修改 inference.py
中的配置和输入数据,然后运行推理脚本:
# inference.py
device = "cuda"
torch_dtype = torch.float16
seed = 42
model_dir = "pretrained_weights/parts2whole"
use_decoupled_cross_attn = True
decoupled_cross_attn_path = "pretrained_weights/parts2whole/decoupled_attn.pth"
height, width = 768, 512
prompt = "This person is wearing a short-sleeve shirt"
input_dict = {
"appearance": {
"face": "testset/face_man1.jpg",
"whole body clothes": "testset/clothes_man1.jpg"
},
"mask": {
"face": "testset/face_man1_mask.jpg",
"whole body clothes": "testset/clothes_man1_mask.jpg"
},
"structure": {
"densepose": "testset/densepose_man1.jpg"
}
}
python inference.py
3. 应用案例和最佳实践
应用案例
- 虚拟试衣:通过 Parts2Whole 生成不同服装搭配的人像,用于虚拟试衣应用。
- 影视特效:生成具有特定姿态和外观的角色图像,用于影视特效制作。
最佳实践
- 数据准备:确保参考图像的质量和分辨率,使用 Real-ESRGAN 提升图像分辨率。
- 模型微调:根据特定需求微调模型,以提高生成图像的准确性和细节。
4. 典型生态项目
- Stable Diffusion:Parts2Whole 基于 Stable Diffusion 模型进行开发,利用其强大的图像生成能力。
- Real-ESRGAN:用于提升参考图像的分辨率,增强生成图像的质量。
- SegFormer:用于分割人体图像,获取不同部位的掩码信息。
通过以上步骤,您可以快速上手 Parts2Whole 项目,并利用其强大的功能进行定制化人像生成。