关于IP-Adapter的十几个模型,到底是干啥用的?

🎠背景介绍

IP-Adapter的一系列模型在stable diffusion的实际应用中,越来越被频繁的使用到,用于“换脸”或者“保证角色的一致性”,但是很多朋友在安装或者使用别人的工作流的时候,经常会遇到各种各样的问题,同时因为资源在各种群里转来转去的,发现有很多个版本,所以有些时候比较迷茫,这篇文章简单的介绍下这些模型每个版本到底有什么区别,自己的使用场景应该用哪个,让大家不至于过于迷茫和纠结,并提供下载地址,因为模型实在比较多,所以大家按需下载就好。

🎀网盘下载地址:IP-Adapter 十几个模型的下载地址集合

⛳IP-Adapter系列是干啥的

从git的介绍页面可以看到,这个库是腾讯的AI-Lab实验室建立的,2023/8/16就建立了,之后持续更新,陆续的更新了大大小小一大堆的版本,这是一种有效且轻量级的适配器,可为预训练的文本到图像扩散模型实现“图像提示”功能。

IP-Adapter Git地址

以下是官方的架构图:

可以简单的看出,ip-dapter可以让图片和提示词共同影响U-Net中的每一个层级,所以可以让输入图像的各种图像特征带入到生成结果中,从而实现“IP”的“适配”,emm..非专业人士大概这么理解差不多就够了。

✨到底多少个版本

这个模型的版本的确是比较多,从官方git提供的huggingface下载地址来看:

有两组,分别是IP-Adapter-FaceID系列和IP-Adapter系列,而每一个系列,里边又对应着一堆模型,所以的确是有十几个模型的,大家觉得乱也是满合理的一件事情...十几个模型的controlnet,可能作者都得迷糊...

从当前(2024.3.17)来看:

IP-Adapter 1.5 版本:6个;

IP-Adapter sdxl版本:4个;

IP-Adapter-faceID (1.5+sdxl):7个;

IP-Adapter-faceID 的Lora (1.5+sdxl):5个;

也就是,总计17个版本的adpter模型,另外还有5个faceID对应的lora模型;

🥽先看比较早的IP-Adapter系列:

分为sd1.5版本的模型和sdxl版本的模型,这些在webui或者comfyui中,都是用于controlnet的模型中,这么多版本也是不同是前期不同目的一点点累积起来的,你需要根据自己使用的是1.5还是sdxl的大模型来匹配自己使用的ip-adapter模型,否则一定是会出错的。

那么这些版本到底是什么区别呢?按照官方的解释,如下:

(safetensors版本和bin版本,模型一致,一般下载safetensors后缀的版本就可以。)

SD 1.5 的 IP-Adapter

  • ip-adapter_sd15.bin:使用 OpenCLIP-ViT-H-14 中的全局图像嵌入作为条件,也就是说不仅仅参考脸部,而是参考政府图片,这件事情与另外一组的faceID系列模型出发点上就不同了;
  • ip-adapter_sd15_light.bin:与 ip-adapter_sd15 相同,但更兼容文本提示,因为本身ip-adpter是图像和提示词共同影响生成的结果,所以这个模型从理论上提升了文本提示词的影响权重;
  • ip-adapter-plus_sd15.bin::使用从OpenCLIP-ViT-H-14模型中提取的图像块嵌入作为条件输入,比 ip-adapter_sd15 更接近参考图像,简单理解就是,有plus用plus,效果更好。
  • ip-adapter-plus-face_sd15.bin:与 ip-adapter-plus_sd15 相同,但使用裁剪后的人脸图像作为条件,也就意味着人物脸部的影响会更强,而衣服姿势等信息的影响被极大的降低;

SDXL 1.0 的 IP-Adapter

  • ip-adapter_sdxl.bin:使用 OpenCLIP-ViT-bigG-14 中的全局图像嵌入作为条件;
  • ip-adapter_sdxl_vit-h.bin:与 ip-adapter_sdxl 相同,但使用 OpenCLIP-ViT-H-14,作者在git中也提到了,两个模型对结果的影响实测下来发现并不大;
  • ip-adapter-plus_sdxl_vit-h.bin:使用 OpenCLIP-ViT-H-14 中的补丁图像嵌入作为条件,比 ip-adapter_sdxl 和 ip-adapter_sdxl_vit-h 更接近参考图像,同理,有plus用plus;
  • ip-adapter-plus-face_sdxl_vit-h.bin:与 ip-adapter-plus_sdxl_vit-h 相同,但使用裁剪后的人脸图像作为条件,这个也是增强脸部信息对最终生成画面的影响程度;

