DenseDiffusion:Dense Text-to-Image Generation with Attention Modulation

1 研究目的

该文献的研究目的主要是:

探讨一种更为广泛的调制方法,通过设计多个正则化项来优化图像合成过程中的空间控制。论文的大致思想是,在现有的基于数据驱动的图像合成系统基础上,通过引入更复杂的调制策略,实现对文本描述和空间控制更为精确的图像合成。

在研究中,作者发现了以下问题:

现有的文本到图像扩散模型很难在给定密集字幕的情况下合成逼真的图像,并且倾向于省略或混合不同对象的视觉特征。其中每个文本提示为特定图像区域提供详细的描述,用户很难仅使用文本提示精确控制生成图像的场景布局。有些模型提供了对图像布局的控制,但它们通常需要每次重新训练新的控制类型或增加推理时间。

为了解决这些问题,作者提出了一种新的方法:

提出了 DenseDiffusion,这是一种无需训练的方法,它采用预训练的文本到图像模型来处理这种密集的字幕,同时提供对场景布局的控制。

  • 首先分析了生成的图像布局与预训练模型的中间注意图之间的关系,以表明生成的图像的布局与自我注意和交叉注意图显著相关,但专注于空间控制而不是图像编辑的图像合成。
  • 接下来,基于这一观察,动态根据布局条件调节中间注意力图,开发了一种注意力调制方法,根据布局引导对象出现在特定区域。不需要额外的微调或数据集
  • 进一步提出考虑原始注意力分数的值范围并根据每个片段的面积调整调制程度。

该方法基于自注意力和交叉注意力映射,通过实时调制中间注意力映射来适应布局条件。

此外,作者还考虑了原始注意力得分的值范围,并根据每个区域的面积调整调制的程度。

这种方法旨在更准确地反映文本和布局条件,从而提高图像合成的质量和灵活性

2 方法介绍

2.1 前期介绍

2.1.1 注意力分数分析

通过分析稳定扩散产生的16 × 16注意图来展示类似的趋势。

随着图像生成的进行,注意力图往往类似于上面的图像布局。

  • 在 (a) 中,可视化了“sloth”和“beer”的交叉注意力图。感兴趣的对象用蓝色和黄色的边界框概述。
  • 在 (b) 中,展示了自注意力层中红框中标记的标记键注意力图。
  • 由于时间步 t 接近零,属于同一对象的标记更仔细地通信,影响图像布局。

匹配键和未匹配键的注意力分数分析。首先,YOLOv7检测对象边界框。

  • 在交叉注意力层的上下文中,如果键的文本标记与框的类标签匹配,定义一个匹配键。
  • 在自注意力层中,框内的图像标记有资格作为匹配的键。
  • 在这两个层中,匹配的键始终比不匹配的键具有更高的平均值和最大注意力值;属于同一对象的查询键对在生成过程中往往具有更大的分数。

为什么要进行匹配键和为匹配键的注意力分数分析?

      其目的主要是为了探究和解释在自注意力层和交叉注意力层中,注意力机制是如何运作的,以及这种机制如何影响图像的生成过程。

首先,匹配键和未匹配键的区分是基于查询-键对是否属于同一对象。在注意力机制中,每个查询都会与所有的键进行匹配,计算得到一个注意力分数,这个分数决定了在生成新特征时,应该给予哪些键(即哪些位置或特征)多大的权重。

对于匹配键,即查询和键属于同一对象的情况,理论上,它们之间的注意力分数应该更高,因为模型需要确保同一对象内的信息能够得到有效传播和整合。

对于未匹配键,即查询和键属于不同对象的情况,注意力分数可能相对较低,以避免不同对象之间的特征混淆。

通过对比匹配键和未匹配键的注意力分数,可以验证模型的注意力机制是否按照预期工作。

  • 如果匹配键的分数显著高于未匹配键,那么说明模型能够有效地识别和整合同一对象内的信息。
  • 如果两者分数相差不大,或者未匹配键的分数过高,可能意味着模型在处理不同对象时存在混淆,需要进一步优化。

