code:CVPR 2024
MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis
[CVPR 2024] MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis - 知乎
Abstract
我们提出了一个多实例生成(Multi-Instance Generation, MIG)任务,在一个图像中同时生成具有不同控件的多个实例。给定一组预定义的坐标及其相应的描述,任务是确保生成的实例准确地位于指定位置,并且所有实例的属性都符合其相应的描述。这扩大了当前单实例生成研究的范围,将其提升到一个更通用和实用的维度。受分而治之思想的启发,我们引入了一种名为多实例生成控制器(MIGC)的创新方法来解决MIG任务的挑战。最初,我们将MIG任务分解为几个子任务,每个子任务都涉及单个实例的着色。为了保证每个实例的精确着色,我们引入了一个实例增强注意机制。最后,我们聚合了所有阴影实例,以提供在稳定扩散(SD)中准确生成多个实例所需的信息。为了评估生成模型在MIG任务上的执行情况,我们提供了一个COCO-MIG基准以及一个评估管道。在提出的COCO-MIG基准以及各种常用基准上进行了大量实验。评估结果说明了我们的模型在数量、位置、属性和交互方面的卓越控制能力。
Introduction
在具有不同控件的一个图像中同时生成多个实例的更实际的情况很少被探索。
Challenges in MIG. MIG不仅要求实例遵守用户给出的描述和布局,而且还确保所有实例之间的全局对齐。将这些信息直接纳入SD常常导致失败。一方面,当前的文本编码器(如CLIP)难以区分每个单一属性和包含多个属性的提示。另一方面,稳定扩散中的Cross-Attention层缺乏对位置的控制能力,导致在指定区域内生成多个实例时存在困难。
Multi-Instance Generation Controller (MIGC) 将MIG分解为多个子任务,然后将这些子任务的结果组合在一起。虽然SD在MIG中的直接应用仍然是一个挑战,但单实例生成中突出的SD能力可以促进这一任务。如图
MIGC包括三个步骤:
1)Divide: MIGC仅在sd的Cross-Attention层中将mig分解为多个instanceshading子任务,加快每个子任务的分辨率,使生成的图像更加和谐。
2)Conquer:MIGC使用增强注意层(Enhancement Attention Layer)来增强通过冻结的交叉注意(Cross-Attention)获得的着色结果,确保每个实例的着色成功。
3)Combine:MIGC通过Layout Attention层获得遮阳模板,然后将其与遮阳背景和遮阳实例一起输入到遮阳聚合控制器中,从而获得最终的遮阳结果。
Benchmark for MIG. 为了评估生成模型在MIG任务上的表现,提出了一个基于COCO数据集的COCOMIG基准,该基准要求生成模型同时实现对位置、属性和数量的强控制。
贡献:
1)为了促进视觉生成的发展,提出了MIG任务,以解决学术和工业领域的普遍挑战。同时,提出了COCO-MIG基准来评估生成模型固有的MIG能力。
2)受分而治之原则的启发,引入了一种新的MIG方法,通过改进MIG能力来增强预训练的SD。
3)在三个基准上进行了大量的实验,显著超过了以前的SOTA方法。
Related work
Text-to-Image Generation
Layout-to-Image Generation
由于文本不能精确控制生成实例的位置。一些layout -to- image方法[6 Training-free layout control with cross-attention guidance.,32 Guided image synthesis via initial image editing in diffusion model.,34 Glide: Towards photorealistic image generation and editing with text-guided diffusion models,49 Boxdiff,61 Layoutdiffusion]扩展了预训练的T2I模型,将布局信息整合到生成中,实现对实例位置的控制。
Method
Preliminaries
Stable diffusion CLIP text encoder
Attention layers. R表示输出残差
Overview
Problem Definition 在多实例生成(Multi-Instance Generation, MIG)中,用户将给生成模型全局提示符P,实例布局边界框B = {b1,…, bN},其中bi = [xi 1, yi 1, xi 2, yi 2],对应描述D = {d1,…,dn}。根据用户提供的输入,模型需要生成一个图像I,其中框bi内的实例应遵循实例描述di,并确保所有实例的全局对齐。
Difficulties in MIG. 在处理多实例提示时,SD与属性泄漏作斗争,即1)文本泄漏。由于CLIP编码器中使用了因果注意掩码,后一个实例令牌可能会出现语义混淆。2)空间泄漏。交叉注意缺乏精确的位置控制,并且实例会影响彼此区域的生成。
Motivation. 分而治之是一个古老而明智的想法。它首先将一个复杂的任务分解成若干个较简单的子任务,然后分别征服这些子任务,最后将子任务的解组合起来得到原任务的解。这个想法非常适用于米格战斗机。例如,对于大多数T2I模型来说,MIG是一项复杂的任务,而单实例生成是一个更简单的子任务,T2I模型可以很好地解决。基于这一思想,提出了我们的MIGC,它扩展了SD,具有更强的MIG能力。
Divide MIG into Instance Shading Subtasks
Instance shading subtasks in Cross-Attention space. 交叉注意是文本和图像特征在SD中相互作用的唯一途径,输出决定了生成的内容,这看起来像是对图像特征的着色操作。在这个观点中,MIG任务可以定义为对图像特征进行正确的多实例着色,subtask可以定义为找到满足以下条件的单实例着色结果Ri:
其中Rcorrect表示客观存在的正确特征,Mi是根据框bi生成的实例掩码,框区域内的值设为1,其余位置设为0。也就是说,每一个底纹实例在其对应的区域都应该有正确的文本语义。
每个子任务的目标是找到最优的实例特征着色结果Ri,使其在掩码Mi(框内为1,其余为0)区域内尽可能接近客观正确的特征Rcorrect,通过最小化L2范数实现
Two benefits of division in the Cross-Attention space.
1)征服效率更高:对于N个实例生成,MIGC只在Cross-Attention层上征服N个子任务,而不是整个Unet网络,效率更高;
2)更和谐地组合:与网络最终输出的组合相比,在中间层组合子任务增强了生成图像的整体凝聚力。
Conquer Instance Shading
Shading stage 1: shading results of Cross-Attention.
预训练的交叉注意会注意到高注意权重的区域,并根据文本语义进行着色。如图图所示,MIGC使用被遮挡的Cross-Attention输出作为第一个着色结果:
其中Ki和Vi由di的文本嵌入得到,Q由图像特征映射得到。下标 f(代表“first stage”)
Two issues of Cross-Attention shading results.
1)实例合并。根据上述方程,对于具有相同描述的两个实例,它们在Cross-Attention层会得到相同的K和V。如果它们的盒子很接近甚至重叠,网络将很容易合并两个实例;
2)实例丢失。从初始编辑方法可以看出,SD的初始噪声在很大程度上决定了生成图像的布局,即特定区域宁愿生成特定实例,也不愿生成特定实例。如果初始噪声不倾向于根据方框bi中的描述di生成实例,则Ri f较弱,导致实例丢失。
Grounded phrase token for solving instance merge.
为了识别具有相同描述但不同框的实例,MIGC将每个实例的文本标记扩展为文本和位置标记的组合。如图图(a)所示,MIGC首先将边界框信息投影到傅里叶嵌入中,然后使用MLP层获得位置令牌。MIGC将文本标记与位置标记连接起来以获得基础短语标记:
[·] represents the concatenation.
文本与位置信息结合,生成唯一标识符:
-
边界框 bi 通过傅里叶嵌入编码位置特征。
-
MLP 生成位置令牌,与 CLIP 文本令牌拼接
区分相同描述但不同位置的实例,避免键值共享导致的合并。
Shading stage 2: Enhancement Attention for solving instance missing.
如图图所示,MIGC使用可训练的增强-注意(EA)层来增强阴影结果。具体而言,如图图(a)所示,EA在获得扎根短语令牌后,使用新的可训练的CrossAttention层获得增强的着色结果,并将其添加到第一个着色结果Ri f中:
其中Ki ea和Vi ea由grounded phrase tokenGi得到,Qea由图像特征映射得到。
在训练期间,由于Mi保证了精确的空间定位,EA输出的实例着色结果只影响正确的区域,因此EA很容易学习:无论图像特征是什么,EA都应该进行增强的着色,以满足di的文本语义,解决实例缺失的问题。最后,MIGC将增强后的结果Ri s作为子任务的解。
Combine Shading Results
Global prompt residual as shading background.
获得n个实例的着色结果作为着色前景,MIGC的下一步是获得着色背景。如图(c)所示,MIGC利用全局提示符P以类似方程(3)的方式获得遮阳背景结果Rbg,背景掩码为Mbg,其中包含实例的位置赋值为0,而所有其他位置均标记为1。
Layout Attention residuals as shading template.
在着色实例{R1s, . . . ,RNs }和shading background Rbg之间存在一定的间隙。因为它们的遮阳过程是独立的。为了桥接这些遮阳结果并最小化差距,MIGC需要根据图像特征映射的信息学习遮阳模板。如图2所示,在MIGC中使用布局注意层来实现上述目标。如图3(b)所示,布局注意的表现与自注意力机制相似,实例掩码Minst = {Mbg,M1, . . . ,MN}用于构造注意力掩模:
⊙ represents the Hadamard product
A∈R((H,W),(H,W))表示注意掩码,其中A(a,b)(c,d)决定像素(a,b)是否应该关注像素(c,d)。构造的注意掩码A保证了一个像素只能关注同一实例区域内的其他像素,避免了实例间的属性泄漏。
Shading Aggregation Controller for the final fusion.
其中MLA为RLA对应的全1制导掩码。为了动态地聚合生成过程中不同时间步长的着色结果,提出了Shading Aggregation Controller(SAC)。如图3(c)所示,SAC依次执行实例内注意和间注意,并通过softmax函数对每个空间像素上的着色结果赋予聚合权和为1,从而得到最终的着色。
Summary
Training Loss. original denoising loss :
其中,θ表示预训练稳定扩散的冻结参数,θ′表示MIGC参数。
此外,为了将生成的实例约束在其区域内,防止在背景中产生额外的对象,设计了抑制损失来避免背景区域的高关注权:
其中 DNR(⋅)为背景区域去噪操作(如平均滤波)。
其中Ai表示Unet解码器冻结的16 × 16交叉注意层中第i个实例的注意图,DNR(·)表示背景区域的去噪(例如使用平均操作)。
-
约束实例注意力图 Aci 在背景掩码 Mbg(实例区域为0,背景为1)区域内保持低权重。
最终训练损失设计如下:
the loss weight λ as 0.1.
Implementation Details.
只在UNet的中间层(即8 × 8)和最低分辨率的解码器层(即16 × 16)部署MIGC,这在很大程度上决定了生成图像的布局和语义信息[6,33]。在其他交叉注意层中,使用全局提示来进行全局着色。使用COCO 2014培训MIGC。为了获得实例描述及其边界框,使用stanza拆分全局提示符,并使用ground - dino模型检测实例。基于预训练的SDv1.4训练MIGC。使用恒定学习率为1e−4的AdamW优化器,在40个V100 gpu,每个VRAM为16GB的情况下,训练300个epoch,批大小为320,需要15个小时。对于推理,使用EulerDiscreteScheduler[22]和50个示例步骤,并在前25个步骤中使用MIGC。选择CFG刻度为7.5。
Experiments
Benchmarks
三个基准上评估模型的性能:COCO-MIG、COCO-Position和DrawBench。使用8个种子为每个提示符生成图像。
In COCO-MIG 注意位置、颜色和数量。为了构建数据集,随机采样800张COCO图像,并在保持原始布局的同时为每个实例分配一种颜色。此外,以“a <attr1><obj1>和a <attr2> <obj2>和a…”的格式重构全局提示符。根据生成图像中的实例数量将该基准分为五个级别。每种方法将生成6400张图像。
In COCO-Position 采样了800张图片,使用标题作为全局提示,标签作为实例描述,边界框作为布局来生成6400张图片。
Drawbench 是一个具有挑战性的T2I基准。使用GPT4[15,35]提取所有实例描述并生成每个提示符的布局。总共使用64个提示,其中25个与颜色有关,19个与计数有关,20个与位置有关,最终生成512张图像。
Evaluation Metrics
Position Evaluation. 使用groundingdino来检测每个实例,并计算检测盒和真实值盒之间的最大IoU。如果上述IoU高于阈值t=0.5,将其标记为正确生成的位置。
Attribute Evaluation. 对于Position correct Generated实例,使用ground - sam模型[25,29]对其进行分割,并计算目标颜色在HSV颜色空间中的百分比。如果上述百分比超过阈值S=0.2,将其表示为完全正确生成。
Metrics on COCO-MIG. 主要测量实例Success Rate和mIoU。成功率计算每个实例完全正确生成的概率,mIoU计算所有实例的最大IoU的平均值。注意,如果颜色属性不正确,将IoU值设置为0。
Metrics on COCO-Position 使用Success Rate、mIoU和ground - dino AP评分来衡量空间精度。成功率表示一个图像中的所有实例是否正确生成位置。此外,还使用了初始化距离(FID)[16]来评估图像质量。为了测量图像-文本一致性,使用CLIP分数和Local CLIP分数[1]。
Metrics on DrawBench. 评估与位置相关的图像的成功率,并通过检查每个图像中的所有实例是否正确生成位置来计数。对于颜色相关的图像,检查是否所有的实例都是完全正确生成的。除了自动评估之外,还进行了手动评估。
Baselines
与SOTA布局到图像的方法比较:Multi-Diffusion[3]、Layout Diffusion[61]、GLIGEN[26]、TFLCG[6]和Box-Diffusion[49]。
由于布局扩散不能控制颜色,只在COCO-Position上运行它。在Drawbench中,还将本方法与SOTA T2I的一些方法进行了比较:stable diffusion v1.4[40], AAE[5],Structure Diffusion[14]。所有方法都使用官方代码和默认配置执行。
Quantitative Results
COCO-MIG.
COCO-Position.
DrawBench.
Qualitative Results
Analysis of Shading Aggregation Controller
用50个步骤生成每个图像,在前25个步骤中使用MIGC。图6显示了T=50、40和30时SAC聚集权值(即T=50表示第一步)。在早期的时间步骤中,SAC将更多的权重分配给前景中的EA层的着色实例,而将更多的权重分配给背景中的LA层的着色模板。在之后的时间步长中,SAC逐渐增加了对背景中全局上下文的关注。
Ablation Study
消融主要由四个部分组成:(1) Enhancement Attention Layer. (2) Layout Attention Layer. (3) Shading Aggregation Controller. (4) The inhibition loss.在COCO-Position和COCO-MIG上进行了实验。
Shading Aggregation Controller.
Enhancement Attention Layer.
Layout Attention Layer.
Inhibition Loss.
Qualitative Results.