🙌IP-Adapter系列模型使用小梦总结(省流版)

  1. 根据你自己使用的大模型版本(1.5 还是sdxl)来选择对应的ip-adapter模型,带sd1.5的就是适配1.5版本大模型的,带sdxl的,当然也就是适配sdxl版本的大模型;
  2. 尽量使用plus版本,比不带plus的效果要更好;
  3. 如果想要仅仅参考输入画面的脸部信息,那么需要选择带face的版本,如果要参考输入的图片的整体(如衣服、姿势等等),选择不带face的版本;

🎡再看比较新的FaceID系列:

哈,又是一堆各种版本各种型号的faceid模型;

https://huggingface.co/h94/IP-Adapter-FaceID

IP-Adapter-FaceID 目前还是实验阶段的模型,使用人脸识别模型中的人脸 ID 嵌入代替 CLIP 图像嵌入,此外,我们使用 LoRA 来提高 ID 一致性。IP-Adapter-FaceID 只需文字提示即可生成以人脸为条件的各种风格图像,比如现在很多人用IP-Adapter来实现照片换脸,大多使用的就是这个系列的ip-adapter模型;

那这一堆模型又是什么区别呢,我们直接进入总结:

🙌IP-Adapter-FaceID系列模型使用小梦总结(省流版)

  1. 根据你自己使用的大模型版本(1.5 还是sdxl)来选择对应的ip-adapter-FaceID模型,带sd1.5的就是适配1.5版本大模型的,带sdxl的,当然也就是适配sdxl版本的大模型;
  2. 尽量使用plus版本,比不带plus的效果要更好;
  3. 除了portrait版本,其他的版本建议搭配相应的lora来使用,效果会更好;
  4. plusV2版本比plus版本多了可控性,可以通过调整controlnet中脸部结构的权重以获得不同的生成;
  5. portrait版本是一个比较特殊的版本,与 IP-Adapter-FaceID 相同,但用于肖像生成,但是不需要lora,也不需要controlnet。具体来说,它接受多个面部图像以增强相似性(默认为 5),也就是参考同一个人物的多张脸部照片来生成图像,保证生成图像与原人物的一致性;

补充portrait版本的官方示例图:

(前两行是国内的人物,所以手工打码了,要不然发不出来哈,感兴趣可以到原网页查看。)

 如果对你有帮助的话,还请帮忙点个赞👍咯,谢谢啦~

🎉写在最后~

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

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

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

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

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

​​​

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

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

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

相关文章

考研数二要掌握的初中知识点

文章目录 一、整式1. 同底数幂的乘法2. 幂的乘方3. 积的乘方4. 乘法分配律5. 同底数幂的除法 二、分式1. 分式的乘法2. 分式的除法3. 分式的乘方4. 分式的最简公分母5. 负指数幂6. 比例变形7. 分离常数法 三、二次根式0. 平方根和算数平方根的重要概念1. 乘方去根号2. 二次根式…

118. 杨辉三角(Java)

