🚀 ConsistentID:多模态细粒度身份保留的肖像生成
ConsistentID 是一个专注于肖像生成的项目,它能在多模态场景下实现细粒度的身份保留,在保证生成多样性和文本可控性的同时,实现极高的身份保真度。
🚀 快速开始
环境准备
conda create --name ConsistentID python=3.8.10
conda activate ConsistentID
pip install -U pip
pip install -r requirements.txt
数据准备
按照以下格式准备数据:
├── data
| ├── JSON_all.json
| ├── resize_IMG # 图像
| ├── all_faceID # 面部 ID
| └── parsing_mask_IMG # 解析掩码
.json
文件应如下所示:
[
{
"IMG": "图像路径...",
"parsing_mask_IMG": "...",
"vqa_llva": "...",
"id_embed_file_resize": "...",
"vqa_llva_facial": "..."
},
...
]
训练模型
确保工作空间为项目根目录,然后运行:
bash train_bash.sh
推理
确保工作空间为项目根目录,然后运行:
python infer.py
✨ 主要特性
- 高保真度肖像生成:能够生成具有极高身份保真度的肖像,同时不牺牲多样性和文本可控性。
- 引入多模态信息:将面部解析(FaceParsing)和面部 ID(FaceID)信息引入扩散模型。
- 快速定制:无需额外的 LoRA 训练,即可在数秒内完成快速定制。
- 灵活适配:可作为适配器与社区中的其他基础模型和 LoRA 模块协作。
📦 安装指南
环境依赖
- Python >= 3.8
- PyTorch >= 2.0.0
- cuda==11.8
安装步骤
conda create --name ConsistentID python=3.8.10
conda activate ConsistentID
pip install -U pip
pip install -r requirements.txt
💻 使用示例
训练模型
确保工作空间为项目根目录,然后运行:
bash train_bash.sh
推理
确保工作空间为项目根目录,然后运行:
python infer.py
📚 详细文档
项目介绍
ConsistentID 是 AIGC 领域的一项工作,它将面部解析信息和面部 ID 信息引入扩散模型。以往的工作主要关注整体身份保留,尽管最近提出了如 InstantID 等细粒度身份保留模型,但面部 ID 特征的注入是固定的。为了实现对面部特征更灵活的细粒度身份一致性维护,本项目重构了一批 50000 个多模态细粒度身份数据集,用于训练提出的 FacialEncoder 模型,该模型支持个性化照片、性别/年龄变化和身份混淆等常见功能。
同时,定义了一个统一的细粒度身份保留测量基准 FGIS,涵盖了几种常见的面部个性化角色场景和角色,并构建了细粒度身份保留模型基线。
最后,本文进行了大量实验,ConsistentID 在面部个性化任务处理中达到了 SOTA 效果。验证了 ConsistentID 可以提高身份一致性,甚至通过选择更细粒度的提示来修改面部特征,为未来细粒度面部个性化研究开辟了方向。
待办事项
- [x] 发布 ConsistentID 训练、评估代码和演示!
- [ ] 发布使用更多数据训练的 SDXL 模型,提高分辨率和泛化能力。
- [ ] 发布多 ID 输入版本,指导 ID 多样性的改进。
🔧 技术细节
模型架构
将面部解析和面部 ID 信息融入扩散模型,以实现细粒度的身份保留。
数据集
重构了一批 50000 个多模态细粒度身份数据集,用于训练 FacialEncoder 模型。
评估指标
定义了统一的细粒度身份保留测量基准 FGIS,涵盖几种常见的面部个性化角色场景和角色。
📄 许可证
本项目采用 MIT 许可证。
相关链接
致谢
免责声明
本项目致力于对 AI 驱动的图像生成领域产生积极影响。用户可以自由使用此工具创建图像,但应遵守当地法律并负责任地使用。开发者不对用户的潜在滥用行为承担任何责任。
引用
如果您觉得此代码有帮助,请考虑引用:
@article{huang2024consistentid,
title={ConsistentID: Portrait Generation with Multimodal Fine-Grained Identity Preserving},
author={Huang, Jiehui and Dong, Xiao and Song, Wenhui and Li, Hanhui and Zhou, Jun and Cheng, Yuhao and Liao, Shutao and Chen, Long and Yan, Yiqiang and Liao, Shengcai and others},
journal={arXiv preprint arXiv:2404.16771},
year={2024}
}