借助Stable Diffusion的ControlNet技术,通过InstantID插件实现人物角色的一致性控制

今天我们将探讨如何在Stable Diffusion的ControlNet插件中应用InstantID模型。

一. InstantID介绍

InstantID 使用 InsightFace 从参考人脸中检测、裁剪和提取人脸embedding 。然后embedding与 IP-Adapter一起使用来控制图像生成。这部分与 IP-Adapter Face ID 非常相似。不过,它还使用 ControlNet 检测并修复多个面部标志(眼睛、鼻子和嘴巴)。

结合使用IP-Adapter Face ID 和 ControlNet,可以高保真度地复制我们提供的参考图像,从而最终实现人物角色的一致性。

注意:InstantID需要使用SDXL大模型,目前还没有Stable Diffusion 1.5对应的版本。

二. InstantID插件的安装

首先将controlnet升级到最新的版本,最好是在V1.1.440版本及以上。

下载InstantID的IP-adapter模型。

下载地址:https://huggingface.co/InstantX/InstantID/blob/main/ip-adapter.bin
注意:如无法下载,请看文末扫描获取

将下载的文件重命名为ip-adapter_instant_id_sdxl.bin。

下载 InstantID ControlNet模型。

下载地址:https://huggingface.co/InstantX/InstantID/blob/main/ControlNetModel/diffusion_pytorch_model.safetensors
注意:如无法下载,请看文末扫描获取

将下载的文件重命名为control_instant_id_sdxl.safetensors。

将上面下载下来的2个文件都放在stable-diffusion-webui > models > ControlNet文件夹目录下。具体情况大家可以按照自己的目录来。

然后重启我们的SD工具,可以看到在控制选项中多了一个Instant_ID选项,表示InstantID安装好了。

三. InstantID插件在SD 1.5中的使用

使用InstantID模型时需要注意一些事项:

  • 大模型只能使用SDXL大模型

  • 提示词引导系数 (CFG Scale)要比通常设置的参数值低(3-5)

  • 需要使用2个ControlNet作为InstantID

  • 减少两个ControlNet的控制权重(Control Weights)和引导终止时机(Ending Control Steps)

下面我们来具体体验一下InstantID插件的使用。

【第一步】:大模型的选择

这里我们使用Dreamshaper SDXL Turbo大模型。VAE大模型选择None。

在这里插入图片描述

【第二步】:提示词的编写

正向提示词:

Prompt:watercolors portrait of a woman (happy laughing:1.15),masterpiece,artistry,

提示词:一个女人的水彩肖像(快乐地笑:1.15),杰作,艺术

反向提示词:

Prompt:low quality, blurry, malformed, distorted

提示词:低质量、模糊、畸形、扭曲

文生图相关参数设置

  • 采样器:DPM++SDE Karras

  • 采样迭代步数:7

  • 图片宽高:1016*1016 (默认图像尺寸 1024×1024 不适用于 Instant ID。使用接近但不完全是 1024×1024 的分辨率)。

  • 提示词引导系数(CFG):2(CFG 比例必须设置得相当低,InstantID 才有效)

【第三步】:ControlNet插件InstantID模型设置

需要使用两种 InstantID 模型。换句话说,需要使用两个ControlNet。

ControlNet单元0设置

第一个ControlNet主要使用InsightFace来提取人物的面部特征。

这里我们使用紫霞仙子的图片作为参考图像。

  • 启用:选中

  • 完美像素模式:选中

  • 控件类型:Instant_ID

  • 预处理器:instant_id_face_embedding

  • 模型:ip-adapter_instant_id_sdxl

  • 控制权重:1

  • 引导介入时机:0

  • 引导终止时机:1

ControlNet单元1设置

第二个ControlNet用于提取面部关键点,例如眼睛、鼻子和嘴巴的位置。您可以使用不同的图像,但建议使用相同的图像。这里我们仍然使用第一个ControlNet上传的图片。

  • 启用:选中

  • 完美像素模式:选中

  • 控件类型:Instant_ID

  • 预处理器:instant_id_face_keypoints

  • 模型:control_instant_id_sdxl

  • 控制权重:0.45

  • 引导介入时机:0

  • 引导终止时机:1

【第四步】:生成图片

点击【生成】按钮,最终生成的图片效果如下。

四. 图片风格样式

图片的风格样式是由提示词来控制。您可以使用SDXL的提示词优化图片的展示内容和背景元素。

1. 人物肖像

Prompt:high quality,masterpiece,rich details,realistic photography,8k,high-definition image quality,

portrait of a woman,(happy laughing:1.15),

提示词:高品质,杰作,细节丰富,摄影逼真,8k,高清画质,

一个女人的肖像,(快乐地的笑:1.15),

在这里插入图片描述

2. 赛博朋克风格

Prompt:high quality,masterpiece,rich details,realistic photography,8k,high-definition image quality,

Cyberpunk style,portrait of a woman,(happy laughing:1.15),

