ICCV23|DenseDiffusion:无需训练显著改进文本到图像生成匹配度!

 
 

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者丨岳廷

编辑丨极市平台

本文首发于极市平台,转载须经授权并注明来源插入公众号名片。

极市导读

 

不需要额外数据集进行微调就可以改善模型对文本和布局条件的遵循程度。 

afc9f04040a0540f426ef07bc535c247.png

paper:https://arxiv.org/pdf/2308.12964v1.pdf

code:https://github.com/naver-ai/DenseDiffusion

要解决的问题:

  1. 现有的文本到图像扩散模型在处理密集描述文本时(也就是当描述文本很丰富,从多个角度多图片进行描述时)往往无法合成逼真的图像,无法反映不同对象的视觉特征,或者将不同对象的特征混合在一起。

  2. 用户难以仅通过文本提示精确控制生成图像的场景布局。

具体来说:

  1. 密集描述文本是指每个文本短语都针对图像的特定区域进行详细描述,而现有模型通常是在只有单短句描述的图像数据集上训练的,所以处理密集描述文本时效果不佳。

  2. 用户希望能对图像的布局有更多控制,如指定不同的对象出现在图像的哪个区域,但仅凭文本提示很难达到这样精细的控制。

本文提出的 DenseDiffusion 方法旨在解决这两个问题,使预训练文本到图像模型可以处理密集描述文本的同时遵循用户指定的布局进行生成。

主要创新点是提出针对模型中间注意力图的调制方法,不需要额外数据集进行微调就可以改善模型对文本和布局条件的遵循程度。这种无需训练的方法避免了每次微调的计算资源消耗。

总的来说,本文工作致力于提高文本到图像生成任务中对条件的控制能力,既能处理详细的文本描述,又能遵循指定的对象布局,能够显著提升根据文本及提示布局生成图像的匹配度。效果示例如下:

13babafc8462e2f3d91d60bf0ee3c86d.png

1. 方法

本文目标是在不需要微调的情况下提高文本到图像模型反映文本和空间条件的能力。将条件定义为一组N个段,,其中每个段,描述一个区域,如图3所示。这里是完整文本描述文本的非重叠部分,表示每个区域的二值图。给定输入条件,本文调制所有注意力层的注意力图,以便中描述的对象能够在对应的区域中生成。为了保持预训练模型的生成能力,本文设计调制以考虑原始注意力分数的数值范围和每个段的面积。

9a24211420115abe75813415026ba2d8.png 4f32993333a7e7b01b16ba6f6f8b9ee4.png

1.1. 基础

扩散模型通过从随机噪声映射开始进行连续去噪步骤来学习生成图像。预定义的去噪步数确定每个步骤的噪声程度,根据给定输入训练的依赖时间步的噪声预测网络εθ被用来预测添加到给定输入的噪声ε。如果任务是使用条件信息c(如文本描述文本或语义分割图)生成图像,则可以通过交叉注意力层提供条件。本文使用Stable Diffusion,在LAION数据集上进行训练。在本文的实验中,因观察到超过该范围没有明显改进,仅将注意力调制应用于初始去噪步骤(t = 1 ∼ 0.7)。

注意力层。 注意力层是Stable Diffusion的构建块之一,根据注意力图更新中间特征,参考内容特征,其中

Q和K分别是从中间特征和内容特征映射的查询和键值。d表示键和查询特征的长度。

在自注意力层中,中间特征也用作内容特征,通过连接不同区域的图像标记,允许本文合成全局一致的结构。同时,交叉注意力层根据输入文本描述文本c的文本特征更新条件,文本特征是用CLIP文本编码器从输入文本描述文本c编码的。

注意力分数分析。 受文本条件约束的扩散模型倾向于在早期阶段形成每个对象的位置和外观,并在相对较晚的阶段精炼细节,如颜色或纹理变化。通过分析从Stable Diffusion产生的16×16注意力图展示了类似的趋势。本文首先使用MS-COCO验证集中的250个描述文本合成图像。如图2所示,随着生成的进行,注意力图趋于类似图像布局。表1的定量分析显示注意力分数之间存在明显差异,这取决于查询-键对是否属于同一对象的交叉注意力层和自注意力层。这表明属于同一对象的查询-键对在生成过程中倾向于具有更大的分数。

ec4ee1a304b9e02d0e2296b3a1d128f0.png

1.2. 布局引导注意力调制

对注意力图的分析结果激发本文在生成过程中进行干预,并调制原始分数以更好地反映文本和布局条件。具体来说,调制注意力图,如下所示:

其中查询-键对条件映射定义是否为特定对的分数增加或减少。如果两个标记属于同一段,则它们形成一个正对,其注意力分数将增加。否则,它们形成负对,其注意力会降低。

