ConsiStory:无需训练的一致性文本到图像生成技术

随着大规模文本到图像(T2I)扩散模型的发展,用户可以更自由地通过文本指导图像生成过程。然而,要在不同的提示中保持同一主题的视觉一致性仍然是一个挑战。现有的方法通常需要对模型进行微调或预训练,以教授新词汇来描述特定用户提供的主题,这不仅耗时耗力,而且在生成图像与文本提示的对齐以及描绘多个主题时存在困难。本文提出了一种无需训练的方法ConsiStory,它通过共享预训练模型的内部激活来实现一致性主题生成,不涉及任何优化或预训练步骤。

Fig. 1展示了ConsiStory如何将一组包含重复主题的输入提示转换成一系列图像,这些图像保持相同的主题身份,并符合提供的文字描述。它还可以在多主题情况下保持一致的身份。
重要的是,ConsiStory不涉及任何优化或预训练

ConsiStory通过三个主要步骤实现生成图像之间的一致性:首先是通过主题驱动的共享注意力机制(SDSA)来共享跨图像的主题特定信息;其次是通过注意力丢弃机制和从非一致性采样步骤获取的查询特征混合策略来丰富布局多样性;最后是通过特征注入机制进一步细化结果,确保跨图像的相应区域(如左眼)的特征相似性得到增强。

方法

ConsiStory方法的第一步是引入一个主题驱动的自注意力机制(SDSA),目的是在生成图像批次中共享与主题相关的模型激活信息。这种方法通过扩展自注意力,使得一个图像中的查询(Query)能够关注到批次中其他图像的主题相关的键(Key)和值(Value)。

ConsiStory的架构概览,包括主题定位、受主题驱动的自注意力(Subject Driven Self-Attention, SDSA)和特征注入(Feature Injection)

架构概览(左图)

  • 研究者们在给定一组提示(prompts)的情况下,每一步生成过程中都会在每个生成的图像 中定位主题。
  • 利用到目前为止的每一步生成步骤中的交叉注意力图(cross-attention maps),来创建主题掩码()。
  • 然后,他们将 U-net 解码器中的标准自注意力层替换为主题驱动的自注意力层,这些层能够在批次中的主题实例之间共享信息。
  • 此外,为了额外的细化,他们还添加了特征注入(Feature Injection)。

主题驱动的自注意力(右图)

  • 自注意力层被扩展,使得生成图像 中的查询(Query)也能够访问批次中所有其他图像(​,其中)的键(Keys),这受到它们各自的主题掩码 的限制。
  • 为了丰富多样性,研究者们采取了以下两个策略:
    1. 通过丢弃(dropout)削弱 SDSA,这有助于减少不同图像间共享注意力的影响,从而增强布局的多样性。
    2. 将查询特征(Query features)与非一致性采样步骤中得到的香草查询特征(vanilla Query features)混合,从而产生新的查询特征

这种设计允许模型在生成图像时,不仅关注当前图像内的相关信息,还能够考虑到批次中其他图像的主题信息,从而促进主题在多图像中的一致性。同时,通过引入多样性增强策略,模型能够生成在保持主题一致性的同时,布局和风格上更为多样化的图像。

虽然SDSA能够恢复对提示的对齐并避免背景崩溃,但它可能导致图像布局之间过于相似。为了提高结果的多样性,提出了两种策略:一是结合非一致性采样步骤中获得的特征;二是通过注意力丢弃机制进一步削弱SDSA。使用香草查询特征(Vanilla Query Features)可以在不牺牲一致性的情况下增强姿势的变化。而自注意力丢弃(Self-Attention Dropout)则通过在每次去噪步骤中随机将一部分补丁设置为0,来削弱不同图像之间的注意力共享,从而促进更丰富的布局变化。

共享注意力机制显著提高了主题一致性,但可能在细微的视觉特征上存在挑战,这可能影响主题的身份。因此研究者提出了一种新颖的跨图像特征注入机制,目的是提高批次中不同图像对应区域(例如左眼)的特征相似性。首先,使用DIFT特征为图像对建立一个密集的对应图,然后根据这个图在图像之间注入特征。这个过程通过选择DIFT特征空间中余弦相似度最高的对应补丁来实现,然后将目标图像的自注意力输出层特征与其对应源补丁的特征混合。

