简介
在 Stable Diffusion(SD)中,GLIGEN 是一种用于增强文本到图像生成模型可控性的技术。它通过在现有的预训练扩散模型(如 Stable Diffusion)基础上,引入额外的定位输入(如边界框、关键点或参考图像),从而实现对生成图像中对象位置的精确控制。以下是 GLIGEN 的核心特点和工作原理的详细说明:
GLIGEN 的核心功能
-
定位控制:GLIGEN 允许用户通过边界框、关键点或参考图像等定位输入,精确控制生成图像中对象的位置和布局。
-
开放集生成:它支持生成训练数据中未见过的新概念和空间配置,具有较强的泛化能力。
-
多模态输入:除了文本描述,GLIGEN 还支持图像、边界框、关键点等多种输入模态,增强了生成的可控性和灵活性。
GLIGEN 的工作原理
-
冻结预训练模型:GLIGEN 保留了 Stable Diffusion 等预训练模型的权重,避免知识遗忘,同时通过新增的可训练层(如门控 Transformer 层)注入定位信息。
-
门控机制:通过门控自注意力机制,GLIGEN 将定位信息(如边界框)与文本描述结合,生成符合用户需求的图像。
-
渐进式训练:在训练过程中,GLIGEN 逐步融合定位信息,确保生成图像既符合定位条件,又保持高质量。
GLIGEN 的优势
-
高精度控制:相比仅依赖文本输入的生成模型,GLIGEN 能够更精确地控制生成图像中对象的位置和布局。
-
零样本性能:在 COCO 和 LVIS 等数据集上的零样本生成性能优于现有的有监督布局到图像生成模型。
-
灵活扩展:GLIGEN 的设计允许扩展到其他定位条件(如深度图、语义分割图等),进一步增强了其适用性。
GLIGEN 的应用场景
- 艺术创作:通过精确控制对象位置,生成符合艺术设计需求的图像。
如控制玻璃瓶与阳光的位置坐标
- 广告设计:快速生成符合特定布局要求的广告图像。
控制商品布局
- 虚拟现实:在虚拟场景中生成符合空间布局的对象。
GLIGEN 与 ControlNet 的区别
-
定位输入:GLIGEN 主要依赖边界框、关键点等定位输入,而 ControlNet 更侧重于通过边缘图、深度图等控制生成过程。
-
训练方式:GLIGEN 通过冻结预训练模型并新增可训练层来实现定位控制,而 ControlNet 则通过微调整个模型来实现
相关文献
论文地址
github