instant-id-artistic
稳定版本replicate InstantID:秒级零样本身份保留生成。采用Dreamshaper-XL作为基础模型以激发艺术化创作。
体验模型价格
71次/1$
商业使用
允许
API文档资料
InstantID
InstantID:秒级零样本身份保留生成技术
InstantID 是一种无需调优的先进方法,仅需单张图像即可实现身份保留生成,支持多种下游任务。
发布动态
演示案例
风格化合成
与现有方案对比
与当前无需调优的先进技术对比。InstantID在保真度和文本编辑性上表现更优(面部与风格融合更自然)。
与预训练角色LoRA对比。我们无需多张训练图像即可达到与LoRA相当的生成效果。
与InsightFace Swapper(ROOP/Refactor)对比。在非写实风格中,我们的方法能更灵活地融合面部与背景。
下载指南
可直接从Huggingface下载模型,或通过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")
如无法访问Huggingface,可使用hf-mirror镜像:
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download InstantX/InstantID --local-dir checkpoints
人脸编码器需通过此链接手动下载至models/antelopev2
目录。完整目录结构应如下:
.
├── models
├── checkpoints
├── ip_adapter
├── pipeline_stable_diffusion_xl_instantid.py
└── README.md
使用说明
# !pip install opencv-python transformers accelerate insightface
import diffusers
from diffusers.utils import load_image
from diffusers.models import ControlNetModel
import cv2
import torch
import numpy as np
from PIL import Image
from insightface.app import FaceAnalysis
from pipeline_stable_diffusion_xl_instantid import StableDiffusionXLInstantIDPipeline, draw_kps
# 准备'antelopev2'模型至./models目录
app = FaceAnalysis(name='antelopev2', root='./', providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
app.prepare(ctx_id=0, det_size=(640, 640))
# 加载模型至./checkpoints目录
face_adapter = f'./checkpoints/ip-adapter.bin'
controlnet_path = f'./checkpoints/ControlNetModel'
# 加载IdentityNet
controlnet = ControlNetModel.from_pretrained(controlnet_path, torch_dtype=torch.float16)
base_model = 'wangqixun/YamerMIX_v8' # 模型来源:https://civitai.com/models/84040?modelVersionId=196039
pipe = StableDiffusionXLInstantIDPipeline.from_pretrained(
base_model,
controlnet=controlnet,
torch_dtype=torch.float16
)
pipe.cuda()
# 加载适配器
pipe.load_ip_adapter_instantid(face_adapter)
随后可自定义人脸图像生成:
# 加载图像
face_image = load_image("./examples/yann-lecun_resize.jpg")
# 提取人脸特征
face_info = app.get(cv2.cvtColor(np.array(face_image), cv2.COLOR_RGB2BGR))
face_info = sorted(face_info, key=lambda x:(x['bbox'][2]-x['bbox'][0])*x['bbox'][3]-x['bbox'][1])[-1] # 仅使用最大人脸
face_emb = face_info['embedding']
face_kps = draw_kps(face_image, face_info['kps'])
# 提示词设置
prompt = "film noir style, ink sketch|vector, male man, highly detailed, sharp focus, ultra sharpness, monochrome, high contrast, dramatic shadows, 1940s style, mysterious, cinematic"
negative_prompt = "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vibrant, colorful"
# 生成图像
pipe.set_ip_adapter_scale(0.8)
image = pipe(
prompt,
image_embeds=face_emb,
image=face_kps,
controlnet_conditioning_scale=0.8,
).images[0]
启动本地Gradio演示
运行以下命令:
python gradio_demo/app.py
使用技巧
- 提升相似度:增大controlnet_conditioning_scale(IdentityNet)和ip_adapter_scale(适配器)参数
- 过饱和处理:降低ip_adapter_scale,若无效则降低controlnet_conditioning_scale
- 增强文本控制:减小ip_adapter_scale
- 特定风格:选择匹配的基础模型效果更佳
生态资源
ComfyUI扩展
致谢
- 本工作深受IP-Adapter和ControlNet启发,感谢其杰出贡献
- 感谢ZHO-ZHO-ZHO和huxiuhan对ComfyUI的支持
- 感谢HuggingFace团队提供的GPU算力支持
免责声明
本项目基于Apache许可证发布,旨在推动AI图像生成领域发展。用户可自由使用本工具创作图像,但须遵守当地法律法规并承担使用责任。开发者不对用户可能的滥用行为负责。
引用
若InstantID对您的研究或应用有所帮助,请引用:
```bibtex @article{wang2024instantid, title={InstantID: Zero-shot Identity-Preserving Generation in Seconds}, author={Wang, Qixun and Bai, Xu and Wang, Haofan and Qin, Zekui and Chen, Anthony}, journal={arXiv preprint arXiv:2401.07519}, year={2024} }
使用量分析
instant-id-artistic 使用统计
replicate - 调用数据分析