特征注入机制,即如何在图像批次中混合特征以进一步细化主题的身份

额外的优化,可以通过指定生成图像的子集作为“锚定图像”来减少方法的计算复杂性。在SDSA步骤中,不是在所有生成图像之间共享键和值,而是只允许图像观察来自锚定图像的键和值。类似地,在特征注入中,只考虑锚定图像作为有效的特征源。这样不仅可以加快推理速度并减少VRAM需求,还可以通过限制扩展注意力的大小来提高大批量生成的质量。最重要的是,现在可以在新场景中重用相同的主题,通过创建一个新的批次,使用相同的提示和种子重新创建锚定图像,但非锚定提示已经改变。

基于个性化的方法在保持单个图像中多个主题的一致性方面,ConsiStory可以通过简单地合并主题掩码来实现多主题一致性生成。当主题在语义上不同时,它们之间的信息泄露不是问题。这是由于注意力softmax的指数形式,它作为一个门控,抑制了不相关主题之间的信息泄露。同样,在特征注入期间阈值化对应图也会产生防止信息泄露的门控效果。

实验

研究者确立了几个基线模型以进行比较。这些包括:(1) 未经调整的SDXL模型作为起点;(2) 基于优化的个性化方法,这些方法通过微调模型的部分结构来使模型学习描述新主题的词汇,例如文本反转(TI)和DreamBooth-LoRA(DB-LORA);(3) 基于编码器的方法,它们通过接受单个图像作为输入,然后为扩散模型提供条件码,如IP-Adapter、ELITE和E4T。除了ELITE之外,所有这些基线都是基于预训练的SDXL模型。对于ConsiStory,研究者采用了两个锚定图像并设置了0.5的丢弃率。

研究者通过定性比较展示了ConsiStory在保持主题一致性和遵循文本提示方面的卓越性能。如图4所示,ConsiStory能够在不同的初始噪声输入下生成多样化且一致的图像集合。相比之下,基于优化的个性化方法在训练图像上的拟合效果要么过强导致缺乏变化,要么不足导致无法维持一致性。IP-Adapter在匹配复杂提示时也显示出了困难,特别是当涉及到风格变化时。ConsiStory成功实现了主题的一致性和文本对齐。

ConsiStory方法与其他方法(如IP-Adapter、TI、DB-LoRA)的定性比较结果
在不同的初始噪声输入下,ConsiStory生成的一致图像集合
ConsiStory在生成多个一致主题方面的比较结果,与其他方法相比,ConsiStory能够更好地保持多个主题的一致性

研究者进一步使用自动化指标进行了定量评估。他们使用每个基线生成了100组图像,每组包含5张在不同提示下描绘同一主题的图像。评估用的提示是利用ChatGPT生成的,包括主题描述、场景描述和风格描述三个部分。研究者使用CLIP分数来衡量生成图像与条件提示之间的相似度,并使用DreamSim来评估图像间的相似性,特别关注了主题一致性。

主题一致性与文本相似性之间的对比,ConsiStory在这两个方面都达到了最优平衡

尽管ConsiStory是一种无需训练的方法,但通过大规模用户研究,研究者发现用户通常更偏好ConsiStory生成的图像,无论是在主题一致性还是文本对齐方面。用户研究采用了两种问题类型:(1) 主题一致性,用户需要选择展示同一主题特征的图像集合;(2) 文本对齐,用户需要选择最符合文本描述的图像。

用户研究结果。无论是在主题一致性还是文本相似性方面参与者普遍偏好ConsiStory生成的图像

研究者还对主要方法的运行时间进行了分析,重点是它们达到一致性主题的时间(TTCS)。ConsiStory实现了最快的TTCS结果,即在H100 GPU上生成两个锚定图像和基于新提示的图像仅需32秒,这一速度是现有最先进方法的25倍。

为了评估ConsiStory中不同组件的影响,研究者进行了消融研究,涉及SDSA步骤、特征注入(FI)、注意力丢弃和查询特征混合等组件。定性和定量结果表明,去除这些组件中的任何一个都会导致一致性降低。

组件消融研究的结果,包括移除SDSA、FI以及变化丰富策略后的影响

研究者还展示了ConsiStory与现有引导生成工具如ControlNet的兼容性,并演示了无需训练的个性化,即ConsiStory能够在没有任何调整或编码器使用的情况下实现个性化。

