动机
- 文图生成中
text-only query
的可控性有限,如简单地使用与位置相关的文本词通常会造成模糊的input query
,且当text query
很长、复杂或描述罕见场景,模型可能会忽略某些细节而只遵循视觉或语言先验; layout-to-image generation
在区域控制方面有一定作用,但很难理解自由形式的文本输入,也不能理解开放文本描述和空间位置的组合。
贡献
- 提出一种预训练文图生成模型
ReCo
,在region-controlled input query
中引入position tokens
,用户可在图像区域自由指定regional descriptions
; - 基于
Stable Diffusion
实例化ReCo
,可基于输入query
的regional instructions
生成高质量的图像; - 设计了一个
evaluation benchmark
来评估region-controlled
的生成能力。
本文的方法
ReCo
旨在探索文本条件和位置条件的协同生成,其核心思想是引入额外的input position tokens
表示空间坐标,将图像的w/h
均匀量化为 bins
,任意坐标被最近邻的bin
近似和量化。在额外的embedding
下,position token
被映射到与text token
相同的空间,则区域控制文本输入为<x1>, <y1>, <x2>, <y2>, <free-form text description>
。然后使用微调预训练的T2I
模型,以从region-controlled input query
中生成图像。
Preliminaries
Stable Diffusion
基于Latent Diffusion Model
,由一个auto-encoder
、一个用于噪声估计的U-Net
和一个CLIP ViT-L/14 text encoder
构成。对于auto-encoder
,encoder
的down-sampling factor
为,其将输入图像编码为用于扩散过程的隐编码,decoder
则从重建图像;对于U-Net
,则以去噪时间步长和文本条件为条件,其中为text tokens
的input text query
,而为CLIP text encoder
将文本序列映射的embedding
。
Region-Controlled T2I Generation
input sequence
如上图所示,ReCo
引入直接表示空间位置的position tokens
,即将区域的位置和大小用浮点数表示为左上、右下坐标<x1>, <y1>, <x2>, <y2>
,记作。在image description
后添加多个region-controlled texts
,即四个position tokens
和相应的区域描述。ReCo
在预训练的text word embedding
上引入position token embedding
,其中为位置标记的个数,是标记嵌入的维度。然后将整个序列联合处理,将token
映射到D-dim
的token embedding
,输入预训练的CLIP text encoder
映射为扩散模型的条件输入squence embedding
。
fine-tuning
ReCo
将带text tokens
的text-only query
扩展为组合text word
和position token
的input query
,使用与Stable Diffusion
相同的损失函数:
其中和为fine-tuned
的网络模块,除了position token embedding
,其余模型参数均由Stable Diffusion
初始化。对于训练数据,在按照标注的bounding boxes
裁剪的图像区域上应用caption model GIT
获得区域描述;在微调时将图像短边resize
到并随机crop
一个正方形区域作为输入图像。
实验
从Stable Diffusion v1.4 checkpoint
对ReCo
进行微调,引入个position tokens
,并将text encoder
的最大长度增加到。batchsize
为,使用固定学习率的AdamW
训练模型步。
实验数据
对于input queries
,从数据集中获取图像描述和边界框,并在裁剪区域上使用GIT
生成区域描述,在COCO、PaintSkill、LVIS
上进行测试。
- 使用
COCO 2014 training set
在stable duffison
上finetune
,并从COCO 2014 validation set
采样的子集上测试; PaintSkill
用于评估模型在任意位置的边界框和生成图像是否具有正确的目标类型/数量/关系的能力;LVIS
用于评估模型是否理解open-vocabulary
的区域描述,其目标类别在finetune
数据中不可见。
评估方法
为了评估区域控制,设计了一种基于预训练的regional object classifier
和object detector
,即在生成的图像区域应用object classifier
,在整个图像上应用object detector
,更好的精度意味着生成的目标layout
跟用户query
中的位置有更好的对齐。
对于region control accuracy
,使用Object Classification Accuracy
和DETR detector Average Precision
。Object accuracy
在GT image crops
上训练,以分类生成图像的裁剪区域;DETR detector AP
则检测生成图像的目标,并与input object query
比较。
对于image generation quality
,使用FID
评估,对于区域图像的质量,使用SceneFID
,即根据input object boxes
在裁剪区域计算FID
。在center-cropped COCO
图像上根据Clean-FID repo
计算FID
和SceneFID
,在PaintSkill
上则进行人工评估。
部分实验结果
COCO
PaintSkill
LVIS
区域描述时使用开放式文本或受限目标类别的区别