此外,这种分析还有助于理解模型在生成过程中的不同阶段如何利用注意力机制的

  • 早期阶段,模型可能更注重位置和对象的基本形状,
  • 后期阶段,可能更注重细节和纹理。

通过比较不同阶段的注意力分数,可以揭示模型在生成过程中的这种变化趋势。

2.1.2 注意力层

注意层是稳定扩散的构建块之一,它根据注意图A∈R|query|×|keys|更新中间特征,定义如下:

其中 Q 和 K 是查询和键值,每个值都从中间特征和上下文特征映射。这里 d 表示键和查询特征的长度。

  • 自注意力层中,中间特征也用作上下文特征,允许我们通过连接不同区域的图像标记来合成全局连贯的结构。
  • 交叉注意力层更新以文本特征为条件,这些特征使用 CLIP 文本编码器从输入文本标题 c 编码。

2.2 布局引导注意调制

上述的注意力图的分析结果促使作者干预生成过程调制原始分数以更好地反映文本和布局条件。具体来说,我们将注意力图调制如下:

引入了矩阵 Mpos、Mneg ∈ R|query|×|keys|来考虑原始值范围,旨在保留预训练模型的生成能力。为了进一步根据每个对象的大小调整调制程度,计算矩阵S∈R|query|×|keys|,表示每个图像查询标记的段面积。

其中每个段\left ( c_{n} ,m_{n}\right )描述单个区域,如上图所示。

这里c_{n}是全文标题c的非重叠部分

m_{n}表示表示表示每个区域的二值映射

A是注意力图

A'是调制后的注意力图

给定输入条件,我们动态调制所有注意力层的注意力图,以便 c_{n}描述的对象可以在相应的区域m_{n}中生成。为了保持预训练模型的生成能力,作者设计了调制来考虑原始值范围和每个片段的面积。

2.2.1 交叉注意力层注意调制

在交叉注意力层中,根据文本特征更新中间图像特征,这些特征构建对象的外观和布局。它们反映的程度和位置由  图像标记和文本标记  之间的注意力分数决定。因此,我们修改了交叉注意力图,以根据其相应的布局条件 m_{n}在特定区域中聚合某些文本特征

2.2.2 自我注意力层注意调制

自注意力层允许中间特征相互交互以创建全局连贯的结果。

注意力调制旨在限制不同段标记之间的通信,从而防止不同对象特征的混合。具体来说,增加了同一段中标记的注意力分数,并将其减少到不同段中的标记的注意力得分来实现其目的。

这样做可以使得自注意力层更好地反映文本和布局条件,使得属于同一对象的图像标记对在自注意力层中展现出更高的得分。

2.2.3 值范围自适应注意调制

由于作者的方法改变了原始的去噪过程,它可能会破坏预训练模型的图像质量。

为了减轻这种风险,根据原始注意力分数的范围调制值。

计算以下矩阵来识别每个查询的最大值和最小值,确保调制值保持在原始范围附近。因此,调整与原始值和最大值(对于正对)或最小值(对于负对)之间的差异成正比

2.2.4掩码区自适应注意调制

当段之间存在较大的面积差异时,观察到明显的质量下降。

具体来说,如果一个段的面积比其他段小得多,我们的方法可能无法生成逼真的图像。

为了解决这个问题,使用等式 2 中的矩阵 Sin 来根据每个片段的面积自动调整调制程度:增加小段的程度并减少大段。为了计算矩阵 S,首先计算每个查询标记所属的掩码的面积百分比,然后沿键轴复制值。

什么是段之间的面积差异大?

在图像处理、计算机视觉或相关领域中,经常需要将图像划分为不同的区域或段(segments),这些段可以基于颜色、纹理、形状等特征进行区分。

这些段可能代表了图像中的不同对象、部分或场景。当这些段之间的面积存在显著差异时,即有的段面积很大,而有的段面积很小,就可能对后续的图像处理任务产生不利影响。

