Layout-to-Image Generation.
布局引导图像生成 (Layout-to-Image Generation)是图像感知任务(如目标检测、图像分割)的逆过程,即根据给定的布局生成对应的图像。
布局描述了包含在图像中的目标信息,可以通过目标类别、边界框、分割mask、关键点、边缘图、深度图等来定义。布局引导的图像生成是指学习一个条件生成模型$\mathcal{G}$,在给定几何布局$L$的条件下生成图像$I$:
\[I = \mathcal{G}(L,z) , \quad z\sim \mathcal{N}(0,1)\]根据布局控制条件的输入形式,布局引导的图像生成模型包括:
- 文本级L2I模型:通过将空间布局转换成文本token实现布局控制,如ReCo, LayoutDiffusion, GeoDiffusion, DetDiffusion。
- 像素级L2I模型:通过提供像素级空间对齐条件实现布局控制,如GLIGEN, LayoutDiffuse, ControlNet, InstanceDiffusion。
1. 文本级L2I模型
⚪ ReCo
- (arXiv2211)ReCo: Region-Controlled Text-to-Image Generation
ReCo的输入布局包括图像的文本描述和每个目标框的类别、位置、文本描述。ReCo在预训练文本词嵌入$T$的同时引入位置标记$P$,用四个浮点数表示每个区域的位置标记$P$,即边界框的左上坐标和右下坐标\(<x_1>,<y_1>,<x_2>,<y_2>\)。输入序列设计为图像描述+多个位置标记和相应的区域描述。预训练CLIP文本编码器将标记编码为序列嵌入。
⚪ LayoutDiffusion
- (arXiv2303)LayoutDiffusion: Controllable Diffusion Model for Layout-to-image Generation
LayoutDiffusion模型由布局融合模块(Layout Fusion Module, LFM)和目标感知交叉注意机制(object-aware Cross-Attention Mechanism, OaCA)组成。该模型的输入布局包括每个目标框的类别、位置。
- LFM融合了每个目标的信息,并对多个目标之间的关系进行建模,从而提供了整个布局的潜在表示。
- OaCA将图像patch特征与布局在统一的坐标空间中进行交叉注意力计算,将两者的位置表示为边界框,使模型更加关注与目标相关的信息。
⚪ GeoDiffusion
- (arXiv2306)GeoDiffusion: Text-Prompted Geometric Control for Object Detection Data Generation
GeoDiffusion可以灵活地将边界框或几何控制(例如自动驾驶场景中的相机视图)转换为文本提示,实现高质量的检测数据生成,有助于提高目标检测器的性能。该模型的输入布局包括与布局相关的几何条件和每个目标框的类别、位置。
GeoDiffusion进一步引入一个自适应重加权mask与重构损失相乘,使模型能够更加关注前景生成,解决前景与背景不平衡问题。
- Constant re-weighting:为了区分前景和背景区域,引入一种重加权策略,即为前景区域分配一个权重$w > 1$,大于分配给背景区域的权重。
- Area re-weighting:面积重加权方法动态地为较小的目标框分配更高的权重。对于尺寸为$H\times W$的mask,像素$(i,j)$所属边界框的面积为$c_{ij}$,则为像素设置权重:
⚪ DetDiffusion
- (arXiv2403)DetDiffusion: Synergizing Generative and Perceptive Models for Enhanced Data Generation and Perception
DetDiffusion使用感知模型为生成模型提供信息,从而增强后者生成控制的能力。该模型的输入布局包括每个目标框的类别、位置和感知属性。
- 构造每个目标框的感知属性:使用预训练的目标检测器提取边界框$b=[b_1,…,b_n]$,感知属性定义为每个真值框$o=[o_1,…,o_m]$的检测难度。对于每个真值框$o_i$,通过与$n$个预测框的交集来评估其检测难度:
- 构造感知损失促进更细致的图像重建,并精确控制图像属性:使用预训练的图像分割模型提取多层次掩码伪标签$M=[m_1,…,m_k]$。在优化模型的高维特征空间时,引入掩码损失$\mathcal{L}_m$和Dice损失$\mathcal{L}_d$。
2. 像素级L2I模型
⚪ GLIGEN
- (arXiv2301)GLIGEN: Open-Set Grounded Text-to-Image Generation
GLIGEN冻结原始模型的权重,并通过引入门控自注意力层来将输入布局信息引入模型。输入布局信息采用不同的方式进行编码:
- 图像的文本描述和目标实体的文本描述使用预训练文本编码器获得每个单词的上下文文本特征;
- 边界框、关键点等点坐标集合通过傅里叶嵌入提取每个点坐标特征;
- 输入条件图像使用图像编码器获得特征;
- 空间对齐条件(如边缘图、深度图、法线图和语义图)将UNet的第一个卷积层设置为可训练,将这类条件通过一个下采样网络并与输入图像连接后输入UNet。
⚪ LayoutDiffuse
- (arXiv2302)LayoutDiffuse: Adapting Foundational Diffusion Models for Layout-to-Image Generation
LayoutDiffuse通过微调预训练扩散模型实现了布局到图像的生成。LayoutDiffuse通过在U-Net的每一层之后添加布局注意力(layout attention)层来引入布局条件,布局注意力层为每个类别和背景特征引入可学习的token,并分别计算特征自注意力再融合;此外还添加了任务感知提示(task-aware prompt)来指示模型生成任务的更改,任务感知提示通过在预训练模型的输入前添加一个可学习的嵌入向量来实现。
⚪ ControlNet
- (arXiv2302)Adding Conditional Control to Text-to-Image Diffusion Models
ControlNet冻结神经网络原始模块的参数$\Theta$,并拷贝该模块为具有参数$\Theta_c$的可训练版本。将拷贝模块通过两个零卷积\(\mathcal{Z}\)(参数初始化为$0$的$1\times 1$卷积)连接到原模块,接收输入布局条件$c$作为输入。零卷积保证了训练的初始阶段不会引入有害的训练噪声,保留了大型预训练模型的生成能力。
\[y_c = \mathcal{F}(x; \Theta) + \mathcal{Z}(\mathcal{F}(x+\mathcal{Z}(c; \Theta_1); \Theta_c); \Theta_2)\]ControlNet接受边缘、Hough线、用户涂鸦、人体关键点、分割图、形状法线、深度图等形式的布局图像,使用由4 × 4卷积核、步长为2的4个卷积层组成的网络(由ReLU激活,分别使用16、32、64、128个通道,用高斯初始化并与完整模型联合训练)将图像编码为输入布局条件$c$。
⚪ InstanceDiffusion
- (arXiv2402)InstanceDiffusion: Instance-level Control for Image Generation
InstanceDiffusion支持单点、涂鸦、边界框和实例分割掩码等输入布局,使用UniFusion、ScaleU和Multi-instance Sampler三大模块实现了对图像生成的精确控制。
- UniFusion模块将各种形式的实例级条件投影到相同的特征空间,并将实例级布局和文本描述融合到视觉token中。
- ScaleU模块通过重新校准UNet中的主路径特征和跳跃连接特征,增强了模型精确遵循指定布局条件的能力。
- Multi-instance Sampler模块采用多实例采样策略,确保每个实例在生成过程中都能保持其独特性和准确性,减少多个实例之间条件之间的信息泄露和混淆。