【当前全网最详细】WebUI中使用Instant_ID来控制生成对象面部的用法

news2024/11/17 9:50:08

🎈为什么有这篇文章

中文网络上或者B站很多UP,在讲述WebUI中使用这个controlnet来换脸的时候,要么讲的过于复杂,要么就是没有讲清楚,所以这里整理下详细的使用方法,并记录下生成的内容。

 如果懒得看文字可以看同款视频哈:

【AI写真Instant_ID全网最详细教程Stable Diffusion WebUI免费生产力】

🧵准备工作

首先,需要在将webui的本体升级到1.8.0或者更新的版本,这里保证与controlnet的兼容性;

其次,升级controlnet版本到3月6号以后的版本;

 升级完成后,controlnet的版本为1.1.441(或者更新的版本应该也可以)。

第三,下载预处理器并放在controlnet的预处理器文件夹中;

预处理器下载地址: 

https://huggingface.co/DIAMONIK7777/antelopev2/tree/main

如果你的网络不好可以到我的网盘下载:https://pan.quark.cn/s/34ac9d88ad7c

本地预处理器地址:

第四,下载controlnet模型到本地的controlnet模型文件夹中;

模型下载地址:

  • ipadapter model
  • ControlNet model
  • 如果你的网络不好可以到我的网盘下载:https://pan.quark.cn/s/34ac9d88ad7c
  • 然后放在本地的controlnet的模型文件夹下:

🧨图像生成

接下来就是具体的使用方法了。

Instant ID使用ControlNet和IP-Adapter的组合来控制扩散过程中的面部特征。Instant ID 的一项独特设计是,它将来自 ip-adapter识别到的面部特征信息,作为交叉输入传递到 ControlNet的unet网络部分。而如果不使用这个模型,ControlNet的unet网络的cross attention(交叉注意力) 输入是提示的文本嵌入。

在webui中具体使用Instant_ID这个controlnet的时候,跟其他的controlnet使用方法不同的是,他需要使用两个模型搭配才能生效,也就是要开启两个controlnet。

并且,两个模型的顺序不能出错。

第一个Controlnet设置:

这里上传的图像是你要参考的脸部特征的信息,也就是生成的最终人物像谁。

采样器是embedding结尾的,模型是一个特定的ip-adapter模型,这俩组合就是提取人物面部特征的。

需要注意的是,官方并没有强制要求选择“更偏向ControlNet”,但是我测试下来,如果不选择这个,生成的图像分辨率会相对低一些,所以建议这么设置。

当然,你可以适当降低控制权重,一定程度上也能提升生成的图像的分辨率。

第二个Controlnet设置:

这里也需要上传一张图像,这张图像是生成图像的人物的面部参考信息。这张图像中人物的姿势和面部表情特征会被参考。

这里的预处理器选择的keypoints结尾的预处理器模型,模型是instant_id_sdxl模型,对,这里仅仅支持sdxl的大模型(也支持sdxl_turbo模型),官方并没有支持sd1.5或者其他的版本。

这两个模型搭配起来,会控制最终生成的图像中,人物面部的占比,面部朝向,面部表情等等面部信息,姿态信息,从实验结果来看,一定程度上会参考,但参考的不多。

这里仍然勾选了“更偏向Controlnet”,也是由于勾选之后,一定程度上可以提升生成图像的分辨率。

至于“完美像素模式”,从实测结果看,勾选不勾选影响并不是很大。

接下来是基础的文生图设置部分;

这里有以下几个重点:

第一,模型必须选择sdxl或者sdxl turbo模型;

第二,CFG Scale这里,也就是提示词引导系数,官方建议是4~5之间,但是实测下来,这个参数的设定其实与你的模型非常相关,如果你是标准的sdxl微调模型,那么这个值在3~4之间可能会更好,否则生成的图像可能会比较模型,如果你的模型是sdxl turbo模型,那么,这个值甚至可以调整到1~1.5,效果也还不错。

第三,迭代步数部分,并不需要太高步数,步数太高反而容易崩,如果是标准模型,20步就差不多,如果是sdxl turbo模型,就按照turbo类通用的7~9步就好了;