2.2.5 实施细节

  • 使用在LAION数据集上训练的稳定扩散
  • 在实验中,只对初始去噪步骤 (t = 1 ∼ 0.7) 应用注意力调制,因为观察到除了这一点之外没有明显的改进。
  • 为了进一步提高方法的有效性,将文本特征的部分替换为每个文本段c_{n} 的单独编码部分。当文本标题包含多个密切相关的对象(例如微波和烤箱)时,这种策略特别有用。

3 评估

3.1 评估设置

3.1.1 评估指标

根据两个标准评估每种方法:文本提示的保真度与布局条件对齐

对于文本提示:

  •  CLIP-Score ,它测量输入文本特征和生成的图像特征之间的距离,
  • 使用 YOLOv7 的 SOA-I 分数来检查所描述的对象是否存在于生成的图像中。

对于布局对齐方面:

  • 比较了YOLOv7预测的分割图相对于给定布局条件的IoU分数。
  • 进一步评估了裁剪对象图像(Local CLIP-score)上的CLIP-scores,以检查生成的对象是否遵循详细的描述。

由于  可组合扩散   和   结构扩散  不采用布局条件,因此将它们排除以进行公平比较。

3.1.2 数据集

作者策划了一个新的评估数据集,其中包含每个片段的详细描述。

具体来说,从 MS-COCO 验证集中选择具有两个或多个独特对象的 250 个样本。然后用从标题中提取的短语手动替换每个分割图的类标签;例如,“狗”到“黑白狗”。为每个标题生成四个随机图像,导致评估中使用的每个基线有 1,000 张图像。

3.1.3 用户研究

使用 Amazon Mechanical Turk 进行用户研究。

对于每个任务,向用户展示两组 4 张图像以及相同的输入条件。他们被要求根据以下任一标准选择更好的集合:对文本条件的保真度,同时反映关键对象的详细说明或对布局条件的保真度,并准确描述对象。

以随机顺序呈现每一对,并从唯一用户那里收集三个评级。

3.2 实验结果

3.2.1 文本条件保真度的评估

在该图 4 中,将 DenseDiffusion 与使用密集字幕生成的图像的所有基线进行比较。

虽然基线方法有时会省略文本标题中描述的一个或多个对象,但作者的结果更忠实于文本和布局条件。特别是,与 SD-Pwww 的比较突出了我们的无训练调制方法的有效性。

 SD-Pwww 和作者的方法 DenseDiffusion 支持分割图进行布局控制。

文本条件保真度的定量评估结果。

我们将我们的方法与各种无训练方法进行比较,这些方法旨在在使用密集字幕时提高预训练的稳定扩散的保真度。由于 eDiffi 模型没有公开,使用在稳定扩散 (SD-Pww) 上实现的 Pwww 进行了实验。

由于LAION和MS-COCO之间的域差距,SOA-I似乎与人类评估结果松散相关,分别用于训练稳定扩散和YOLOv7。有趣的是,当推理方法与原始方法的变化太大时,性能往往会受到显着影响,如可组合扩散的情况所示。

3.2.2 布局条件保真度的评估

为了评估布局条件的保真度,只与 SD-Pww 的结果进行比较,SD-Pww 是唯一可以控制图像布局的基线。

可以看一下表和图,得到DenseDiffusion 大大优于 SD-Pwww。S

D-Pww不仅不能忠实地反映布局条件,而且倾向于混合不同的对象特征或省略关键对象。特别是,IoU 分数的显着差异表明 DenseDiffusion 在反映布局条件方面更有效。

表 3:布局条件保真度的定量评估结果。我们只与 SD-Pww进行比较,因为它是使用分割图的唯一基线。

3.2.3 与布局条件的模型比较

为了突出DenseDiffusion 即使在无训练方法的情况下也能有效,我们进一步与 MAS 和 SpaText 进行了比较,它们都是使用布局条件训练的文本到图像模型。

MAS 使用标记化的语义分割图作为附加条件

SpaText 根据布局条件微调具有空间飞溅的 CLIP 图像特征的稳定扩散。由于这些模型没有公开,我们使用原始 SpaText 论文中呈现的示例。

