[2024/02/01] 增加了 LCM加速、多个Controlnet控制,更新了深度估计器,可在huggingface上试用
[2024/01/31] 支持oneDiff加速,详细代码
[2024/1/22] 发布了模型
、推理代码)和 gradio demo:https://huggingface.co/spaces/InstantX/InstantID!
[2024/1/15] 发布技术报告:零样本身份保留生成方法(2401.InstantID: Zero-shot Identity-Preserving Generation in Seconds :
[2023/12/11] 发布项目页面 https://instantid.github.io/。
本文的主要内容是介绍了一种名为InstantID
的零样本身份保留生成方法,它可以在只有一个面部图像的情况下生成保留身份细节
的个性化图像。
这种方法通过引入一个轻量级的适配器模块
和一个身份网络
来实现强大的身份控制和面部细节保留。
实验结果表明,InstantID在保持原始模型的文本编辑能力的同时,能够有效地保留身份细节,具有出色的性能和效率。
huggingface: :https://huggingface.co/spaces/InstantX/InstantID
Film Noir (黑暗电影风格) 采用深度图作为条件
Vibrant Color 风格是充满活力的眼
模型由三部分组成,以保持高面部保真度。
首先,我们采用人脸编码器
(face encoder)而不是CLIP来提取语义人脸特征,并使用可训练的投影层(a trainable projection layer)将它们投影到文本特征的空间。我们将投影特征作为人脸嵌入(face embedding)。
然后,引入一个具有解耦交叉注意(decoupled cross-attention)的轻量级自适应模块
(lightweight adaptive module)来支持图像作为提示(prompts)。
最后,我们提出了IdentityNet
,用额外的弱空间控制对参考图像中的复杂特征进行编码。
在 IdentityNet 中,生成过程完全由人脸嵌入(face embedding)指导,没有任何文本信息。
只有新添加的模块被更新(训练),而预训练的文本到图像模型仍然被冻结以确保灵活性。
训练后,用户可以高保真地生成任何风格的id保留图像
从左到右分别是IP-Adapter-SDXL、IPAdapter-SDXL-FaceID (*表示实验版本)、IP-Adapter-SD1.5-FaceID、IP-Adapter-SD1.5-FaceID-Plus
对比发现依赖 CLIP embedding
的IP-Adapter
无法实现面部保真度(facial fidelity),也会导致提示控制的退化生成样式(degradation of prompt control to generate styles)。
IP-Adapter-FaceID
引入了人脸嵌入向量(face embedding),提高了人脸保真度,但仍然无法实现高保真度。
IPAdapter-FaceID-Plus
结合了人脸和CLIP embeding,可以实现良好的人脸保真度,但存在风格退化问题,导致人脸无法融入背景风格。
换脸
技术进行比较与 InsightFace Swapper(也称为 ROOP 或 Refactor)的比较。然而,在非现实主义风格中,我们的作品在面孔和背景的融合上更加灵活。
与预先训练的角色 LoRA 的比较。我们不需要多个图像,并且仍然可以在没有任何培训的情况下获得 LoRA 的竞争结果.
pip install huggingface_hub
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download InstantX/InstantID --local-dir checkpoints
antelopev2
: https://drive.google.com/file/d/18wEUfMNohBJ4K3Ly5wpTejPfDzp-8fI8/view?usp=sharing
python 脚本中下载模型
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="InstantX/InstantID", filename="ControlNetModel/config.json", local_dir="./checkpoints")
hf_hub_download(repo_id="InstantX/InstantID", filename="ControlNetModel/diffusion_pytorch_model.safetensors", local_dir="./checkpoints")
hf_hub_download(repo_id="InstantX/InstantID", filename="ip-adapter.bin", local_dir="./checkpoints")