第四,宽度和高度,众所周知,1024x1024是默认的最佳分辨率,但是这里如果是1024x1024的话,(估计是原作者训练集的问题),容易生成带水印的图像,所以大家可以稍微错开这个分辨率,比如说使用768x1024等,可以有效规避这个水印的问题;

👑生成效果

面部信息使用路人甲同学(如果用某些名人的话,效果会更好,但是由于都懂的原因,会根本发不出来),面部位置用了狼叔的一张剧照;

(仅作技术免费交流学习示意,如果有侵权,我会删掉)

生成的图像示意:

貌似,效果还不错?

🎇加速技巧

s你会发现使用这个Instant_ID的时候,每次都会加载模型、卸载模型,这样就会降低生成的速度从而影响创作者的心情。

如果你的显卡显存较大(12G以上),可以试试让controlnet支持缓存两个模型。

操作方法如下:

第一:进入webui的设置页面;

第二,找到controlnet选项;

第三,在右侧找到模型缓存数量选项,然后拉到2;(默认为1,如果你之前调整过,那就不用再调整了)

第四,重新启动webui;

这样你再使用Instant_ID的时候,速度就会变得很快乐,如果是4090,使用默认的sdxl模型,大概速度在5秒左右可以生成一张1024x768的图像;(供参考)

当然,这个也是支持使用高分辨率修复的,只是花的时间会略微长一点。

🎉写在最后~

去年的时候写了两门比较基础的Stable Diffuison WebUI的基础文字课程,大家如果喜欢的话,可以按需购买,在这里首先感谢各位老板的支持和厚爱~

✨StableDiffusion系统基础课(适合啥也不会的朋友,但是得有块Nvidia显卡):

https://blog.csdn.net/jumengxiaoketang/category_12477471.html

​​🎆综合案例课程(适合有一点基础的朋友):

https://blog.csdn.net/jumengxiaoketang/category_12526584.html

​​

这里是聚梦小课堂,就算不买课也没关系,点个关注,交个朋友😄

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1517088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序-day01

文章目录 前言微信小程序介绍 一、为什么要学习微信小程序?二、微信小程序的历史创建开发环境1.注册账号2.获取APPID 三、下载微信开发者工具1.创建微信小程序项目2.填写相关信息3.项目创建成功 四、小程序目录结构项目的主体组成结构 总结 前言 微信小程序介绍 微信小程序&…

visa卡支持美区苹果Apple id绑定

苹果手机我相信大家都很熟悉,所以很多小伙伴都需要绑定卡来进行一系列的体验,这里我使用的是559666 在绑定之前我们需要先开一张visa卡,点击获取 开卡步骤如下,按图片步骤即可开卡 卡片信息在卡中心cvc安全码里面

STM32F407_外部中断

这里写目录标题 前言1、EXTI概述2、外部中断配置流程完整代码 前言 注释很详细,放心食用。 1、EXTI概述 STM32F4的每个IO都可以作为外部中断的中断输入口,这点也是STM32F4的强大之处。STM32F407的中断控制器支持22个外部中断/事件请求。每个中断线上都设…

hex文件格式解析

本文框架 1. hex文件格式1.1 数据长度1.2 地址域1.3 数据类型1.4 数据域1.5 CRC校验域 本文对hex文件格式进行解析,介绍各部分组成及其含义,在此mark下,方便后续开发脚本对hex文件进行操作。 1. hex文件格式 Intel HEX文件是由一行行符合Int…

Explain详解与索引优化最佳实践

Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在select语句之前增加explain关键字,MySQL会在查询前设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL 注意: 如果from中包含子查询,仍会执行该子查询,将结果…

Gemma: Open Models Based on Gemini Research and Technology

Gemma: Open Models Based on Gemini Research and Technology 相关链接:arxiv 关键字:Gemma、Google DeepMind、open models、language understanding、reasoning 摘要 这项工作介绍了Gemma,一系列轻量级、最先进的开放模型,基于…

笔记本的显示器都是核显输出,还要独显干啥呢?

前言 今天小白还在睡梦中,就接到一个朋友发来的消息:笔记本的显示器都是直接在核显上的,没有改独显的选项。 如果是这样,那笔记本还有独立显卡什么事情?笔记本加了独显难道就只是为了圈钱? 其实并不是这样…

