IP-Adapter:用于文本到图像扩散模型的文本兼容图像提示适配器

news2024/11/20 0:42:23

文章目录

  • 一、IP-Adapter简介
  • 二、IP-Adapter与img2img的区分
    • (一)结构上的区别
    • (二)流程上的区别
    • (三)输出上的区别
    • (四)原理上的区别
  • 三、IP-Adapter的网络架构
    • (一)图像编码器
    • (二)解耦交叉注意力
    • (三)训练和推理


一、IP-Adapter简介

  1. IP-Adapter是图像提示适配器,用于预训练的文本到图像扩散模型,以实现使用图像提示生成图像的能力;
  2. IP-Adapter的关键设计是解耦的交叉注意力机制,将交叉注意力层分离为文本特征和图像特征,实现了图像提示的能力。

二、IP-Adapter与img2img的区分

(一)结构上的区别

  • img2img使用unet架构,包括一个编码器(下采样)和一个解码器(上采样)
  • IP-Adapter包括一个图像编码器和包含解耦交叉注意力机制的适配器

(二)流程上的区别

  • img2img通过编码/解码器,需要通过一系列上采样、下采样
  • IP-Adapter通过图像编码器,文本提示和图像特征通过适配模块与预训练的文本到图像模型进行交互

(三)输出上的区别

现在给出prompt要求在图1一个男人的基础上加上参考图2:
在这里插入图片描述

  • img2img是输出一个转换后的图像:相当于直接盖在参考图上开始临摹,画出一些强行混合不知所谓的图来。在这里插入图片描述
  • IP-Adapter是根据文本和图像提示生成的图片:IP-Adapter则不是临摹,而是真正的自己去画,将参考图与原图荣威一体
    在这里插入图片描述

(四)原理上的区别

  1. stable diffustion是扩散模型,它的核心作用机制就是对噪音的处理,prompt可以看做是我们的目标,通过不断的去噪过程,向着目标越来越靠近,最终生成出预期的图片。
    在这里插入图片描述

  2. IP-Adapter将图片单独提出作为一种提示特征,相比SD模型把图像特征和文本特征抽取后拼接在一起的方法,IP-Adapter通过带有解耦交叉注意力的适配模块,将文本特征的Cross-Attention 和图像特征的Cross-Attention区分开来,在Unet的模块中新增了一路Cross-Attention模块,用于引入图像特征。

  3. img2img是直接将参考图传入unet,去替换了原始的随机噪音,这样所有的生成结果都是建立在它的基础上,于是有了前面人和老虎混杂的现象就比较好理解了。
    在这里插入图片描述

三、IP-Adapter的网络架构

  1. 当前adapter很难达到微调图像提示模型或从头训练的模型性能,主要原因是图像特征无法有效的嵌入预训练模型中。大多数方法只是将拼接的特征输入到冻结的cross-attention中,阻止了扩散模型捕捉图像图像提示的细粒度特征。
  2. 为了解决这个问题,我们提出了一种解耦交叉注意力策略,即通过新添加的交叉注意力层嵌入图像特征。提议的IP-adapter包含两个部分:
    • 图像编码器用于从图像提示中提取图像特征;
    • 具有解耦的cross-attention的适配模块,用于将图像特征嵌入预训练的文本到图像扩散模型中。
      在这里插入图片描述

(一)图像编码器

  1. 与大多数方法一样,我们使用预训练好的 CLIP 图像编码器模型从图像提示中提取图像特征;
  2. 我们利用 CLIP 图像编码器中的全局图像嵌入,它与图像字幕非常吻合,能代表图像的丰富内容和风格;
  3. 在训练阶段,CLIP 图像编码器被冻结。

(二)解耦交叉注意力

图像特征由具有解耦交叉注意力的适配模块集成到预训练的UNet模型中。
在这里插入图片描述把文本特征和图像特征分开cross-attention再相加,之前的想法大多数先将图像特征和文本特征拼接后再cross。

(三)训练和推理

  1. 在训练过程中,我们只对 IP 适配器进行优化,同时保持预训练扩散模型的参数不变,训练目标与原始 SD 相同:
    在这里插入图片描述
  2. 我们还在训练阶段随机放弃图像条件,以便在推理阶段实现无分类器指导:
  3. 如果丢弃了图像条件,可以将clip图像embedding归0。由于文本cross-attention和图像cross-attention是分离的,在推理阶段还可以调整图像条件的权重:
    在这里插入图片描述

参考:
图像作为prompt#IP-Adapter
新一代“垫图”神器,IP-Adapter的完整应用解读
IP-Adapter:text compatible image prompt adapter for text-to-image diffusion models
IP-Adapter:用于文本到图像扩散模型的文本兼容图像提示适配器

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

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

相关文章

Python教程16:使用海龟画图turtle画会动的时钟

---------------turtle源码集合--------------- Python教程36:海龟画图turtle写春联 Python源码35:海龟画图turtle画中国结 Python源码31:海龟画图turtle画七道彩虹 Python源码30:海龟画图turtle画紫色的小熊 Python源码29&a…

单例模式---JAVA

目录 “饿汉”模式 完整代码 “懒汉”模式 完整代码 单例模式:保证某个类在程序中只存在唯一一份实例, 而不会创建出多个实例。 单例模式可以通过实例创建的时间来分为两种:“饿汉”和“懒汉”模式。 “饿汉”模式 所谓的“饿汉”模式实则就是在类…

异常处理注解 @ExceptionHandler

