在图像生成领域,处理包含多个对象及其空间关系、相对大小、重叠和属性绑定的复杂提示时,现有的文本到图像模型仍面临挑战:当文本提示中包含多个对象,并且这些对象之间存在特定的空间关系时,现有模型往往难以准确地捕捉和表现这些复杂的场景。
例如,假设有一个文本提示是“一个橙色的南瓜放在黑色的门的右边”。对于这样的提示,现有的文本到图像(T2I)模型可能无法正确地将南瓜和门的相对位置以及属性(如颜色)表现出来。这主要是因为现有模型在空间推理能力上存在限制,并且它们与扩散模型的结合并不总是能够精确地理解和处理复杂的文本提示。
自香港科技大学、加州大学洛杉矶分校、宾夕法尼亚州立大学和马里兰大学的研究团队提出了一个无需训练的多模态大型语言模型(LLM)代理。MuLan的核心思想是将复杂的文本提示分解为一系列更简单的子提示,每个子提示只关注生成提示中的一个对象。这种方法模仿了人类画家的工作方式,即先制定一个高级的计划,然后逐步绘制每个对象,并在必要时进行修正。
方法
如图1所示MuLan由三个主要部分组成:
-
LLM规划(LLM planning):这部分涉及使用大型语言模型(LLM)来规划图像生成的总体布局。LLM负责将复杂的文本提示分解为一系列更易管理的子提示,每个子提示关注生成提示中的一个对象。
-
单一对象扩散与注意力引导(Single-object diffusion with attention guidance):在这一步,MuLan集中于根据子提示和之前已生成的对象来生成一个单一的对象。LLM为新对象提供一个大致的布局规划,而注意力引导则确保对象在图像中的位置和形状精确,通过提供一个准确的掩码来实现。
-
VLM反馈控制(VLM-feedback control):这是MuLan中的一个反馈循环机制,使用视觉-语言模型(VLM)来评估当前生成步骤的结果,并与原始文本提示进行对比。如果发现任何偏差或错误,VLM将提供反馈,MuLan据此调整扩散模型的超参数,以重新生成图像,确保每一步的生成结果都尽可能地符合原始提示的要求。
研究者设计的MuLan系统利用LLM的高级语言理解能力,自动地从原始文本提示中识别出各个对象,并确定它们在图像中的相对位置和顺序。这一过程模仿了人类画家在开始绘画前制定计划的方式,LLM根据预定义的空间顺序——从左到右、从下到上——来组织对象,确保生成的图像布局合理且符合人类的直观感受。
为了实现这一目标,研究者为LLM提供了一个明确的任务描述,指导模型将文本提示中的对象按照绘画的顺序进行排列。LLM根据这个描述,生成一个对象列表,这个列表决定了在图像生成过程中各个对象的创建顺序。这个过程不仅需要LLM理解文本中的对象和它们的关系,还需要它能够预测并规划出这些对象在最终图像中的布局。
研究者还为LLM设计了一套模板,用于在生成过程中对每个对象的大致位置和大小进行规划。这包括确定对象是在另一个对象的左边、右边、上方或下方,以及估计对象的数量。通过这种方式,MuLan能够在生成每个对象之前,就对它们在图像中的分布有一个初步的规划。
MuLan 利用大型语言模型(LLM)规划和注意力引导来逐步生成图像过程开始于LLM规划的粗略掩码,该掩码定义了新对象在图像中的预期位置和大小。这个掩码基于LLM对对象相对位置的规划,考虑到图像中当前可用的空间。例如,如果前一个对象已经放置在图像的左侧,LLM将决定新对象的位置,可能是在右侧或者上方,并估计对象的尺寸。
接下来,MuLan使用稳定扩散模型在由注意力掩码定义的边界框内生成对象。注意力引导在这一步骤中发挥了至关重要的作用,它确保了对象在生成过程中能够被精确地定位。就是说MuLan利用反向引导方法,通过调整扩散模型的输入潜在表示,来引导对象在图像中的正确位置生成。
MuLan还考虑了对象间的重叠问题。在生成新对象时,如果LLM判断存在与前一个对象的重叠,MuLan会计算几个候选的粗略掩码,这些掩码对应不同的重叠比例。然后,MuLan会使用这些掩码生成几个候选图像,并通过计算输入提示与生成图像之间的一致性得分来选择最佳图像。
最后,MuLan通过视觉-语言模型(VLM)进行反馈控制,以确保生成的每个对象都与原始文本提示保持一致。如果在任何生成阶段检测到错误,VLM将提供反馈,MuLan据此调整扩散模型的参数,重新生成对象。
MuLan在生成每个对象后,会利用VLM对生成的图像进行评估。VLM的作用是提供对当前生成步骤的反馈,确保图像中的对象与原始文本提示保持一致。如果VLM检测到生成的对象与预期不符,比如对象的位置、大小或属性与文本描述不匹配,它将向MuLan提供反馈,指出需要调整的地方。
基于VLM的反馈,MuLan可以调整扩散模型的超参数,对图像进行重新生成。这个过程可以重复进行,直到生成的图像满足文本提示的要求。这种自适应的反馈和调整机制是MuLan系统的核心特点之一,它使得系统能够持续优化生成结果,提高图像的准确性和真实性。
除了与VLM的交互外,MuLan还考虑了人类用户的参与。在实际应用中,人类用户可能希望对生成过程进行监督或提出特定要求。MuLan的设计允许人类用户在生成过程中提供输入,比如调整文本提示或对生成的图像给出评价。这种用户交互可以进一步提高生成图像的满意度,并使MuLan更加灵活和适应不同的应用场景。
实验
研究者为了评估MuLan框架,构建了一个由不同基准测试组成的提示数据集。这个数据集专注于生成包含多个对象、空间关系和属性绑定的复杂提示。研究者首先从T2I-CompBench收集了所有复杂的空间提示,并通过ChatGPT生成了约400个具有不同对象、空间关系和属性绑定的提示,使提示集包含约600个提示。为了进一步评估框架在极其复杂和困难的提示上的能力,研究者手动添加了SDXL无法生成的提示,形成了包含200个提示的困难提示数据集。
作为一个无需训练的框架,MuLan可以集成到任何现有的扩散模型中。研究者评估了两种稳定扩散模型与MuLan框架的结合效果,包括Stable Diffusion v1.4和最先进的Stable Diffusion XL。为了验证MuLan的优越性,研究者将其与先前的可控生成方法和通用T2I生成方法进行了比较,包括Structure Diffusion、Promptist、原始的Stable Diffusion v1.4、原始的SDXL和最近的SOTA扩散模型PixArt-α。
MuLan使用GPT-4作为LLM规划器,并使用LLaVA-1.5作为VLM检查器提供反馈。研究者还进行了消融研究,以展示VLM提供的反馈控制在所提出的框架中的重要性,以及不同VLM的影响。研究者发现在注意力引导过程中使用的注意力块至关重要,这些块可以被分类为近输入块、近中间块和近输出块。在主要实验中,研究者使用了近中间块,并展示了不同块的消融结果。
由于提示数据集包含具有复杂组成的文本,研究者设计了一个问卷,全面调查生成图像与相应输入文本之间的一致性。问卷由三个方面组成 - 对象完整性、属性绑定的正确性以及空间关系的准确性。对于每个问题,研究者只设置了两个选项(是或否),没有歧义。研究者使用问卷询问最新一代的多模态大型语言模型(GPT-4V)和人类评估者对生成图像的质量进行评估。
研究者使用GPT-4V对不同方法和不同基础模型生成的图像进行了评估结果显示,MuLan框架在与其他可控生成方法和T2I生成方法相比时,能够实现最佳性能。特别是在属性绑定和空间关系的两个“更难”方面,MuLan能够以较大优势超越其他方法。
研究者从提示数据集中随机抽取了50个提示,用于消融研究中的所有实验。研究者发现,近中间块在生成控制和性能方面能够实现最佳结果,通常包含最丰富的语义信息。
VLM反馈控制是MuLan中提供反馈和调整生成过程以确保每个阶段正确生成的关键组件。研究者展示了通过从整个框架中移除反馈控制的重要性。结果显示,如果没有反馈控制,结果会大大恶化,因为没有保证或适应性调整每个生成阶段,这验证了VLM提供的反馈控制对于处理复杂提示至关重要。
实验表明,MuLan优于先前的方法,展示了MuLan作为可控扩散生成新范式的潜力。
尽管MuLan取得了显著的成果,但仍存在需要在未来工作中进一步解决的局限性。由于整个生成包含多个阶段,根据对象的数量,它将比单阶段生成方法需要更长的时间。另一方面,LLM规划器可能会错误地解析输入提示,导致错误的分解。这可以通过首先通过LLM重写输入提示来解决,以便于后续处理。