AI绘画Stable Diffusion【ControlNet】:使用InstantID插件实现人物角色一致性

news2024/11/26 7:01:07

大家好,我是阿威。

今天我们介绍一下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插件在实现人物换脸保持人物角色一致性上还是不错的。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

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

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

若有侵权,请联系删除

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

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

相关文章

国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测

目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板,之前使用过Arduino、树莓派3B、树莓派4B,STM32,51单片机,没有想到国产品牌性能一样强劲,使用起来也是很方便…

[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录 [SWPUCTF 2022 新生赛]奇妙的MD5 [GDOUCTF 2023]受不了一点 [LitCTF 2023]作业管理系统 注入点一:文件上传 注入点二:创建文件直接写一句话木马 注入点三:获取数据库备份文件 [LitCTF 2023]1zjs [SWPUCTF 2022 新生赛]奇妙的MD5 …

欧科云链:Web3.0时代 具备链上数据分析能力的公司愈发凸显其价值

在当今激烈的市场竞争中,新兴互联网领域迅速崛起,Web2.0已相对成熟,用户创造数据,但不拥有数据。被视为新的价值互联网的Web3.0,赋予用户真正的数据自主权,它的到来被认为是打破Web2.0垄断的机遇。 在Web3…

寒冬来了,字节跳动开启裁员新模式。。

大家好,我是白露啊。 不得不说,字节跳动还是真的会搞事啊。 最近一段时间,字节搞出了一个裁员新模式:“细水长流”。这个寓意和“财(裁)源(员)广进”计划差不多了,只不…

YOLOv10:实时端到端目标检测

Ao Wang Hui Chen∗  Lihao Liu Kai Chen Zijia Lin  Jungong Han Guiguang Ding Tsinghua University Corresponding Author. 文献来源:中英文对照阅读 摘要 在过去的几年里,YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领…

Java | Leetcode Java题解之第101题对称二叉树

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {Queue<TreeNode> q new LinkedList<TreeNode>();q.offer(u);q.offer(v);while (!q.…

SpringBoot使用redis结合mysql数据库(黑名单)渲染商品详情界面

目录 一、界面效果 二、前端代码 三、后端代码&#xff08;redisblacklist&#xff09; 3.1 ProducatController 3.2 ProductService 3.3 ProductDao 3.4 映射文件 一、界面效果 二、前端代码 商品详情前端代码 <template><van-nav-bartitle"商品详情&quo…

ubuntu24.04LVM扩容问题

目录 一、 开机前设置&#xff1a;扩展 二、 开机后设置&#xff1a;分区管理 通过gparted管理分区有效做法。 一、 开机前设置&#xff1a;扩展 虚拟机关机。打开虚拟机设置。 挂起状态是不能扩容的 这里选择扩容到40G 二、 开机后设置&#xff1a;分区管理 使用gpar…

md5强弱碰撞

一&#xff0c;类型。 1.弱比较 php中的""和""在进行比较时&#xff0c;数字和字符串比较或者涉及到数字内容的字符串&#xff0c;则字符串会被转换为数值并且比较按照数值来进行。按照此理&#xff0c;我们可以上传md5编码后是0e的字符串&#xff0c;在…

拉格朗日插值及牛顿差商方法的实现(Matlab)

一、问题描述 拉格朗日插值及牛顿差商方法的实现。 二、实验目的 掌握拉格朗日插值和牛顿差商方法的原理&#xff0c;能够编写代码实现两种方法&#xff1b;能够分析多项式插值中的误差。 三、实验内容及要求 利用拉格朗日插值及牛顿差商方法估计1980 年的人口&#xff0c;并…

Docker 基础使用 (1)

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx 侧重对docker基本使用的概览。 Docker 软件安装 Linux Ubuntu 依次执行以下指令即可 # 更新软件包列…

Java | Leetcode Java题解之第102题二叉树的层序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> queue new LinkedList<>();List<List<Integer>> res new ArrayList<>();if (root ! null) queue.a…

代码模板,Cookie和Session

目录 代码模板 Cookie的基本使用 概念 Cookie的API public Cookie(String name, String value) 发送Cookie对象到客户端&#xff1a;使用response对象 创建Cookie对象并响应给浏览器 在服务器后端获取Cookie对象 Cookie[]cookiesrequset.getCookies(); Cookie的使用细…

Linux 软件包管理器 yum的下载、功能介绍及使用

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 Linux下的三种软件安装方…

香橙派 AiPro通过Micro USB接口进行串口调试

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、配置步骤1.安装CH343驱动2.配置串口参数 二、使用步骤总结 前言 最近在玩一个新玩具香橙派 AiPro&#xff0c;除了通过SSH方式连接开发板以外&#xff0c;…

创新指南|降低 TikTok CPA 的 9 项专家策略

企业在 TikTok 上投放广告&#xff0c;往往最想确保获得最佳的投资回报。然而&#xff0c;这往往说起来容易做起来难。您需要了解如何利用不同的营销工具、定位策略和创意执行来实现您的业务目标并提高成本效率。本文将分享 9 个行之有效的策略&#xff0c;助您有效降低 TikTok…

【介绍下如何在SQL中添加数据】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Linux——多线程(一)

一、线程的概念 1.1线程概念 教材中的概念&#xff1a; (有问题?) 线程是进程内部的一个执行分支&#xff0c;线程是CPU调度的基本单位 之前我们讲的进程&#xff1a; 加载到内存中的程序&#x…

go-zero 实战(2)

go-zero 实战&#xff08;1&#xff09; 中&#xff0c;使用了go-zero 创建了order 和 user 两个微服务。而order作为grpc的客户端&#xff0c;user 作为grpc的服务端&#xff0c;打通了 order 到 user的调用。接下来&#xff0c;我们在user中&#xff0c;加入mysql组件。确保数…

module ‘plotting‘ has no attribute ‘EpisodeStats‘

plotting.py 的版本不同&#xff0c;可以使用下列版本 reinforcement-learning/lib/plotting.py at master dennybritz/reinforcement-learning GitHubImplementation of Reinforcement Learning Algorithms. Python, OpenAI Gym, Tensorflow. Exercises and Solutions to a…