ConsiStory与ControlNet集成,用于生成具有姿势控制的一致性角色

图 11 展示了 ConsiStory 方法与 ControlNet 的集成能力。ControlNet 是一种用于引导图像生成的工具,它允许用户通过控制特定参数来影响生成图像的特定方面,例如姿势或布局。 

无需训练的个性化,ConsiStory使用编辑友好的逆转实现了无需调整或编码器使用的个性化

图 12 展示了 ConsiStory 方法的一个扩展应用——无需训练的个性化(Training-Free Personalization)。这项技术允许用户使用少量特定主题的图像来生成一致性高的新图像,而无需对模型进行额外的训练或调整。

ConsiStory通过其创新的架构和策略,在保持主题一致性和文本对齐方面展现出了卓越的性能,同时大幅提高了图像生成的速度,减少了对计算资源的需求。然而,这项技术也存在一些局限性。其一ConsiStory依赖于通过交叉注意力图准确定位图像中的主题,这在处理某些不寻常的风格或复杂场景时可能会遇到挑战。其次,该方法在分离主题的外观和风格方面仍有困难,这限制了它在多样化风格生成上的能力。尽管在减少模型偏见方面取得了进展,但SDXL模型本身的某些倾向可能仍然存在,这需要进一步的研究和改进。

ConsiStory方法的一些局限性,包括在处理同一图像集合中的不同风格时的挑战,以及对正确定位主题的依赖性
模型偏差问题。即底层SDXL模型可能对某些群体存在偏见,以及ConsiStory方法如何通过在提示中突出特定群体来减少这些偏见

论文链接:https://arxiv.org/abs/2402.03286 

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

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

相关文章

2.2.1 ROS2案例以及案例分析

1.案例需求 需求1:编写话题通信实现,发布方以某个频率发布一段文本,订阅方订阅消息,并输出在终端。 需求2:编写话题通信实现,发布方以某个频率发布自定义接口消息,订阅方订阅消息,并…

在docker配置Nginx环境配置

应用于商业模式集中,对于各种API的调用,对于我们想要的功能进行暴露,对于不用的进行拦截进行鉴权。用于后面的付费 开发环境 正式上线模式 一、常用命令 停止:docker stop Nginx重启:docker restart Nginx删除服务&a…

Liunx网络配置

文章目录 一、查看网络配置永久修改网卡临时修改网卡 二、查看主机名称 hostname三、查看路由表条目 route四、查看网络连接情况netstat五、获取socket统计信息ss六、查看当前系统中打开的文件和进程的工具lsof七、测试网络连通性ping八、跟踪数据包 traceroute九、域名解析 ns…

【vmbox centos7 网络配置】【centos7 glances 安装】【centos7 安装MySQL5.7】

文章目录 vmbox centos7 网络配置centos7 修改镜像地址centos7 安装 glancesCentOS 7 上安装 MySQL 5.7 并进行基本的安全配置使用 firewalld 开放 3306 端口 可以远程连接mysql vmbox centos7 网络配置 目前 能组建集群 虚拟机网络互通,虚拟机能访问外网 创建一个…

FlinkCDC-3.1.1 DataStream Source

问题&#xff1a; Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.catalog.ObjectPath 解决&#xff1a; 在poml文件中&#xff0c;导入的flink-table依赖把“ <scope>”去掉 <properties><maven.compiler.source>8</maven.compi…

链串算法库构建

学习贺利坚老师链串算法库 数据结构之自建算法库——链串_串数据结构-CSDN博客 本人详细解析博客 串的链式存储及其基本操作实现_串链式存储的操作-CSDN博客 版本更新日志 V1.0 : 结合顺序串操作, 使用链串进行优化, 此次链串, 空间将不受限制, 只写了最基本的操作, 相当于 单链…

地级市空气质量指数AQI、环境污染PM2.5、SO2

2015-2021年地级市月度空气质量数据&#xff08;AQI、SO2、NO2、PM2.5、PM10、O3、CO&#xff09; 目录 探究环境污染对经济增长的影响 一、引言 二、数据来源与描述性统计 三、实证模型 &#xff08;一&#xff09;模型设定 &#xff08;二&#xff09;变量说明 四、程…

经典递归分析