下图 5 显示 DenseDiffusion 可以相对反映布局条件,甚至优于不同概念的 MAS。

图 6 显示,作者的方法可以很好地响应通过改变给定文本条件的一部分创建的各种条件,例如对象类型或图像样式,同时保持原始布局条件。

3.3 消融实验

下面评估DenseDiffusion中使用的每个组件:

(a)交叉注意层的注意调制

(b)自我注意层的注意调制

(c)值范围自适应注意调制

(d)掩码区域自适应注意调制

我们首先展示了我们在图7中消融研究的视觉结果。同一行中的所有图像都是从相同的初始噪声图生成的。

  • w/o (a) 和 w/o (b) 列所示,交叉注意力层和自注意力层中的注意力调制对于满足文本和布局条件至关重要。
  • w/o (c) 列中的图像表明,值范围自适应调制进一步提高了方法对给定条件的保真度。
  • w/o (d) 列,该方法遵循条件,但产生纹理单调的图像。

结果表明,除了组件 (d) 之外,每个组件的删除都会导致所有指标分数显着下降。

关于组件 (d),将此异常解释为消融方法创建单调背景的倾向的结果,如图 7 所示。虽然它看起来可能与真实图像相距甚远,但分割模型更容易预测分割图。因此,它有助于在与布局条件相关的指标上获得良好的分数,但它并不总是满足文本条件。

4 优点

  • 提出的 DenseDiffusion,是一种无需训练的方法,可以将预训练的文本到图像模型的保真度提高到密集字幕,并实现图像布局控制。
  • 考虑值范围和段大小显着提高了我们的注意力调制方法。
  • DenseDiffusion的无训练方法提供了与专门为此任务训练的现有模型相当的布局控制。

5 限制

DenseDiffusion 有几个限制。

  • 首先,作者的方法高度依赖于其基础模型的容量,稳定扩散。如图 8a 所示,如果 Stable Diffusion 无法产生它们本身,作者的方法无法产生某些对象,例如 jugling 熊。
  • 其次,作者的方法难以处理具有薄结构的细粒度输入掩码,因为自注意力层和交叉注意力层都相当粗糙。如图 8b 所示,作者的方法未能遵循段条件的精细细节,例如叶子的形状。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024.4.23

1.const 修饰 *p。 p所指向地址内的值不可变,p指向的地址可以改变 2.const 修饰 p。 p指向的地址不可变,p所指向的地址的值可变 3.const 修饰 p。 p指向的地址不可变,p所指向地址的值可变 4.const 修饰 *p 和p。p指向的地址和p所指向地址的…

[激光原理与应用-90]:光功率计基本原理

目录 一、光功率计原理 二、光功率计硬件电路 三、光功率计探头 四、接口信号 一、光功率计原理 光功率计是用来测量光功率的仪器,其原理基于光电效应和电信号的检测与处理。 下面是光功率计的基本原理: 光电效应: 光功率计使用光敏元件…

链表的分割

题目 现给定一链表的头指针 phead 以及值 x,需编写一段代码将所有小于 x 节点的排在其余节点之前,且不能改变原来的数据顺序,最后返回重新排列后的链表的头指针。 算法思想 将小于x的尾插在第一个链表 将大于等于x的尾插在第二个链表 最后…

1142 - SELECT command denied to user ···

MySql子账户操作数据库权限不够,提示错误 1142 - SELECT command denied to user database 1142 - ALTER command denied to user database 以下命令可以解决 GRANT SELEC your_database_name TO mysql_account%;

centos7上搭建mongodb数据库

1.添加MongoDB的YUM仓库: 打开终端,执行以下命令来添加MongoDB的YUM仓库: sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo 在打开的文件中,输入以下内容: [mongodb-org-4.4] nameMongoDB Repository baseurlh…

【Mysql】用frm和ibd文件恢复mysql表数据

问题 总是遇到mysql服务意外断开之后导致mysql服务无法正常运行的情况,使用Navicat工具查看能够看到里面的库和表,但是无法获取数据记录,提示数据表不存在。 这里记录一下用frm文件和ibd文件手动恢复数据表的过程。 思路 1、frm文件&…