提示词:高品质,杰作,细节丰富,摄影逼真,8k,高清画质,

赛博朋克风格,一个女人的肖像,(快乐的笑:1.15),

在这里插入图片描述

3. 线条艺术风格

Prompt:high quality,masterpiece,rich details,realistic photography,8k,high-definition image quality,

line art style,portrait of a woman,(happy laughing:1.15),

提示词:高品质,杰作,细节丰富,摄影逼真,8k,高清画质,

线条艺术风格,一个女人的肖像,(快乐的笑:1.15),

这里的测试示例中,我改变了原图片中的人物表情(微笑),总体来看,Instant_ID插件在实现人物换脸保持人物角色一致性上还是不错的。

好了,今天的分享就到这里了,希望今天分享的内容对大家有所帮助。

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门AI绘画是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!

零基础AI绘画学习资源介绍

👉stable diffusion新手0基础入门PDF👈

(全套教程文末领取哈)
在这里插入图片描述

👉AI绘画必备工具👈

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉AI绘画基础+速成+进阶使用教程👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉12000+AI关键词大合集👈

在这里插入图片描述

这份完整版的AI绘画全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
<think>好的,用户想知道如何通过ControlNet提升Stable Diffusion生成图像的一致性。我需要先回忆ControlNet的基本原理和它在Stable Diffusion中的作用。ControlNet通过添加额外的条件控制,比如边缘检测、姿态估计等,来引导生成过程,这样生成的图像会更符合用户输入的结构或风格。 首先,得解释ControlNet的工作原理。它通过训练一个并行的网络结构,将控制条件(如线稿、深度图等)与原有的扩散模型结合,确保生成图像在结构和内容上与输入条件一致。这部分可能需要引用文献中的内容,比如引用[1]提到的Stable Diffusion XL的优化,或者引用[2]中关于MLSD线条检测的应用。 然后,用户关心的是方法。我需要列出具体的操作步骤,比如选择合适的控制类型、调整控制权重和终止时机。例如,引用[3]提到调整Control Weights和Ending Control Steps,这可能影响生成结果的一致性。此外,引用[4]中提到的安装和配置ControlNet的步骤也需要提及,确保用户知道如何在Web UI中使用它。 接下来,可能要考虑多ControlNet的组合使用,比如同时使用线稿和深度图来增强控制。同时,预处理输入的图像质量也很重要,比如清晰的线稿能带来更好的效果。引用[2]中的Scribble涂鸦模型可能在这里有用,允许用户通过简单涂鸦来保持结构一致。 还要注意参数调整,如引导强度、步数等,这些都会影响最终结果。用户可能需要多次实验来找到最佳配置。最后,结合用户提供的示例问题,生成相关问题,帮助用户进一步学习,比如如何安装ControlNet或调整参数。 需要确保回答结构清晰,分点说明方法和原理,并正确引用提到的资料。同时,语言要简洁,避免技术术语过多,让用户容易理解。</think>### Stable Diffusion 使用 ControlNet 提升生成图片一致性的方法与原理 #### 核心原理 ControlNet 通过添加**结构化条件**(如边缘检测、深度图、姿态估计等)引导图像生成过程,使输出与输入条件保持几何或语义上的一致性。其技术核心是将原始扩散模型的权重冻结,并训练一个并行的“条件分支”网络,通过零卷积层逐步融合控制信号[^1][^4]。这种设计既能保留原模型的生成能力,又能通过外部条件(如线稿、涂鸦)约束生成结果的结构。 #### 具体方法 1. **选择控制类型** - 使用 $Canny$ 边缘检测或 $MLSD$ 直线检测(适合建筑、室内场景)[^2],保留目标物体的轮廓。 - 采用 $Scribble$ 涂鸦模式,通过简笔画定义大致结构[^2]。 - 应用 $Depth$ 深度图控制空间层次,或 $OpenPose$ 控制人物姿态。 2. **参数调整策略** - **控制权重(Control Weight)**:数值范围 $0-2$,值越高对控制条件的服从性越强,但过高可能导致细节僵硬[^3]。 - **终止时机(Ending Control Step)**:设置控制信号在生成过程中的退出步数(如 $0.8$ 表示在前 $80\%$ 步骤生效),后期释放生成自由度以增加细节。 - **引导强度(Guidance Scale)**:与提示词语义配合调整,建议范围 $7-15$。 3. **多条件组合** 可叠加多个 ControlNet 单元(如同时使用线稿+深度图),通过权重分配实现更精准的控制。 ```python # ControlNet 典型调用逻辑(以线稿控制为例) 输入图像 → Canny边缘检测 → 生成条件图 ↓ Stable Diffusion XL + ControlNet权重 → 输出符合线稿结构的图像 ``` #### 应用示例 若需生成**多视角一致的角色形象**: 1. 先通过 $Canny$ 固定角色轮廓 2. 叠加 $Reference$ 模式保持色彩风格统一 3. 设置控制权重为 $1.2$,终止步数为 $0.7$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值