在前面一篇中, 已经看过许多直观的递归的例子, 在这篇里, 将分析两个经典的递归问题, 阶乘与菲波那契数列数列, 在此过程中, 还将对比递归与循环(迭代)间的异同, 探讨递归与内存中的栈的关系, 以及递归的效率等问题. 如无特别说明, 示例使用的是 Java, IDE 则为 Eclipse. 阶乘(…

介绍一些好玩且实用的开源的AI工具

介绍一些好玩且实用的开源的AI工具 随着人工智能技术的迅猛发展&#xff0c;开源社区涌现出了许多关于AI的项目&#xff0c;这些项目不仅展示了技术的创新力&#xff0c;也为开发者提供了丰富的工具和资源。本文将介绍几个既有趣又实用的开源人工智能工具&#xff0c;它们不仅…

【电路笔记】-B类放大器

B类放大器 文章目录 B类放大器1、概述2、B类放大器介绍3、推挽式配置4、限制交叉失真5、B类放大器效率6、总结1、概述 我们在之前的文章中已经知道,A 类放大器的特点是导通角为 360,理论最大效率为 50%。 在本文中,我们将详细介绍另一类放大器,称为B类放大器,它是为解决A…

GD32单片机使用TIMER进行外部计数

网上关于使用GD32单片机的ETI引脚作为计数器输入引脚的资料少之又少&#xff0c;此文希望有需要的朋友避免弯路。 我们把ETI引脚作为方波输入引脚&#xff0c;其中ETR输入引脚为PA0。通过查资料得知&#xff1a; 因此将先将引脚进行映射&#xff0c;代码如下&#xff1a; voi…

Linux_进程池

目录 1、进程池基本逻辑 2、实现进程池框架 3、文件描述符的继承 4、分配任务给进程池 5、让进程池执行任务 6、回收子进程 7、进程池总结 结语 前言&#xff1a; 在Linux下&#xff0c;进程池表示把多个子进程用数据结构的方式进行统一管理&#xff0c;在任何时候…

18. JAVA 多线程锁介绍

1. 前言 本节内容主要是对 Java 多线程锁进行介绍&#xff0c;是对锁的一个全方位的概述&#xff0c;为我们对后续深入学习不同的锁的使用方法奠定一个良好的基础。本节内容的知识点如下&#xff1a; 乐观锁与悲观锁的概念&#xff0c;以及两种锁之间的区别&#xff0c;这是并…

【unity实战】使用unity的新输入系统InputSystem+有限状态机设计一个玩家状态机控制——实现玩家的待机 移动 闪避 连击 受击 死亡状态切换

最终效果 文章目录 最终效果前言人物素材新输入系统InputSystem的配置动画配置代码文件路径状态机脚本创建玩家不同的状态脚本玩家控制源码完结 前言 前面我们已经写过了使用有限状态机制作一个敌人AI&#xff1a;【unity实战】在Unity中使用有限状态机制作一个敌人AI 那么玩…

【苍穹外卖】Day1遇到的问题

1、lombok版本不兼容问题 java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module 0x3278991b) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.comp…

Java项目:基于SSM框架实现的毕业论文管理系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的毕业论文管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…

javaScript(九) 数组

] console.log(af.pop()) console.log(af) 第一个输出&#xff1a;{id:2,name:“枷”,score:“98”} 第二个输出&#xff1a;[ {id:1,name:“My”,score:“90”}, {id:3,name:“123”,score:“80”} ] Array.prototype.shift() 删除数组中的第一个元素&#xff0c;该方法…

一个项目学习Vue3---Vue计算属性

观察下面一段代码&#xff0c;学习Vue计算属性 <template><div><span>用户大于10岁的数量&#xff1a;{{ userVue.filter(user>user.age>10).length}}</span><span>用户大于10岁的数量2&#xff1a;{{ userAgeltTen}}</span><sp…

基于轨迹信息的图像近距离可行驶区域方案验证

一 图像可行驶区域方案 1.1 标定场景 1.2 标定步骤 设计一定间距标定场&#xff0c;在标定场固定位置设置摄像头标定标识点。主车开到标定场固定位置录制主车在该位置各个摄像头数据&#xff0c;通过摄像头捕获图像获取图像上关键点坐标pts-2d基于标定场设计&#xff0c;计算…