今天记录下 SpringBoot 中 ExceptionHandler 的使用。 场景 有一个员工表(employee),且给表中的 username 属性设置了唯一性。 -- auto-generated definition create table employee (id bigint auto_increment comment 主键primary key,name va…

STM32F103_ESP8266基于RTOS移植MQTT

STM32F103_ESP8266基于RTOS移植MQTT 目录 STM32F103_ESP8266基于RTOS移植MQTT一、准备工作二、移植mqttclient代码三、编译包含mqttclient的工程四、编写ESP8266驱动程序1、ESP8266 AT命令代码框架2、UART硬件和抽象层相关代码3、AT命令发送和解析代码4、plat_sock网络层相关代…

【redis基础1】基础数据类型详解和应用案例

博客计划 ,我们从redis开始,主要是因为这一块内容的重要性不亚于数据库,但是很多人往往对redis的问题感到陌生,所以我们先来研究一下。 本篇,我们先看一下redis的基础数据类型详解和应用案例。 1.redis概述 以mysql为…

软件测试|Python requests库的安装和使用指南

简介 requests库是Python中一款流行的HTTP请求库,用于简化HTTP请求的发送和处理,也是我们在使用Python做接口自动化测试时,最常用的第三方库。本文将介绍如何安装和使用requests库,以及一些常见的用例示例。 安装requests库 首…

认知觉醒(九)

认知觉醒(九) 专注力——情绪和智慧的交叉地带 第一节 情绪专注:一招提振你的注意力 用元认知来观察自己的注意力是一件很有意思的事情,相信你可以轻易观察到这种现象:身体做着A,脑子却想着B。 跑步的时候,手脚在…

AI与编程学习

在C语言中,指针通常与字符数组或字符串打交道时会涉及到ASCII码的转换,而不是用于表现多位数的第一位。48这个值对应的是ASCII码表中数字字符0的编码。 如果你有一个表示多位数的字符数组,例如: c char number[] "1234&qu…

ssm基于web办事大厅政务预约系统+vue论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本办事大厅政务预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据…

代码随想录day30 回溯算法最终章

51. N皇后 题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 Q 和…

xtu oj 1340 wave

题目描述 一个n列的网格,从(0,0)网格点出发,波形存在平波(从(x,y)到(x1,y)),上升波(从(x,y)到(x1,y1)),下降波(从(x,y)到(x1,y−1))三种波形,请问从(0,0)出发,最终到达(n,0)的不同波形有多少种&#xff1f…

第 13 章图

文章目录 13.1 图基本介绍13.1.1 为什么要有图13.1.2 图的举例说明 13.2 图的表示方式13.2.1 邻接矩阵13.2.2 邻接表 13.3 图的快速入门案例13.4 图的深度优先遍历介绍13.4.1 图遍历介绍13.4.2 深度优先遍历基本思想13.4.3 深度优先遍历算法步骤13.4.4 深度优先算法的代码实现 …

TikTok系列算法定位还原x-ss-stub

TikTok的x系列的算法比较有名,很多粉丝也问过,之前没有深入研究,本人工作量也比较大。 我们上次说到TikTok的x-ss-stub的算法就是ccmd5标准库算的,今天要讲细致点,表面这个结论本不是直接将数据md5那么来的,是经过一系列分析来的 上图是上次截图的,这次我们分析整个定位…

【算法】七夕祭

题目 七夕节因牛郎织女的传说而被扣上了「情人节」的帽子。 于是 TYVJ 今年举办了一次线下七夕祭。 Vani 同学今年成功邀请到了 cl 同学陪他来共度七夕,于是他们决定去 TYVJ 七夕祭游玩。 TYVJ 七夕祭和 11 区的夏祭的形式很像。 矩形的祭典会场由 N 排 M 列共…

【linux】awk的基本使用

awk是shell中一个强大的文本处理工具,被用于处理文本和数据 当你心中默念想要使用类似于 处理某一行,处理某一列 的文本 的功能时,就是awk登场的时候了 举个简单的例子是,当我们想知道自己的所有网卡的名字时,可以用i…

【数据结构与算法】之数组系列-20240115

这里写目录标题 一、599. 两个列表的最小索引总和二、724. 寻找数组的中心下标三、面试题 16.11. 跳水板四、35. 搜索插入位置 一、599. 两个列表的最小索引总和 简单 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表&#xff0c…

鸿蒙开发现在就业前景怎样?

随着科技的不断进步,鸿蒙系统逐渐崭露头角,成为智能设备领域的一颗新星。作为华为自主研发的操作系统,鸿蒙系统拥有着广阔的市场前景和就业机会。那么,鸿蒙开发的就业前景究竟怎样呢? 一、市场需求持续增长 随着鸿蒙…

vivado18.3和modelsim关联

版本关系 首先明确Modelsim与Vivado的联合仿真需要版本号相匹配,Xilinx官方文档UG973中给出了所有版本的Vivado兼容Modelsim的版本情况 Vivado版本号Modelsim版本号Vivado Design Suite 2022.2Mentor Graphics ModelSim DE (2022.2)Vivado Design Suite 2022.1Men…

街机模拟游戏逆向工程(HACKROM)教程:[0]工具

街机hack,从早期的街霸-降龙版 到后期对各种街机的各种改动版本 这些成果,就是对街机游戏的代码进行逆向分析的结果。对于大部份街机游戏,是基于摩托罗拉68000的CPU,使用的是一套特别的汇编指令集。 一、MAME下载 我们想要对游戏…

Map、WeakMap和set、WeakSet

Map map是一个键名和键值可以是任意类型的键值对集合,它按照键值对的插入顺序来排列,如果给同一个键名插入键值,后者会覆盖前者 let map new Map() map.set(1, 1) map.set(string, string) map.set({1: 1}, {1: 1}) console.log(map)可以通…