这里写目录标题 题目描述:输入:输出:代码实现: 题目描述: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 输入: numRows 5输出: [[1],[1,1],[1…

考研数学|武忠祥各阶段搭配用书汇总

看到有人问武忠祥老师,不请自来 武忠祥老师,绝对的宝藏老师,我在考研强化阶段的时候听过他的强化课程,听完之后,很多问题都想通了,所以,如果有人想问武忠祥老师行不行,那我就一个字…

19. UE5 RPG使用GameplayEffect的Attribute Based Modifiers

前几篇文章我也说了GE的基础使用,但是,对一些属性的应用没有述说,后续,我将一点一点的将它们如何使用书写下来。 这一篇,主要就讲解一下Attribute Based Modifiers使用,先说一下它的应用场景,一…

数据结构——栈和队列的表示与实现详解

目录 1.栈的定义与特点 2.队列的定义与特点 3.案例引入 4.栈的表示和操作的实现 1.顺序栈的表示 代码示例: 2.顺序栈的初始化 代码示例: 3.判断栈是否为空 代码示例: 4.求顺序栈长度 代码示例: 5.清空顺序栈 …

Spring Boot中application配置文件的生效顺序

Spring Boot的一个重要特性就是它的自动配置,这一特性在很大程度上依赖于名称为application的配置文件。本文将详细介绍在Spring Boot中,这些配置文件的加载顺序以及每份文件的应用范围。 文章目录 配置文件的种类配置文件的加载顺序配置文件的环境切换 …

操作系统内功篇:硬件结构之CPU缓存一致性

一 CPU Cache的数据写入 1.1 CPU Cache的结构 是由很多个Cache Line组成的,CPU Line是CPU从内存读取的基本单位,CPU Line是由多个标志数据块组成。 1.2 CPU Cache数据的写入 数据不仅仅只有读取,还有数据的写入,写入数据也是先…

【智能算法】斑鬣狗优化算法(SHO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过。 3.代码实现4.参考文献 1.背景 2017年,Dhiman等人受到斑鬣狗自然狩猎行为启发,提出了斑鬣狗优化算法(Spotted Hyena Optimizer, SHO)。 2.算法原理 2.1算法思想 SHO将斑鬣狗狩猎行为分为围捕-狩猎-进攻三…

JVM实战篇

内存调优 内存溢出和内存泄漏 内存泄漏:在java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收。 内存泄漏绝大多数情况都是由堆内存泄漏引起的,所以后续没有特别说明则讨论的都是堆…

matplotlib画堆叠、并列直方图

在用 matplotlib.pyplot.hist 画分布图时,若总分布由几个分量组成(如高斯混合),想用不同颜色标识出来,方便看到各分量占比,参考 [1]。 效果: 分布由两个分量(x、y)组成…

二,几何相交---4,BO算法---(4)可能的三种情况

从上到下,扫描线经过有三种情况: 第一种情况,加入线段e的左端点,那么原来的状态pred->suc变成pred->e->suc 第二种情况,经过线段e的右端点,状态pred->e->suc,变成pred->suc&a…

Java 面试题之框架

1. Spring 是什么 Sping 是包含了众多工具方法的 IOC 容器,IOC是控制反转,说的是对象的创建和销毁的权利都交给 Spring 来管理了, 它本身又具备了存储对象和获取对象的能力. 。 容器:字面意思,用来容纳某种物品的装置。 比如 L…

JavaScript练手小技巧:数字反转时钟

样式基于博主的这篇文章: CSS3技巧38:3D 翻转数字效果-CSDN博客 既然可以实现翻转数字了,肯定就可以跟 JS 相结合去完成一些数字展示效果。 比如,数字反转时钟。 为了方便,所有 HTML 数字根据时间动态生成。因此&a…

企业内部培训考试系统培训计划功能说明

培训计划是预设好的一套课程系列,包含课程和考试,分多个阶段,每完成一个阶段就会在学习地图上留下标记,让用户看到自己的努力成果,增强成就感,从而坚持完成课程。 企业内部培训考试系统中如何设置培训计划…

一起玩儿3D打印机——06 Marlin固件的配置(三)

摘要:本文介绍Marlin固件的配置方法 25. 启用EEPROM参数保存功能 #define EEPROM_SETTINGS 打开此功能,会将部分参数保存在打印机中,这样通过屏幕就可以进行调节,而无需重刷固件。 26. 启用板载SD卡支持 #define SDSUPPORT 如…

【QT+QGIS跨平台编译】之七十七:【QGIS_Gui跨平台编译】—【错误处理:字符串错误】

文章目录 一、字符串错误二、处理方法三、涉及到的文件一、字符串错误 常量中有换行符错误:(也有const char * 到 LPCWSTR 转换的错误) 二、处理方法 需要把对应的文档用记事本打开,另存为 “带有BOM的UTF-8” 三、涉及到的文件 src\gui\qgsadvanceddigitizingdockwidge…

WebServer -- 架构图 面试题(上)

目录 🎂前言 🌼流程图 && 架构图 1)什么是 WebServer 2)服务器基本框架 3)Reactor && Proactor 模式 4)同步 I/O 模拟Proactor模式(Linux) 5)主从…

C语言基础练习——Day10

目录 选择题 编程题 不用加减乘除做加法 找到所有数组中消失的数字 选择题 1、求函数返回值,传入-1,则在64位机器上函数返回 int func(int x) {int count 0;while (x){count;x x&(x - 1);//与运算}return count; } A 死循环B 64C 32D 16 答案&…

别急,先了解一下什么是REST API吧

1、先想一想Rest API的用途和场景 Rest API的常用场景:前后端分离,前端可多样化,还有与其他系统集成:RESTful API 可以与其他系统进行集成,例如第三方登录、支付和社交媒体平台等。 现在我们知道了如何使用 servlet …

redis 常见的异常

目录 一、缓存穿透 1、概念 解决方案 (1)布隆过滤器 (2)、缓存空对象 二、缓存雪崩 1、概念 解决方案 (1)redis高可用 (2)限流降级 (3)数据预热 一、缓存穿透 1、概念 缓…