由于交叉注意力层和自注意力层的不同,R对这两层进行单独定义。引入矩阵和以考虑原始值范围,旨在保留预训练模型的生成能力。为进一步根据每个对象的大小调整调制程度,计算表示每个查询标记所属遮罩区域百分比的矩阵S。

最后,观察到随着时间步t接近零,大的修改可能会降低图像质量。因此,使用标量λ按照下面的幂函数调整调制程度:

其中时间步,已被标准化。本文为交叉注意力层和自注意力层使用不同的系数和。

交叉注意力层的注意力调制。 在交叉注意力层中,中间图像特征根据文本特征进行更新,构建了对象的外观和布局。它们被反映的程度和位置由图像标记和文本标记之间的注意力分数决定。因此,修改交叉注意力图,以诱导某些文本特征根据其对应的布局条件聚集在特定区域,查询-键对条件映射定义如下:

其中是二值图,重新调整大小以匹配每个层的空间分辨率。是向量,将标记索引映射到段索引。如果第j个文本标记不是N个段的任何一个的一部分,则置零。

自注意力层的注意力调制。 自注意力层允许中间特征互相作用以创建全局一致的结果。本文注意力调制旨在限制不同段之间的通信,以防止不同对象的特征混合。具体来说,增加同一段中标记的注意力分数,并降低不同段中标记的注意力分数。目标的查询-键对条件映射定义如下:

适应值范围的注意力调制。 由于本文方法改变了原始去噪过程,因此可能会损害预训练模型的图像质量。为了减轻这种风险,根据原始注意力分数的范围调制值。计算以下矩阵,确定每个查询的最大值和最小值,以确保调制后的值接近原始范围。调整与最大值(对于正对)或最小值(对于负对)之间的差值成比例。

最大值和最小值操作返回每个查询的最大值和最小值向量,最初产生维向量。为了恢复原始尺寸,本文沿键轴复制值。

遮罩面积自适应注意力调制。 观察到如果段之间存在大面积差异,则会出现明显的质量下降。具体来说,如果一个段的面积比其他段小得多,可能无法生成逼真的图像。为解决这个问题,在等式2中使用矩阵S来根据每个段的面积自动调整调制程度:增加小段的程度并减少大段的程度。为了计算矩阵S,首先计算每个查询标记所属遮罩的面积百分比,然后沿键轴复制值。

实现细节。 使用在LAION数据集上训练的Stable Diffusion。在本文的实验中,因观察到超过该范围没有明显改进,因此仅将注意力调制应用于初始去噪步骤(t = 1 ∼ 0.7)。等式3中的超参数设置如下:, = 1用于交叉注意力层,用于自注意力层。为进一步增强本文方法的有效性,用每个文本段单独编码的文本特征替换了文本特征的一部分。这种策略在文本描述文本包含多个密切相关的对象时特别有用,例如微波炉和烤箱。

2. 实验

2.1. 评估设置

指标。 根据两个标准评估每个方法:遵循文本提示的保真度和与布局条件的对齐。对于文本提示,计算 CLIP 分数,它衡量输入文本特征与生成图像特征之间的距离,以及使用YOLOv7检查描述的对象是否出现在生成的图像中的SOA-I分数。在布局对齐方面,将YOLOv7预测的分割图与给定的布局条件相比较,计算IoU分数。进一步评估裁剪对象图像的CLIP分数(局部CLIP分数),以检查生成的对象是否遵循详细描述。由于Composable Diffusion和Structure Diffusion不接受布局条件,因此在比较中被排除。

基准。 将本文方法与各种无需训练的方法进行比较,这些方法旨在提高针对密集描述文本的预训练Stable Diffusion的保真度。

数据集。 整理一个新的评估数据集,其中包含每个段的详细描述。具体来说,从MS-COCO验证集中选择了具有两个或多个唯一对象的250个样本。然后手动将每个分割掩模的类标签替换为从描述文本中提取的短语; 例如,“狗”改为“一只黑白相间的狗”。为每段描述文本生成四张随机图像,每个基准用于评估的1000张图像。

2a2c89cef5377c5b4d261cafa75326f3.png

用户研究。 使用Amazon Mechanical Turk进行用户研究。对于每个任务,本文向用户展示两组4张图像以及相同的输入条件。他们被要求根据以下标准之一选择更好的图像集:遵循文本条件同时反映关键对象的详细描述或遵循布局条件准确描绘对象。本文以随机顺序展示每对图像,并从不同用户收集三个评级。表2和3中的分数显示用户选择DenseDiffusion而不是基准的百分比。50%意味着DenseDiffusion和基准具有相同的偏好,大于50%的值表示更多用户选择DenseDiffusion而不是基准。

