Stable Diffusion基础:ControlNet之身份标识

本文给大家分享一个新的ControlNet类型:Instant ID,翻译为身份标识,这个ControlNet的核心能力是由国内的小红书团队开发的。这个ControlNet可以提取人的面部信息,然后在生成的人物图片中使用此面部。实测效果完全可以代替Lora模型,也就是我们不用再费劲吧啦的训练人物形象Lora了,只需要人物的一张正面照片,就可以直接出图了。

效果演示

下图是官方的演示效果,左边是使用 Instant ID 生成的图片,右边是参考图片。

这个 ControlNet 相比 Roop 等换脸模型,也有更好的效果。

原理

先看左侧上部:Instant ID 通过 IP-Adapter 技术提取参考图片中的面部特征信息,然后通过交叉注意力(Cross Atttention)将面部特征信息传递给 UNet,用于在反向扩散过程中影响人脸的生成。

再看左侧下部:这是 Instant ID 在描述自己的模型训练过程,它会使用大量的人脸特征进行训练,最终训练好的模型会应用到图片生成中。

最后看右侧:通常情况下,提供给 UNet 的交叉注意力来源是文本提示词,但是文本很难精确的表达一个人的面部特征,所以才搞出来 Instant ID的方案。

使用方法

有多种使用方法,这里介绍两种:

  • 独立使用

HuggingFace上有示例代码:huggingface.co/InstantX/In...

你也可以直接在线体验:huggingface.co/spaces/Inst... ,使用方法如下图所示:

不过这个在线体验有额度限制,如果触发额度限制,可以换个本地的外网IP再试下。

  • 在 Stable Diffusion WebUI 中使用

在 WebUI 中可以方便的集成更多能力,不过安装起来有些麻烦,感兴趣的同学可以继续阅读本文后续部分。

WebUI中安装Instant ID

使用AutoDL镜像

我已经在 AutoDL 的镜像中添加了这个 ControlNet,创建 WebUI 实例的时候选择下边这个镜像就行了。

AutoDL访问地址:www.autodl.com/

手动安装

升级ControlNet到最新版本

Stable Diffusion WebUI 的 ControlNet 插件地址:github.com/Mikubill/sd... WebUI 的插件目录 extensions 中。

安装成功后,重启 WebUI,在 ControlNet 单元的 Control Type 中就可以看到这个新类型了,Instant ID自带两个预处理器,不过模型还需要自行下载安装。如下图所示:

安装模型

首先需要下载两个 ControlNet 模型,然后把这两个模型放到 ControlNet 的模型目录,默认是:stable-diffusion-webui/extensions/sd-webui-controlnet/models。

抱脸下载地址:huggingface.co/Aitrepreneu...

网盘下载地址:pan.baidu.com/s/1nSYabIpM... 内含多个ControlNet模型,本文只需要下图中的两个。

这个 ControlNet 还会用到 InsightFace,我们也需要把相关模型安装起来,默认放到这里:stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads/insightface/models/antelopev2

抱脸下载地址:huggingface.co/Aitrepreneu...

网盘下载地址: pan.baidu.com/s/123o_DzLt...

WebUI中使用Instant ID

Instant ID 目前只支持SDXL,所以大模型必须选择XL模型,提示词和反向提示词简单写写就行了。

根据Github上的讨论,宽度和高度不要使用1024,否则会出现难以消除的水印文字。

有用户提出采样步数不要设置的太高,如果出图效果不好,可以调低点试试。

提示词引导系数要设置的小一点,这个没有固定值,可能不同模型的选择不一样,建议3-5吧。

InstantID 需要使用两个ControlNet单元,第一个单元用于提取面部特征,需要上传一张人脸参考图,预处理选择 instant_id_face_embedding,模型选择 ip-adpater_instant_id-sdxl。

第2个ControlNet单元,还是Instant ID类型的,用于提取脸部姿态,可以上传一张不同的人脸照片,生成的图片会参考这张图片中人脸的位置,但是不会复刻人物的姿势,这和InstantX的演示有差距。这里我们使用同一张图,预处理器选择 instant_id_face_keypoints, 模型选择 control_instant_id_sdxl。注意控制模式选择"以ControlNet为主",否则生成的图片笔触会比较粗。

我们还可以选择不同的风格模版,这里选择一个线稿风格,最终生成效果如下图所示:

资源下载

因技术迭代更新较快,本文提到的方法可能会过期失效,不过我会定期检查更新文章,因文章在多平台发布,可能出现更新延迟的情况,如需最新版本请通过下方公众号获取。

另外本系列使用的大模型、Lora模型、SD插件、示例图片等,都已经上传到我整理的 Stable Diffusion 绘画资源中,后续也会持续更新,最新下载地址也可通过下方公众号获取。

关注公/众/号:萤火遛AI(yinghuo6ai),发消息:SD,即可获取最新AI绘画教程和资源的下载地址。


以上就是本文的主要内容,有兴趣的同学快去试试吧。

关于这个ControlNet的更多信息可以看关于它的官方讨论:

github.com/Mikubill/sd...


相关推荐
Elastic 中国社区官方博客2 小时前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白3 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼4 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
珠海新立电子科技有限公司6 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董7 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦7 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw7 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐8 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1238 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr8 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络