Lego: Learning to Disentangle and Invert Personalized Concepts Beyond Object Appearance in Text-to-Image Diffusion Models¶
会议: ECCV 2024
arXiv: 2311.13833
代码: 无
领域: Image Generation
关键词: 概念解纠缠, 文本反演, 个性化生成, 扩散模型, 非外观概念
一句话总结¶
提出Lego方法,通过主体分离和上下文损失实现超越外观的个性化概念(如形容词、动词)的解纠缠与反演,用于扩散模型的个性化内容生成。
研究背景与动机¶
个性化内容生成是文本到图像生成领域的重要研究方向。Textual Inversion和DreamBooth等方法已经展示了从少量示例图像中学习并重现特定概念的能力。然而,当前方法主要聚焦于对象外观(object appearance)的反演,例如特定的物体样式或人物面貌。
现实中存在大量超越对象外观的个性化概念,包括形容词(如"破旧的"、"闪亮的")和动词(如"跳跃"、"旋转")。这些概念的反演面临两个独特挑战:
(1) 概念与主体纠缠:形容词和动词的视觉表现与它们的主体(subject)密不可分。例如,"一只跳跃的猫"中的"跳跃"动作和"猫"的外观是纠缠在一起的。现有的反演方法在学习"跳跃"概念时,会不可避免地将猫的外观泄露到概念embedding中。
(2) 描述复杂度超越单token:与可用一个特殊token表示的对象概念不同,形容词和动词概念通常需要多个embedding token来完整描述其语义。
本文的核心贡献是提出Lego方法,通过主体分离(Subject Separation)和上下文损失(Context Loss)两个关键技术,解决上述两个挑战。
方法详解¶
整体框架¶
Lego的pipeline包含三个阶段:(1) 主体分离:从输入图像中分离概念和主体;(2) 多embedding反演:学习多个token embedding来表示目标概念;(3) 上下文引导生成:使用学到的概念embedding在新场景和新主体上生成内容。
关键设计¶
-
Subject Separation(主体分离):
- 功能:将目标概念从其关联的主体外观中解纠缠
- 核心思路:利用预训练的分割模型或手动mask将图像分为概念相关区域和主体区域。在反演优化过程中,主体区域使用已知的文本描述(如"a cat")来约束,确保主体外观信息不会泄露到概念embedding中。只允许概念embedding学习非主体部分的视觉信息
- 设计动机:直接在完整图像上优化会导致概念和主体的纠缠,因为优化目标会驱使embedding编码所有视觉信息
-
Context Loss(上下文损失):
- 功能:引导多embedding概念的学习
- 核心思路:设计一个上下文感知的损失函数,在去噪过程中不仅重建原始图像,还要求概念embedding在新上下文中(例如应用到不同主体上)产生语义一致的结果。具体来说,通过在训练时将概念embedding与随机的主体描述组合,并计算生成结果与目标概念的语义一致性
- 设计动机:没有上下文约束的反演优化容易过拟合到训练图像,失去泛化能力。上下文损失鼓励概念embedding学习可迁移的语义信息
-
多Embedding表示:
- 功能:用多个token embedding来完整表示复杂概念
- 核心思路:将目标概念表示为一个包含多个可学习token的序列,而非单个token。多个token共同优化,可以编码更丰富的语义信息。embedding数量通过验证集上的效果来选择
- 设计动机:形容词和动词概念的语义复杂度通常超过对象概念,单个token不足以完整捕获其含义
损失函数 / 训练策略¶
训练使用标准的扩散去噪损失,但加入上下文损失作为正则化: - 重建损失:在原始图像上的标准去噪损失 - 上下文损失:将概念embedding与随机主体组合,在不同语境下约束概念语义的一致性 - 主体分离约束:在主体区域使用固定的文本描述,阻止主体信息泄露
实验关键数据¶
主实验¶
| 数据集 | 指标 | 本文 | Textual Inversion | 提升 |
|---|---|---|---|---|
| 用户研究 | 概念忠实度偏好 | >70% | <30% | +40%以上 |
| VQA评估 | 概念对齐度 | 更好 | 基线 | 显著提升 |
| 主体保真度 | CLIP-I | 更高 | 有主体泄露 | 无泄露 |
| 多样性 | 生成多样性 | 保持 | 过拟合 | 更好 |
消融实验¶
| 配置 | 关键指标 | 说明 |
|---|---|---|
| 无主体分离 | 主体泄露严重 | 概念embedding包含外观信息 |
| 无上下文损失 | 泛化能力差 | 过拟合到训练图像 |
| 单embedding | 概念表达不足 | 复杂概念无法完整编码 |
| 完整Lego | 最优 | 三个组件互补 |
关键发现¶
- 主体分离是解决外观泄露的关键,简单却非常有效
- 上下文损失显著提升了概念反演在新上下文中的泛化能力
- 多embedding表示对于形容词和动词等复杂概念至关重要
- 用户研究中Lego的偏好率超过70%,展示了方法的实际效果
亮点与洞察¶
- 问题定义新颖:关注超越外观的概念反演,开辟了新的研究方向
- 方法设计思路清晰:针对两个挑战(纠缠和复杂度),分别提出对应的解决方案
- 主体分离的思想具有通用性,可以扩展到其他需要解纠缠的场景
- 用户研究结果有力地支持了方法的有效性
局限与展望¶
- 主体分离依赖于准确的分割或mask,对于概念与主体边界模糊的场景可能困难
- 上下文损失中的随机主体采样策略可能不够高效
- 仅在Stable Diffusion上验证,对其他扩散模型(如DALL-E、Imagen)的适用性未知
- 对于高度抽象的概念(如"优雅"、"忧伤"),方法的效果可能有限
- 可以探索自适应的embedding数量选择策略
相关工作与启发¶
- Textual Inversion: 开创了个性化概念反演的方向,但仅限于外观概念
- DreamBooth: 通过微调全模型实现个性化,但同样面临纠缠问题
- Custom Diffusion: 同时优化text embedding和部分模型参数
- 启发:概念解纠缠是个性化生成的核心挑战,Lego的主体分离思想可以推广到更广泛的概念操纵场景
评分¶
- 新颖性: ⭐⭐⭐⭐ 非外观概念反演的问题定义新颖,方法设计巧妙
- 实验充分度: ⭐⭐⭐ 用户研究和VQA评估较充分,但缺少更多定量基准
- 写作质量: ⭐⭐⭐⭐ 问题动机阐述清晰,方法描述直观
- 价值: ⭐⭐⭐⭐ 开辟了个性化生成新方向,对创意设计有实际应用价值