InstantBooth:无需测试时微调的个性化文本到图像生成。Adobe Inc. CVPR2024
code:InstantBooth: Personalized Text-to-Image Generation without Test-Time Finetuning (jshi31.github.io)
(2024.9.25仍未开源,仅主页展示)
简介
特点:实现个性化文本到图像生成而无需测试时间微调。可以将输入图像转换为文本嵌入,使模型可以学习看不见的概念。 可以保留输入身份。
动机:个性化图像生成的最新进展允许预训练的文本到图像模型从一组图像中学习新概念。 然而,现有的个性化方法通常需要对每个概念进行大量的测试时微调,这既耗时又难以扩展。 我们提出了 InstantBooth,可以实现即时文本引导的图像个性化,无需任何测试时间微调。
组件:
- 首先通过使用可学习的图像编码器将输入图像转换为文本标记来学习输入图像的一般概念
- 其次,为了保持平等贡献身份的细节,向预训练模型引入一些适配器层来学习丰富的视觉特征表示。 仅在文本图像对上训练组件,而不使用相同概念的成对图像。
与 DreamBooth 和 Textual-Inversion 等基于测试时微调的方法相比,InstantBooth可针对语言图像对齐、图像保真度和身份保留等看不见的概念生成有竞争力的结果,同时速度提高 100 倍。
图 1:模型在不同提示下生成的个性化图像。 在“人”和“猫”类别上,模型可以生成输入概念的文本对齐、身份保留和高保真图像变体。 V^是代表输入主题的标识符。 模型只需一次前向传递即可立即生成个性化图像。
个性化图像合成的目的:生成具有不同姿势、背景、物体位置、着装、灯光、风格的人的新图像,同时保持相同的身份。可以看作是具有身份保存和语言控制的实例条件生成任务。
这些方法可以分为两个主要方向:
- 将输入图像反转到文本空间,令预训练模型理解一个新概念。 例如DreamBooth [34] 通过微调整个扩散模型,从特定主题中学习唯一标识符。 textural inversion将输入图像反转为文本嵌入,并在微调期间学习嵌入图像映射。缺点:预训练模型需要微调学习每个新概念,学习到的模型权重按概念存储。可扩展性差。
- 直接学习带文本指导的图像到图像映射。 训练此类图像条件模型通常需要大规模配对训练数据,即同一主题但有不同姿势或其他属性变化的图像对。 InstructPi2Pix学习预训练文本到图像模型的所有参数,以及使用 Prompt-to-Prompt生成的配对图像来实现文本引导的图像到图像翻译。 然而它无法生成具有较大姿势变化的对象或改变对象的位置。 ControlNet 扩展了预训练模型以采用多模态数据作为输入,但在以图像为条件时,做不到保留身份。
本文的解决方法:提升个性化图像生成的测试时间微调。
方法
给定一个概念的一些图像,目标是从文本描述 p 生成该概念的新的高质量图像。 生成的图像变化应保留输入概念的同一性。
模型的总体框架如图 2 所示。首先向输入提示注入一个唯一标识符 ^V 来表示对象概念,然后使用可学习的图像编码器将输入图像映射到概念文本嵌入。 预训练的扩散模型采用概念嵌入以及原始提示的嵌入来生成输入概念的新图像。 为了增强生成图像的身份,将适配器层引入到预训练模型中,以获取从输入图像中提取的丰富补丁特征,以更好地保留身份。 去噪损失用于学习新的组件,而预训练模型的原始权重被冻结。
图 2:概述。 首先向原始输入提示注入唯一标识符^V,以获得“^V人的照片”,其中^V代表输入概念。 然后用概念图像编码器将输入图像转换为紧凑的文本嵌入,并使用冻结的文本编码器映射其他单词以形成最终的提示嵌入。 用 patch 编码器从输入图像中提取丰富的 patch 特征标记,然后将它们注入到 U-Net 的适配器层中,以更好地保留身份。 预训练扩散模型的U-Net以即时嵌入和丰富的视觉特征为条件,生成输入概念的新图像。 在训练期间,只有图像编码器和适配器层是可训练的,其他部分被冻结。 仅使用扩散模型的去噪损失来优化模型。
实验
图 3:(a):模型有和没有概念重整化的视觉比较。 (b) 没有概念重整化的每个单词的平均注意力。 (c) 概念重整化后每个单词的平均注意力。