InstantID:一张照片,无需训练,秒级个人写真生成

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: InstantID 是由InstantX项目组推出的一种SOTA的tuning-free方法,只需单个图像即可实现 ID 保留生成,并支持各种下游任务。

引言

InstantID 是由InstantX项目组推出的一种SOTA的tuning-free方法,只需单个图像即可实现 ID 保留生成,并支持各种下游任务。



在InstantID这样的技术之前,结合 Textual Inversion、DreamBooth 和 LoRA 等方法,个性化图像合成取得了重大进展。过去的方案,通常需要结合微调,需要较多的样本图片,较高的显存要求,以及较长的训练时间,导致了成本较高。


为了解决如上的这些要求,InstantID的即插即用模块仅使用单个面部图像就能熟练地处理各种风格的图像个性化,同时确保高保真度。InstantID设计了一种新颖的 IdentityNet,通过强加语义和弱空间条件,将面部和地标图像与文本提示相结合来引导图像生成。InstantID与流行的预训练文本到图像扩散模型(如 SD1.5 和 SDXL)无缝集成,作为一个适应性强的插件。



InstantID 的整体流程由三部分组成,以保持高面部保真度。


首先,InstantID采用Face Encoder而不是 CLIP 来提取语义人脸特征,并使用可训练的投影层将它们投影到文本特征空间。 我们将投影的特征作为Face Embedding。


然后,引入具有解耦Cross Attention的轻量级自适应模块来支持图像作为提示。


最后,InstantID提出 IdentityNet 通过额外的弱空间控制对参考面部图像中的复杂特征进行编码。


在 IdentityNet 中,生成过程完全由Face embedding引导,无需任何文本信息。 仅更新新添加的模块,而预先训练的文本到图像模型保持冻结以确保灵活性。无需额外的训练,用户可以生成任何风格的高保真ID保留图像。


InstantID的优势有如下三个方面:

1)可插拔性和兼容性:InstantID专注于训练轻量级适配器而不是UNet的完整参数,使InstantID的模块可插拔并与预训练模型兼容;

2)tuning-free:InstantID只需要一次前向传播进行推理,无需微调。 这一特性使得 InstantID 对于实际应用来说非常经济实用;

3)卓越的性能:只需一张参考图像,InstantID 即可实现最先进的结果,展现出高保真度和灵活性。


InstantID还支持多重参考,允许使用多张参考图像来生成一个新图像,从而增强生成图像的丰富性和多样性。


论文标题:InstantID: Zero-shot Identity-Preserving Generation in Seconds

论文地址:https://arxiv.org/abs/2401.07519

代码地址:https://github.com/InstantID/InstantID

项目地址:https://instantid.github.io




魔搭社区体验


魔搭社区体验地址:https://modelscope.cn/studios/instantx/InstantID

仅上传一张照片,选择风格,即可生成个性化写真



我们尝试给我们的AI模特变换了各种风格,效果非常好


AI模特


使用InstantID生成的各种风格写真


未来可见InstantID在电商广告,AI头像,虚拟试衣等场景上有广泛的应用潜力。



模型下载和推理


模型链接:

https://modelscope.cn/models/instantx/InstantID


模型下载代码:

from modelscope.hub.file_download import model_file_download
model_config=model_file_download(model_id="InstantX/InstantID", file_path="ControlNetModel/config.json", cache_dir="./checkpoints")
model_control=model_file_download(model_id="InstantX/InstantID", file_path="ControlNetModel/diffusion_pytorch_model.safetensors", cache_dir="./checkpoints")
model_ip=model_file_download(model_id="InstantX/InstantID", file_path="ip-adapter.bin", cache_dir="./checkpoints")


本地启动web-ui:

!git clone https://www.modelscope.cn/studios/instantx/InstantID.git
%cd InstantID
!pip install -r requirements.txt
!pip install gradio
!python app.py

模型推理代码

