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

news2025/1/13 3:37:53

🎠背景介绍

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://www.coloradmin.cn/o/1524007.html

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

相关文章

【JavaScript】JavaScript 运算符 ⑤ ( 赋值运算符 | 基础赋值运算符 与 复合赋值运算符 )

文章目录 一、JavaScript 赋值运算符1、赋值运算符 概念2、基础赋值运算符 与 复合赋值运算符3、复合赋值运算符4、完整代码示例 一、JavaScript 赋值运算符 JavaScript 赋值运算符种类 : 基础赋值运算符 : 等于 : ; 复合赋值运算符 : 加等 : 减等 : -乘等 : *除等 : /取模等…

开启Safari手势支持

在使用Safari 的时候,大家有没有觉得不支持手势使用起来不是很方便, 触摸板只支持少量简单的手势,如缩放,滚动等。如果使用鼠标的用户,则完全无法使用手势。经过折腾研究,使用CirMenu应用可以完美解决这个要…

RAID技术知识详解到RAID 10的linux实现过程

1.RAID技术简介 RAID(Redundant Array of Independent Disks)独立磁盘冗余阵列。通俗来说就是将多个硬盘通过软件或硬件结合成虚拟单台大容量的硬盘使用。 RAID技术的特点: 可以自动检测故障硬盘; 可以重建硬盘坏道的资料&…

VBA批量绘制动态化数据图表

对于大多数使用的VBA的人来说,处理excel工作簿中批量数据是日常工作中常见的情形,但与此同时,VBA在批量绘图方面同样有简洁快速的特点。 说起Excel画图表,考虑一个问题,excel图表的本质是什么?很多人会不假…

便利店小程序有哪些功能

​便利店小程序为附近的住户提供小程序在线购物的服务。用户只需要打开小程序,就可以购买需要的商品,可以选择自取或者配送。整个过程非常简单快速。下面具体介绍便利店小程序的功能。 1. **商品展示**:展示便利店的商品信息,包括…

【C++刷题】优选算法——动态规划第一辑

1.状态表示是什么?简答理解是dp表里的值所表示的含义怎么来的?题目要求经验题目要求分析问题的过程中,发现重复子问题 2.状态转移方程dp[i]......细节问题:3.初始化控制填表的时候不越界4.填表顺序控制在填写当前状态的时候&#…

windows下修改mysql的max_allowed_packet的值

1)C:\Program Files\MySQL\MySQL Server 5.7 在MySQL 的安装目录下添加my.ini文件,同时添加空的data文件 2)my.ini文件内容如下, [mysqld] port 3306 basedirC:\Program Files\MySQL\MySQL Server 5.7 datadirC:\Program Files\MySQL\MySQ…

软考78-上午题-【面向对象技术3-设计模式】-结构型设计模式01

一、适配器模式 1-1、意图 个类的接口转换成客户希望的另外一个接口。 Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 1-2、结构 适配器模式分为: 1、适配器类模式; 2、适配器对象模式 类适配器使用多重继承对一个接口与另…

java基础(6) IO[下] 线程(补充) XML Servlet

输出流 OutputStream OutputStream是Java标准库提供的最基本的输出流。 和InputStream类似,OutputStream也是抽象类,它是所有输出流的超类。这个抽象类定义的一个最重要的方法就是void write(int b) public abstract void write(int b) throws IOExcep…

html--宠物

文章目录 htmljscss html <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>CodePen - Spaceworm</title><script> window.requestAnimFrame (function() {return (window.requestAnimat…

Javascript抓取京东、淘宝商品数据(商品采集商品详情图片抓取)

之前用的方法&#xff1a; let temp []var lists $(#J_goodsList li.gl-item)$.each(lists,function(idx,item){ temp.push({ id:$(item).data(sku), goods_img:$(item).find(img).attr(src), goods_name:$(item).find(.p-name em).text(), market_price:$(item).fi…

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛——B 题:基于多模态特征融合的图像文本检索完整思路与源代码分享

一、问题背景 随着近年来智能终端设备和多媒体社交网络平台的飞速发展&#xff0c;多媒体数据呈现海量增长 的趋势&#xff0c;使当今主流的社交网络平台充斥着海量的文本、图像等多模态媒体数据&#xff0c;也使得人 们对不同模态数据之间互相检索的需求不断增加。有效的信…

洛谷P8972 『GROI-R1』 一切都已过去(树上前缀和+运算符重载)

『GROI-R1』 一切都已过去 题目背景 悦关上窗&#xff0c;拉上帘布。 果然还是想不起来啊。 隐约记得曾和什么人一起做过这样的事。 仰面躺下&#xff0c;手执一只木笺。 「究竟如何&#xff0c;才能拥有“过去”啊……」 她闭上双眼。 「6 岁前的记忆……究竟如何才能…

ConsiStory:Training-Free的主体一致性生成

Overview 一、总览二、PPT详解 ConsiStory 一、总览 题目&#xff1a; Training-Free Consistent Text-to-Image Generation 机构&#xff1a;NVIDIA, Tel-Aviv University 论文&#xff1a;https://arxiv.org/pdf/2402.03286.pdf 代码&#xff1a;https://consistory-paper.g…

Python自动获取指定上市公司的所有财务数据(资产负债表,利润表,现金流量表)

案例背景 很多经管类同学找财务数据都很困难&#xff0c;去找一个个查找特定的公司&#xff0c;然后又要去同花顺或者东方财富网一年一年的去查看报表&#xff0c;一年一年的数据一个个填入...太慢了。 tushare能获取金融数据的接口&#xff0c;他有资产负债表&#xff0c;利…

idea warning:java源值已过时将在未来所有发行版中删除

在idea中运行maven项目 如果出现idea warning:java源值已过时将在未来所有发行版中删除&#xff0c;详见如下截图所示&#xff1a; 注意&#xff1a;jdk8 要解决这个警告需要设置3个地方 首先打开File->Project Structure中的Project&#xff0c;将SDK和language level都设…

Java学习笔记(15)

JDK7前时间相关类 Date时间类 Simpledateformat Format 格式化 Parse 解析 默认格式 指定格式 EE&#xff1a;表示周几 Parse&#xff1a;把字符串时间转成date对象 注意&#xff1a;创建对象的格式要和字符串的格式一样 Calendar日历类 不能创建对象 Getinstance 获取当…

Python笔记|字符串合并、切片、索引

一、合并 字符串可以用 合并&#xff08;粘到一起&#xff09;&#xff0c;也可以用 * 重复&#xff1a; >>> 3 * un ium unununium 相邻的两个或多个字符串字面值&#xff08;引号标注的字符&#xff09;会自动合并&#xff1a; >>> Py thon Python …

蓝桥杯每日一题 走迷宫bfs 超超详细解释!!!

昨天学习了bfs的基本概念&#xff0c;今天来做一道经典习题练练手吧&#xff01; bfs常用的两类题型 1.从A出发是否存在到达B的路径(dfs也可) 2.从A出发到B的最短路径&#xff08;数小:<20才能用dfs&#xff09; 遗留的那个问题的答案- 题目&#xff1a;走迷宫 答案&…

【Java刷题篇】串联所有单词的子串

这里写目录标题 &#x1f4c3;1.题目&#x1f4dc;2.分析题目&#x1f4dc;3.算法原理&#x1f9e0;4.思路叙述✍1.进窗口✍2.判断有效个数✍3.维护窗口✍4.出窗口 &#x1f4a5;5.完整代码 &#x1f4c3;1.题目 力扣链接: 串联所有单词的子串 &#x1f4dc;2.分析题目 阅…