f2f4b359e4f43e0c5181b9d870daf067.png

2.2. 结果

评估遵循文本条件的保真度。 在图4中,本文将DenseDiffusion与所有基准方法进行了比较,这些方法都是针对密集描述文本生成的图像。基准方法有时会遗漏一个或多个在文本描述文本中描述的对象,而本文的结果更忠实地反映了文本和布局条件。特别是与SD-Pww的比较突出了本文的无需训练调制方法的有效性。

f2e2daf8580676d3d1815334f6c0b96a.png

表2中的定量评估结果显示出一致的趋势。无论是自动评估还是人工评估,DenseDiffusion都优于其他方法。但由于Stable Diffusion和YOLOv7分别用于LAION和MS-COCO训练,SOA-I似乎与人工评估结果的相关性较弱。有趣的是,如果推理方法偏离原始推理太多,性能往往会显著受损,正如Composable Diffusion那样。

535b83a21aaa29a52eeadd5396ff1f1e.png

遵循布局条件的保真度的评估。 为评估遵循布局条件的保真度,本文只比较SD-Pww的结果,因为它是唯一可以控制图像布局的基准。图4、5和表3表明,DenseDiffusion大大优于SD-Pww。SD-Pww不仅无法忠实地反映布局条件,还倾向于混合不同对象的特征或省略关键对象。特别是IoU分数的实质性差异表明,DenseDiffusion更有效地反映布局条件。图6显示,本文的方法很好地响应各种条件,这些条件是通过在给定文本条件的基础上更改部分内容创建的,例如对象类型或图像风格,同时保持原始布局条件。

d4883ddb29483b6c0df2ee1772b398d3.png

与布局条件化模型的比较。 为了强调DenseDiffusion作为一种无需训练的方法同样有效,本文进一步将其与MAS和SpaText进行了比较,后两者都是使用布局条件进行训练的文本到图像模型。MAS使用标记化的语义分割图作为额外条件,SpaText根据布局条件在Stable Diffusion中微调了空间拼接的CLIP图像特征。由于这些模型不可公开获得,本文使用SpaText原文中给出的示例。图5表明,在各种概念方面,DenseDiffusion可以反映布局条件,其效果与MAS相当,有时甚至更好。

消融研究。 下面本文评估DenseDiffusion中使用的每个组件:(a) 交叉注意力层上的注意力调制,(b) 自注意力层上的注意力调制,(c) 适应值范围的注意力调制,和 (d) 遮罩面积自适应注意力调制。

067dc0fdf2b33615acf5c27748d5b695.png

本文首先在图7中呈现消融研究的视觉结果。每行中的所有图像都是使用相同的初始噪声图生成的。如列w/o (a)和w/o (b)所示,交叉注意力层和自注意力层上的注意力调制对满足文本和布局条件都至关重要。列w/o (c)中的图像表明,适应值范围的调制进一步提高了方法对给定条件的保真度。最后,根据列w/o (d),该方法倾向于创建单调背景,如图7所示。虽然它可能与逼真图像不同,但它更容易用于分割模型来预测分割图。因此,它有助于获得与布局条件相关的良好指标分数,但并不总是满足文本条件。

d75968bb5b3af1594ac9573264300ae0.png

表4中,本文使用自动指标评估各种消融方法。结果表明,除了组件(d)之外,删除每个组件都会导致所有指标分数显着下降。如IoU分数的明显下降所示,消融方法无法实现对布局条件的高保真度。当省略交叉注意力层上的注意力调制时,观察到最大的性能降低,因为文本特征在构建图像布局方面发挥着关键作用。此外,在不考虑值范围的情况下调制分数也导致所有指标出现下降。这些发现共同确认,本文的注意力调制高效地在不损害预训练模型生成能力的情况下提高了对给定条件的保真度。

关于组件(d),本文将这个例外视为消融方法倾向于创建单调背景的结果,如图7所示。虽然它可能与逼真图像不同,但它更容易用于分割模型来预测分割图。因此,它有助于获得与布局条件相关的良好指标分数,但并不总是满足文本条件。

3. 结论

本文提出了DenseDiffusion,一种无需训练的方法,可以提高预训练文本到图像模型对密集描述文本的保真度,并实现图像布局控制。本文的发现表明,考虑值范围和段大小可以显着改进本文的注意力调制方法。实验结果表明,DenseDiffusion在各种评估指标上优于其他方法。值得注意的是,本文的无需训练方法提供了与专门用于此任务的现有模型训练所获得的布局控制相当的效果。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值