# !pip install opencv-python transformers accelerate insightface
!git clone https://www.modelscope.cn/studios/instantx/InstantID.git
%cd InstantID
import diffusers
from diffusers.utils import load_image
from diffusers.models import ControlNetModel
from modelscope import snapshot_download
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
# prepare 'antelopev2' under ./models
app = FaceAnalysis(name='antelopev2', root='./', providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
app.prepare(ctx_id=0, det_size=(640, 640))
# prepare models under ./checkpoints
face_adapter = f'../checkpoints/InstantX/InstantID/ip-adapter.bin'
controlnet_path = f'../checkpoints/InstantX/InstantID/ControlNetModel/'
# load IdentityNet
controlnet = ControlNetModel.from_pretrained(controlnet_path, torch_dtype=torch.float16)
sd_path =  snapshot_download("AI-ModelScope/stable-diffusion-xl-base-1.0")
pipe = StableDiffusionXLInstantIDPipeline.from_pretrained(sd_path, controlnet=controlnet, torch_dtype=torch.float16)
pipe.cuda()
# load adapter
pipe.load_ip_adapter_instantid(face_adapter)


然后可以使用照片来生成不同的个人写真。

# load an image
face_image = load_image("your-example.jpg")
# prepare face emb
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] # only use the maximum face
face_emb = face_info['embedding']
face_kps = draw_kps(face_image, face_info['kps'])
pipe.set_ip_adapter_scale(0.8)
prompt = "analog film photo of a man. faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage, masterpiece, best quality"
negative_prompt = "(lowres, low quality, worst quality:1.2), (text:1.2), watermark, painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured (lowres, low quality, worst quality:1.2), (text:1.2), watermark, painting, drawing, illustration, glitch,deformed, mutated, cross-eyed, ugly, disfigured"
# generate image
image = pipe(prompt, image_embeds=face_emb, image=face_kps, controlnet_conditioning_scale=0.8).images[0]



链接:https://modelscope.cn/studios/instantx/InstantID/summary

相关文章
|
6月前
|
机器学习/深度学习 人工智能 数据安全/隐私保护
免费交互式大模型在线图像去除水印.擦除.替换和增强照片项目代码(免费在线图像修复工具)
免费交互式大模型在线图像去除水印.擦除.替换和增强照片项目代码(免费在线图像修复工具)
|
5月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之视频人物卡通化本地文件处理慢,有没有优化的办法
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
3月前
|
机器学习/深度学习 人工智能 API
FaceChain-FACT:免训练的丝滑体验,秒级别的人像生成
FaceChain-FACT是一项创新技术,它通过免训练的方式,能在10秒内生成高质量的AI人像,为用户带来快速且逼真的肖像生成体验。
FaceChain-FACT:免训练的丝滑体验,秒级别的人像生成
|
2月前
|
自然语言处理 计算机视觉
给视频模型安上快慢两只眼睛,苹果免训练新方法秒了一切SOTA
【9月更文挑战第5天】近年来,视频大型语言模型(LLM)在计算机视觉领域取得显著进展,但高昂的监督微调成本成为瓶颈。苹果研究人员提出了免训练的SF-LLaVA模型,采用慢流(捕捉空间语义)和快流(捕捉时序上下文)的双流设计,能高效处理视频中的静态与动态信息,显著提升了开放性视频问答、多选视频问答及文本生成等任务的表现。然而,该模型在复杂视频场景理解和特定任务泛化能力方面仍有局限。论文详见:https://arxiv.org/pdf/2407.15841
30 1
|
3月前
FunASR离线文件转写软件包3.0问题之wfst热词增强对于热词构图如何解决
FunASR离线文件转写软件包3.0问题之wfst热词增强对于热词构图如何解决
33 0
|
4月前
|
机器学习/深度学习 人工智能 编解码
Midjourney应用场景、特点、生成图片带来影响
Midjourney应用场景、特点、生成图片带来影响
117 1
|
5月前
|
人工智能 vr&ar
太炸裂了!SDXL Turbo在线图片实时生成,速度无与伦比【无需注册或登录】
太炸裂了!SDXL Turbo在线图片实时生成,速度无与伦比【无需注册或登录】
太炸裂了!SDXL Turbo在线图片实时生成,速度无与伦比【无需注册或登录】
|
6月前
|
机器学习/深度学习 API 计算机视觉
视觉智能平台常见问题之用到人脸1:1加上活体需要单独收费如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
6月前
|
机器学习/深度学习 算法 计算机视觉
视觉智能平台常见问题之调用人像素描接口传全身照时报错如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
6月前
|
存储 数据处理 API
视觉智能平台常见问题之通用视频生成接口声音和画面对不上如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。

热门文章

最新文章