[📸[模型卡片](https://huggingface.co/JackAILab/ConsistentID)] [🤗[Hugging Face](https://huggingface.co/spaces/JackAILab/ConsistentID)]
更多扩展代码和数据将在我们的论文被接受后发布,包括多ID输入版本、SDXL版本以及与社区其他模型的组合版本。
🌠 主要特点:
- 在不牺牲多样性和文本可控性的前提下,实现极高身份保真度的肖像生成。
- 将面部解析和面部ID信息引入扩散模型。
- 在几秒钟内实现快速定制,无需额外的LoRA训练。
- 可作为适配器与社区中的其他基础模型和LoRA模块协同工作。
🔥 示例
🚩 待办事项
您的星标将有助于加快进程。扩展代码和数据将在我们的论文被接受后发布。
- 发布ConsistentID训练、评估代码和演示!
- 发布多ID输入版本、使用controlnet的修复版本等,以指导多样性的改进。
- 与ComfUI、LCM集成,以加速推理和简化部署。
- 发布使用更多数据训练的SDXL模型,提高分辨率和泛化能力。
发布
- [2024/05/28] 🔥 我们发布了数据生成说明和脚本。
- [2024/04/28] 🔥 我们发布了预训练检查点和gradio演示!
- [2024/04/25] 🔥 我们发布了技术报告。
- [2024/04/23] 🔥 我们启动了项目页面。
🏷️ 介绍
这是一项在AIGC领域的工作,将面部解析信息和面部ID信息引入扩散模型。先前的工作主要集中在整体ID保持上,尽管最近提出了诸如InstantID等细粒度ID保持模型,但面部ID特征的注入将是固定的。为了实现面部特征更灵活的细粒度ID一致性维护,重建了一批50000个多模态细粒度ID数据集用于训练提出的FacialEncoder模型,可支持个性化照片、性别/年龄变化和身份混淆等常见功能。
同时,我们为细粒度身份保持定义了一个统一的测量基准FGIS,涵盖了几种常见的面部个性化角色场景和角色,并构建了细粒度ID保持模型基线。
最后,本文进行了大量实验,ConsistentID在面部个性化任务处理中达到了SOTA效果。验证了ConsistentID可以通过选择更细粒度的提示来提高ID一致性,甚至修改面部特征,这为未来细粒度面部个性化研究开辟了一个方向。
🔧 要求
- Python >= 3.8(推荐使用Anaconda或Miniconda)
- 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
📦️ 数据准备
按以下格式准备数据
├── 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
🧪 使用
确保工作空间是项目的根目录。然后,运行convert_weights.py以高效保存权重。
推理
python infer.py
推理修复 & 修复控制网络
python -m demo.inpaint_demo
python -m demo.controlnet_demo
⏬ 模型权重
模型将通过以下两行自动下载:
from huggingface_hub import hf_hub_download
ConsistentID_path = hf_hub_download(repo_id="JackAILab/ConsistentID", filename="ConsistentID-v1.bin", repo_type="model")
模型的预训练参数也可以在Google Drive或百度网盘上下载。
致谢
- 受到许多优秀演示和仓库的启发,包括IPAdapter、FastComposer、PhotoMaker、InstantID。感谢他们的杰出工作!
- 感谢以下工作的开源贡献:face-parsing.PyTorch、LLaVA、insightface、FFHQ、CelebA、SFHQ。
- 🤗 感谢huggingface gradio团队ZeroGPUs提供的免费GPU支持!
免责声明
本项目致力于积极影响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}
}