第一个Spring Boot程序

目录 一、Spring Boot介绍 二、创建Spring Boot项目 1、插件安装(专业版不需要) 2、创建SpringBoot项目 (1)这里如果插件下载失败,解决方案: (2)项目启动失败,解决…

Docker镜像与容器操作

一、Docker 镜像操作 1.1 搜索镜像 格式:docker search 关键字 docker search nginx 1.2 获取镜像nginx 格式:docker pull 仓库名称[:标签] 如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest…

SwiftUI 5.0(iOS 17.0)触摸反馈“震荡波”与触发器模式趣谈

概览 要想创作出一款精彩绝伦的 App,绚丽的界面和灵动的动画并不是唯一吸引用户的要素。有时我们还希望让用户真切的感受到操作引发的触觉反馈,直击使用者的灵魂。 所幸的是新版 SwiftUI 原生提供了实现触觉震动反馈的机制。在介绍它之后我们还将进一步…

HBase的简单学习三

一 过滤器 1.1相关概念 1.过滤器可以根据列族、列、版本等更多的条件来对数据进行过滤, 基于 HBase 本身提供的三维有序(行键,列,版本有序),这些过滤器可以高效地完成查询过滤的任务,带有过滤…

Redis中的缓存击穿、缓存穿透、缓存雪崩问题

1.什么是缓存击穿? 客户端恶意访问一个不存在的数据,从而造成穿透缓存,请求直接到达数据库,频繁的发送这一类的请求,直接查询数据库,数据库的压力变大。 1.1如何解决缓存击穿呢? 1&#xff0…

基于harris角点和RANSAC算法的图像拼接matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ....................................................................... I1_harris fu…

【MySQL]】数据库操作指南之数据库的基础操作

🌱博客主页:青竹雾色间 🌱系列专栏:MySQL探险日记 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 ✨人生如寄,多忧何为 ✨ 文章目录 1. 创建数据库2.数据库的编码集与校验集2.1 编码集 (Character…

嵌入式Python基础1-2

嵌入式Python基础1-2 条件语句 if elif else 随机数random eval while循环 for循环 水仙花数 循环else list 列表常用方法 增删改查 加排序 append remove pop index() 升序sort()降序 sort(reverseTrue) 反转 reverse()…

ESP32开发

1、简介 1.1 种类 WIFI模块在PC上做为客户端、服务器,在STM32上做服务器的通讯。在物联网应用开发有重要作用,种类居多,如下图 红色方框的esp8266-01s型号的无限wifi模块就是本章学习的主要对象。 1.2 特点 小巧的尺寸:ESP-01…

SpanBert学习

SpanBERT: Improving Pre-training by Representing and Predicting Spans 核心点 提出了更好的 Span Mask 方案,也再次展示了随机遮盖连续一段字要比随机遮盖掉分散字好;通过加入 Span Boundary Objective (SBO) 训练目标,增强了 BERT 的性…

python自动生成SQL语句自动化

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python自动生成SQL语句自动化 在数据处理和管理中,SQL(Structured …

WAF防范原理

目录 一、什么是WAF 二、纵深安全防御 WAF的组网模式 WAF配置全景 WAF端 服务器 攻击端 拦截SQL注入,XSS攻击,木马文件上传 要求: 使用WAF,通过配置策略要求能防御常见的web漏洞攻击(要求至少能够防御SQL、XSS、文…

毕业设计注意事项

1.开题 根据学院发的开题报告模板完成,其中大纲部分可参考资料 2.毕设 根据资料中的毕设评价标准,对照工作量 3.论文 3.1 格式问题 非常重要,认真对比资料中我发的模板,格式有问题,答辩输一半! 以word…

wireshark RTP分析参数

主要看丢弃和Delta, 丢弃就是丢掉的udp包,所占的比率 Delta是当前udp包接收到的时间减去上一个udp包接收到的时间 根据载荷可以知道正确的delta应该是多少,比如G711A,ptime20,那么delta理论上应该趋近于20. 这里的de…