ImageRAG:用于参考引导图像生成的动态图像检索
paper是Tel Aviv University发布在Arxiv 2025的工作
paper title:ImageRAG: Dynamic Image Retrieval for Reference-Guided Image Generation
Code:链接
图 1:使用参考图像扩展图像生成模型的生成能力。
在给定文本提示的情况下,ImageRAG 会动态检索相关图像,并将其提供给基础文本到图像(T2I)模型。ImageRAG 可与不同的模型(如 SDXL (A) 或 OmniGen (B, C))以及不同的控制方式(例如文本 (A, B) 或个性化 ©)协同工作。
Abstract
扩散模型能够合成高质量和多样化的视觉内容。然而,它们在生成罕见或未见概念时存在困难。为了解决这一挑战,我们探索了检索增强生成(Retrieval-Augmented Generation, RAG)在图像生成模型中的应用。我们提出了 ImageRAG,这是一种基于给定文本提示动态检索相关图像,并将其作为上下文来引导生成过程的方法。先前的方法使用检索到的图像来改进生成,但通常需要专门针对检索增强生成进行训练。而相比之下,ImageRAG 利用了现有的图像条件生成模型的能力,不需要针对 RAG 进行特定训练。我们的方法具有高度的适应性,可应用于不同类型的模型,并在生成罕见和精细化概念方面取得了显著提升,同时可适用于不同的基础模型。
1. Introduction
扩散模型(Ho et al., 2020)近年来彻底改变了图像生成技术,提供了高质量、多样化且逼真的视觉内容(Dhariwal & Nichol, 2021; Rombach et al., 2022)。它们支持文本到图像(text-to-image)生成,并适用于广泛的任务,从基于布局的合成到图像编辑和风格迁移(Avrahami et al., 2022; Hertz et al., 2022; Mokady et al., 2023; Avrahami et al., 2023b; Zhang et al., 2023; Brooks et al., 2023; Nitzan et al., 2024)。
当然,这些大型模型需要大量的训练数据、长时间的训练过程以及大量的计算资源。因此,当前的文本到图像(T2I)模型因受限于其训练数据,在生成用户特定概念或更新内容时遇到困难。此外,它们在生成稀有概念、风格化内容或精细类别(例如特定的狗品种)时也存在挑战,即使它们在训练时包含了相关图像(Samuel et al., 2024b; Haviv et al., 2024)。在这些情况下,扩散模型往往会“幻觉”(hallucinate),并可能生成与文本提示不相关的内容(见图 2)。
为了解决这些问题,研究人员提出了多种方法,例如个性化(Gal et al., 2023a; Ruiz et al., 2023; Voynov et al., 2023; Arar et al., 2024)、风格化(Hu et al., 2021)或稀有概念生成(Li et al., 2024; Samuel et al., 2024b)。
图二:幻觉。当模型不知道提示的含义时,它们可能会产生幻觉并生成不相关的图像(左)。通过应用我们的方法来检索和利用相关引用(中),基础模型可以生成适当的图像(右)。
然而,大多数方法都需要针对每个新概念进行训练或采用专门的优化技术。
我们注意到,在使用大型语言模型(LLMs)进行文本生成时,也存在类似的问题。LLMs 在基于现实世界事实、专有或更新的数据生成文本时存在困难,并且在缺乏足够知识的情况下容易产生“幻觉”(Brown, 2020; Ji et al., 2023)。为了解决这些问题,自然语言处理(NLP)社区已经采用了检索增强生成(Retrieval Augmented Generation,RAG)(Lewis et al., 2020)。RAG 是一种动态检索最相关信息的方法,它从外部数据源中获取信息,并将其提供给 LLM 作为上下文输入,从而使其能够生成具有上下文相关性和任务特定性的响应。
当我们将这一思想应用到图像生成时,我们注意到,以往利用图像检索来优化图像生成的研究(Chen et al., 2022; Sheynin et al., 2022; Blattmann et al., 2022; Hu et al., 2024)通常基于为特定任务专门训练的模型,这限制了它们的广泛适用性。
相比之下,我们提出了 ImageRAG,这是一种动态检索并提供参考图像给预训练的文本到图像(T2I)模型的方法,以增强其生成能力。我们的方法不需要对检索到的内容进行额外训练,也不需要针对 RAG 进行专门训练。相反,我们使用 T2I 模型的方式类似于 LLMs 的常见使用方式,在采样过程中利用参考图像进行引导式生成。与语言领域相比,在视觉领域,上下文信息更受限制。因此,我们无法简单地为提示中的所有概念提供参考图像。我们注意到,要将 RAG 应用于图像生成,需要解决以下问题:应使用哪些图像作为上下文、如何检索这些图像,以及如何利用检索到的图像成功生成所需的概念。在本研究中,我们通过一种新颖的方法来解决这些问题,该方法能够根据提示动态选择最相关和最有用的示例,并将其作为参考,引导模型生成所需的结果。我们利用 T2I 模型生成多种概念的能力,仅针对模型难以生成的概念提供参考图像,重点填补生成能力的空白。为了识别哪些概念是具有挑战性的,我们提出了一种新方法,该方法使用逐步策略和视觉语言模型(VLM)来动态选择要检索的图像。具体而言,我们让 VLM 识别缺失的图像组件,并建议可以检索的概念,然后使用这些概念作为参考,以指导图像生成。
我们的方法并不依赖于特定的文本到图像(T2I)模型。为了展示这一点,我们将 ImageRAG 应用于两种模型类型:一类是专为上下文学习(ICL)设计的 T2I 模型(Brown, 2020);另一类是 T2I 模型,这些模型通过 IP-adapter 图像编码器(Ye et al., 2023)增强,使其支持图像提示。
在 ICL 中,生成模型会在提示中接收一组特定任务的示例(作为上下文输入),并被期望在新输入上执行类似的任务。ICL 不需要额外的训练或大量数据,并提供了一种在推理过程中通过提供未见过的信息来适应新任务或新领域的方法。IP-adapter 是一种图像编码器,可以让 T2I 模型通过图像进行提示,作为现有模型的适配器。
这两种方法都表现出极大的潜力,可以显著提升图像生成能力,并已在多个研究中取得了优异的结果(Ye et al., 2023; Xiao et al., 2024; Gu et al., 2024; Wang et al., 2023; Najdenkosk et al., 2024; Sun et al., 2024)。
我们在两个模型上验证了我们方法在生成稀有概念和细粒度概念上的有效性,分别代表了两种模型类型:
- Omnigen(Xiao et al., 2024)—— 一个专门设计用于支持 ICL 的模型;
- SDXL + IP-adapter(Podell et al., 2024; Ye et al., 2023)—— 通过 IP-adapter 图像编码器实现图像提示的模型。
我们在这两种模型上进行了定量和定性对比,结果表明 RAG 增强了模型生成稀有和细粒度概念的能力。这些结果表明,图像生成领域的研究者应该考虑在采样过程中使用 RAG 来进行类别或任务特定的生成。
2. Related Work
2.1. In-Context Learning
上下文学习(In-context learning, ICL)已成为一种强大的范式,在这种范式中,大型语言模型(LLMs)无需额外的微调便能执行新任务(Brown, 2020)。通过在输入提示中直接提供少量示例或相关的上下文,ICL 使模型能够推断出所需的任务并生成相应的输出。尽管 ICL 具有灵活性,但它仍然受到模型有限上下文窗口的限制,这使得选择相关且简明的上下文对于获得最佳性能至关重要。
2.2. Visual In-Context Learning
最近,视觉 ICL 取得了令人鼓舞的成果(Gu et al., 2024; Wang et al., 2023; Xiao et al., 2024; Najdenkosk et al., 2024; Sun et al., 2024)。视觉 ICL 主要在类比学习的背景下进行了探索(Gu et al., 2024; Wang et al., 2023; Xiao et al., 2024; Nguyen et al., 2024)。然而,关于单个示例学习的能力也在允许图像作为输入的多模态生成模型中进行了研究(Xiao et al., 2024; Sun et al., 2024; Wang et al.)。这些支持图像提示的模型促进了对 RAG 在图像生成中的探索。
2.3. Retrieval Augmented Generation (RAG)
RAG(Lewis et al., 2020)是一种在不进行额外训练的情况下,提高预训练模型生成能力的方法。它通过动态检索和提供信息作为提示中的上下文来实现这一目标。对于给定查询,最相关的信息会从外部数据库中检索出来,并提供给模型作为上下文,以增强依赖上下文数据的生成能力。
虽然 RAG 已被广泛用于文本生成任务,并应用于多个预训练的 LLM(Lewis et al., 2020; Gao et al., 2023; Ram et al., 2023; Zhang et al., 2025),但它尚未被探索用于增强预训练文本到图像(text-to-image)模型的能力。此前的一些研究使用了最近邻图像检索(nearest-neighbor image retrieval)来改进图像生成(Sheynin et al., 2022; Blattmann et al., 2022; Chen et al., 2022; Hu et al., 2024)。然而,这些方法通常需要专门针对检索辅助生成(retrieval-aided generation)进行训练。
与这些方法不同,我们的方法利用了预训练模型,并且不需要额外的训练。
2.4. Text-to-Image Generation
随着扩散模型(Ho et al., 2020)的引入,文本到图像(text-to-image)生成技术取得了重大进展,这些模型能够生成高质量、多样化的图像,并涵盖广泛的概念(Dhariwal & Nichol, 2021; Rombach et al., 2022; Podell et al., 2024; Xiao et al., 2024)。然而,它们在生成稀有概念时仍然存在困难,并且无法在没有额外训练或优化的情况下生成用户特定的概念。
个性化(Personalization)方法可以用于生成特定用户概念的图像。然而,这些方法通常需要为每个新概念执行一个优化过程(Nitzan et al., 2022; Gal et al., 2023a; Ruiz et al., 2023; Arar et al., 2024; Alaluf et al., 2023; Voynov et al., 2023; Avrahami et al., 2023a; Kumari et al., 2023)。为了解决这一挑战,近期的一些研究训练了图像编码器,使得预训练的生成模型能够通过图像进行提示(Ye et al., 2023; Gal et al., 2023b; Wei et al., 2023; Shi et al., 2024; Gal et al., 2024; Patashnik et al., 2025)。
稀有概念生成(Rare Concept Generation)方法探索了在不依赖图像检索的情况下生成稀有概念。这些方法使用每个稀有概念的少量示例来优化种子,以生成与参考图像相似的图像(Samuel et al., 2024a;b)。然而,除了需要为每个新概念进行优化之外,这些方法还没有解决如何选择或查找参考图像的问题。
3. Method
我们的目标是增强文本到图像(T2I)模型的鲁棒性,特别是在处理稀有或未见概念时,这些模型往往难以生成相关内容。为此,我们研究了一种基于检索增强生成(retrieval-augmented generation, RAG)的方法,该方法通过动态选择可以为模型提供缺失视觉线索的图像来改进生成结果。
重要的是,我们关注的是那些未经过专门训练以支持 RAG 的模型,并表明现有的图像条件控制工具可以被后期用于支持 RAG。正如图 3 所示,在给定文本提示词和 T2I 生成模型的情况下,我们首先使用给定的提示词生成一张图像。然后,我们利用视觉-语言模型(VLM)对该图像进行查询,并让其判断图像是否与提示词匹配。如果不匹配,我们的目标是检索能够代表图像中缺失概念的图像,并将其作为额外的上下文信息提供给模型,从而引导模型更好地对齐提示词。
在接下来的章节中,我们通过回答以下关键问题来描述我们的方法:
(1) 我们如何确定需要检索哪些图像?
(2) 我们如何检索所需的图像?
(3) 我们如何利用检索到的图像来生成模型无法独立生成的未知概念?
通过回答这些问题,我们实现了生成新概念的目标,即那些模型自身难以生成的概念。
图 3:顶部(Top):我们方法的高级概述。给定一个文本提示词 p p p,我们使用文本到图像(T2I)模型生成初始图像。然后,我们生成检索-字幕 c j c_j cj,从外部数据库中检索与每个字幕 i j i_j ij 相关的图像,并将这些图像作为参考输入到模型中,以改进生成效果。底部(Bottom):检索-字幕生成模块。我们使用视觉-语言模型(VLM)判断初始图像是否与给定的提示词匹配。如果不匹配,我们要求它列出缺失的概念,并创建可用于检索适当示例的字幕,以补充这些缺失的概念。
3.1. Which images to retrieve?
我们可以传递给模型的图像数量是有限的,因此我们需要决定哪些图像可以作为参考,以指导基础模型的生成。由于 T2I(文本到图像)模型已经能够成功生成许多概念,一种高效的策略是仅传递那些模型难以生成的概念作为参考,而不是提示词中的所有概念。
为了找到这些具有挑战性的概念,我们利用 VLM(视觉-语言模型)并应用逐步方法,如图 3 底部所示。首先,我们使用 T2I 模型生成初始图像。然后,我们将初始提示词和图像提供给 VLM,并询问它们是否匹配。如果不匹配,我们要求 VLM 识别缺失的概念,并专注于内容和风格,因为这些更容易通过视觉线索传达。
正如表 3 所示,实证实验表明,与从简短的、通用的概念描述中进行检索相比,从详细的图像字幕中检索图像能够产生更好的结果。因此,在识别出缺失的概念后,我们要求 VLM 提供详细的图像字幕,以描述每个概念。
3.1.1. ERROR HANDLING
VLM(视觉-语言模型)有时可能无法识别图像中的缺失概念,并会返回“无法回答”的响应。在这些罕见情况下,我们允许最多 3 次查询重复,并在每次重复时增加查询温度。增加温度可以鼓励模型采样较不可能的词汇,从而生成更具多样性的响应。
在大多数情况下,我们提出的逐步方法比直接从给定提示词中检索图像产生更好的结果(参见第 5.3 节)。然而,如果 VLM 在多次尝试后仍然无法识别缺失概念,我们会回退到直接从提示词中检索图像,因为这通常意味着 VLM 无法理解提示词的含义。
所使用的提示词可以在附录 A 中找到。接下来,我们基于获取的图像字幕进行图像检索。
3.2. How to retrieve the required images?
给定 n 个图像字幕(captions),我们的目标是从数据集中检索与这些字幕最相似的图像。为了检索与特定图像字幕匹配的图像,我们使用文本-图像相似性度量方法,将字幕与数据集中的所有图像进行比较,并检索前 k 个最相似的图像。
文本到图像的检索(text-to-image retrieval)是一个活跃的研究领域(Radford 等,2021;Zhai 等,2023;Ray 等,2024;Vendrow 等,2024),但尚无完美的方法。当数据集中不包含与查询完全匹配的图像(Biswas & Ramnath,2024)或任务涉及需要依赖细微差别的精细化检索(Wei 等,2022)时,检索尤其困难。因此,一个常见的检索工作流程是首先使用预计算的嵌入(embeddings)来检索候选图像,然后使用不同的、通常更昂贵但更准确的方法对检索到的候选图像进行重新排序(Vendrow 等,2024)。
按照这一工作流程,我们尝试了基于不同嵌入的余弦相似度计算,并实验了多种候选图像的重新排序方法。尽管在某些情况下,重新排序相较于仅使用 CLIP(Radford 等,2021)嵌入的余弦相似度能获得更好的结果,但在大多数实验中,二者的差异并不显著。因此,为了简化流程,我们选择使用 CLIP 嵌入之间的余弦相似度作为我们的相似性度量标准(有关不同相似性度量的实验细节,请参见表 4 和第 5.3 节)。
3.3. How to use the retrieved images?
整合所有步骤后,在检索到相关图像后,剩下的工作就是将这些图像作为上下文,使其对模型有益。我们对两种类型的模型进行了实验:一类是经过训练,可在文本输入之外接收图像输入,并具备 ICL(In-Context Learning)能力的模型(例如 OmniGen(Xiao 等,2024));另一类是通过后训练增强(post-training augmentation)引入图像编码器的 T2I(文本到图像)模型(例如 SDXL(Podell 等,2024)与 IP-adapter(Ye 等,2023)结合使用)。由于第一种模型具备 ICL 能力,我们可以通过调整原始提示(prompt),将检索到的图像作为示例提供给模型进行学习。尽管第二种模型缺乏真正的 ICL 能力,但它提供了基于图像的控制功能,我们可以利用这些功能,将 RAG(Retrieval-Augmented Generation)应用于该模型。
因此,对于这两种模型类型,我们增强输入提示,使其包含检索到的图像作为示例。具体而言,给定一个提示
p
p
p,
n
n
n 个概念,以及每个概念
k
k
k 个兼容的图像,我们使用以下模板来创建新提示:
"According to these examples of
<
c
1
>
:
<
i
m
g
1
,
1
>
,
…
,
<
i
m
g
1
,
k
>
,
…
,
<
c
n
>
:
<
i
m
g
n
,
1
>
,
…
,
<
i
m
g
n
,
k
>
<c_1>:<img_{1,1}>, \ldots,<img_{1, k}>, \ldots,<c_n>:<img_{n, 1}>, \ldots,<img_{n, k}>
<c1>:<img1,1>,…,<img1,k>,…,<cn>:<imgn,1>,…,<imgn,k>, generate
⟨
p
⟩
\langle p\rangle
⟨p⟩ ",
其中
c
i
c_i
ci(
i
∈
[
1
,
n
]
i \in[1, n]
i∈[1,n])是图像
i
m
g
i
,
j
img_{i, j}
imgi,j(
j
∈
[
1
,
k
]
j \in[1, k]
j∈[1,k])的兼容字幕。
该提示允许模型从图像中学习缺失的概念,从而引导其生成所需的结果。
个性化生成:对于支持多个输入图像的模型,我们也可以将我们的方法应用于个性化生成,以生成具有个人概念的罕见概念组合。在这种情况下,我们使用一个图像作为个人内容,而1+其他参考图像用于缺失概念。例如,给定一个特定猫的图像,我们可以生成它的各种图像,从猫的马克杯到乐高积木,或者像猫写代码或教狗教室这样的非典型情况(图4)。
图四:个性化生成示例。ImageRAG可以与个性化方法并行工作,并增强其功能。例如,尽管OmniGen可以基于图像生成主题的图像,但它很难生成一些概念。使用我们的方法检索的引用,它可以生成所需的结果。
4. Implementation Details
我们使用 LAION 数据集的一个子集(Schuhmann 等,2022),其中包含 35 万张图像,作为从中检索图像的数据集。作为检索相似度度量,我们使用 CLIP “ViT-B/32”。对于 VLM,我们使用 GPT-4o-2024-08-06(Hurst 等,2024),并将温度设为 0,以获得更高的一致性(在较高温度下,GPT 可能无法找到概念,详见 Sec. 3.1.1)。完整的 GPT 提示在附录 A 中提供。
作为我们的 T2I 生成基础模型,我们使用 SDXL(Podell 等,2024),并配备 ViT-H IP-adapter(Ye 等,2023),具体版本为“ip-adapter-plus_sdxl-vit-h”,ip_adapter_scale 设为 0.5。此外,我们还使用 OmniGen(Xiao 等,2024),并采用默认参数(引导系数 2.5,图像引导系数 1.6,分辨率 1024×1024)。
由于 OmniGen 仅支持 3 张图像作为上下文,因此我们最多选择
k
=
3
k = 3
k=3 个概念用于每个提示,并为每个概念选择
n
=
1
n = 1
n=1 张图像。而对于 SDXL,由于所使用的 IP-adapter 仅限于 1 张图像,因此我们仅使用 1 个概念和 1 张图像。