06双体系Java学习之算术运算符,赋值运算符,关系运算符

// 二元运算符//CtrlD : 复制当前行到下一行int a 10;int b 20;int c 25;int d 25;System.out.println(ab);System.out.println(a-b);System.out.println(a*b);System.out.println(a/(double)b);赋值运算符 关系运算符 package operator;public class Demo03 {public stati…

ModuleNotFoundError: No module named ‘sklearn.cross_validation‘

一、问题分析 ModuleNotFoundError: No module named sklearn.cross_validation 英文先翻译一遍,模块未找到问题,这里涉及到sklearn这个模块,Sklearn (全称 SciKit-Learn),是基于 Python 语言的机器学习工…

力扣每日一题 合并后数组中的最大元素 贪心

Problem: 2789. 合并后数组中的最大元素 思路 贪心:从右向左合并,尽可能的多合并,直到不能合并,更新答案,找前一阶段的最大合并值 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code …

1456.定长子串中元音的最大数目

题目:给你字符串 s 和整数 k 。 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为(a, e, i, o, u)。 解题思路: 1.右侧新进入窗口的字母为元音字母,左侧移出窗口的字母…

C语言【典型算法编程题】总结

以下最全总结! 一,分支结构 1,if 编写程序,从键盘上输入三角形的三个边长(实数),判断这三个边能否构成三角形(构成三角形的条件为:任意两边之和大于第三边),如果能构成三角形,则计算三角形的面积并输出(保留2位小数);如果不能构成三角形,则输出“Flase”字符…

AJAX 03 XMLHttpRequest、Promise、封装简易版 axios

AJAX 学习 AJAX 3 原理01 XMLHttpRequest① XHR 定义② XHR & axios 关系③ 使用 XHR④ XHR查询参数案例:地区查询(URLSearchParams)⑤ XHR数据提交 POST 02 PromisePromise 使用Promise - 三种状态案例:使用Promise XHR 获取…

解析找不到msvcr120.dll无法继续执行此代码的多种修复方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcr120.dll丢失”。这个错误通常会导致某些程序无法正常运行。为了解决这个问题,本文将介绍5种修复msvcr120.dll丢失的方法。 一,msvcr120.dll丢失会出现哪些问题…

sql注入重学

sql基本操作 基本查询语句 union (必须得是前面的列与后面的列相同才可以查询) 看第二局uses表中的列有3列,而emails中的列只有两列,所有无法成功查询 这就相当于我们再加了一列 group by (分组) 相当于将其分为10列…

Python 闭包和nonlocal声明

闭包是针对嵌套函数环境的概念,它的作用是延伸函数的作用域。简单来说,闭包就是一个函数,但它可以保存着上层函数作用域中的变量,使得这些变量可以在函数中使用。而nonlocal声明的作用就是允许函数重新绑定局部作用域以外且非全局…

3、鸿蒙学习-在AGC创建HarmonyOS 项目或应用

项目和应用介绍 关于项目 项目是资源、应用的组织实体。资源包括服务器、数据库、存储,以及您的应用、终端用户的数据等。在您使用部分服务时,您是数据的控制者,数据将按照您设置的数据处理位置来存储在指定区域。 通常,您不需…

paraview处理openfoam对称模型

paraview处理openfoam对称模型 步骤如下: 导入对称模型,以openfoam中xx\tutorials\incompressible\SRFSimpleFoam\mixer中的搅拌器为例;使用ctrl+space,查找transform,在Filters中也能找到;经过三次transform,可以移动旋转出对称的其他3部分;经过此三次移动旋转,并不能…

电路基础笔记——电路的等效变换

线性电阻的等效 线性电阻串联:RR1R2 分压公式:Uk(Rk/R)*U 线性电阻并联:1/R1/R11/R2 GG1G2 分流公式:Ik(Gk/G)*I 独立电源的等效 电压源与电压源串联 UsUs1Us2 电压源与电压源并联 U…

Maven简单入门

Maven 一:什么是Maven: Maven是一个项目管理工具,用于构建和管理Java项目。它可以帮助开发人员自动化构建过程,管理项目依赖关系,并协助项目的发布和部署。通过Maven,开发人员可以定义项目的结构、依赖关…