引言

想象一下,你正在网上买衬衫。你发现了一张照片,上面的衬衫剪裁和面料都很完美,但它是蓝色的,而你真心想要灰色的。在标准的文本搜索中,准确描述你想要的东西是很困难的 (例如搜索“像这件但要是灰色的衬衫”) 。这正是 组合图像检索 (Composed Image Retrieval, CIR) 大显身手的地方。

CIR 允许用户结合参考图像 (那件蓝色衬衫) 和文本指令 (“把蓝色改成灰色”) 进行搜索。理想情况下,系统应该理解它需要保留图像中的形状和面料,但根据文本改变颜色。

然而,在这个过程中潜伏着一个根本性的问题: 组合冲突 (Compositional Conflict)

参考图像包含强烈的视觉信号 (蓝色!长袖!) 。文本指令提供了相互矛盾的信号 (灰色!短袖!) 。当神经网络试图同时处理这两者时,这些信号就会发生冲突。模型应该输出一件蓝色衬衫吗?还是灰色衬衫?或者是两者模糊不清的混乱混合体?

在这篇文章中,我们将深入探讨一篇 CVPR 论文,题为 “CCIN: Compositional Conflict Identification and Neutralization for Composed Image Retrieval” (CCIN: 用于组合图像检索的组合冲突识别与中和) 。 这项研究提出了一个新的框架,它不仅仅是将图像和文本简单地拼凑在一起。相反,它利用大语言模型 (LLM) 智能地识别图像中究竟哪些部分与文本冲突,并在执行搜索之前将它们“中和”。

图 1: 包含组合冲突的多模态查询示例。

如图 1 所示,参考图像是一件蓝色的长袖衬衫。文本要求“灰色”和“短袖”。传统方法在这里很吃力,因为“蓝色”和“长袖”的视觉特征仍然存在于参考嵌入中。CCIN 框架旨在通过顺序识别并消除这些冲突来解决这个问题。

背景: 组合图像检索的挑战

要理解 CCIN 的创新之处,我们需要先了解 CIR 通常是如何工作的。

在标准方法中,模型 (通常基于视觉-语言预训练,或 VLP) 从参考图像和文本中提取特征。然后,它使用拼接、注意力机制或门控机制等方法融合这些特征,创建一个单一的“查询表示”。然后使用该查询在数据库中搜索目标图像。

“冲突”问题

当文本明确地与图像相矛盾时,问题就出现了。

  • 参考图: 一只坐着的狗。
  • 文本: “让狗站起来。”

如果模型盲目地融合特征,生成的表示就会同时包含“坐着” (来自图像) 和“站着” (来自文本) 。在高维特征空间中,这种混合表示可能会偏离真实目标 (一只站着的狗) ,落在中间的某个位置,或者优先考虑坐着狗的强烈视觉信号,完全忽略文本。

以前的工作试图通过在图像特征上使用“可学习掩码”来解决这个问题——本质上是试图让图像中可能无关的部分变暗。然而,这些方法以“黑盒”方式运作。它们并不知道具体的冲突 是什么 (例如,“坐着与站着”) ;它们只是试图抑制噪声。这往往导致结果不精确。

核心方法: CCIN

研究人员提出了一个名为 组合冲突识别与中和 (Compositional Conflict Identification and Neutralization, CCIN) 的框架。这里的理念简单而强大: 你无法修复一个你尚未识别的冲突。

该框架分两个不同阶段运行:

  1. 识别 (Identify) : 使用 LLM 分析图像描述和指令,准确找出哪些属性存在冲突。
  2. 中和 (Neutralize) : 使用双指令机制提取视觉特征,明确排除冲突属性,同时保留其他所有内容。

让我们以此拆解其架构。

图 2: 所提出的 CCIN 方法结构概览。

如图 2 所示,该架构由 组合冲突识别 (CCI) 模块 (上半部分) 和 组合冲突中和 (CCN) 模块 (下半部分) 组成。

模块 1: 组合冲突识别 (CCI)

第一个挑战是弄清楚什么需要改变。视觉特征是抽象的数字;它们不会告诉我们“这是蓝色”。然而,文本是语义化的。

CCI 模块通过以下步骤弥合了这一差距:

  1. 生成描述 (Captioning) : 图像描述模型 (如 BLIP-2) 生成参考图像的详细描述 (\(T_{ref}\)) 。
  2. 合成 (Synthesis) : 系统使用连接词“However” (然而) 将参考图像描述与用户的修改指令 (\(T_{mod}\)) 结合起来。
  • *例子: * “一件蓝色长袖衬衫。” + However + “把它变成灰色和短袖。”
  1. LLM 分析: 这个组合文本被输入到一个大语言模型 (如 GPT-4) 中,并带有一个特定的提示 (\(P_{con}\)) ,要求它识别冲突属性 (\(T_{con}\)) 。

这个过程可以形式化为:

公式 1: 使用 LLM 确定冲突属性。

通过将视觉内容转换为文本,系统利用 LLM 强大的推理能力来执行逻辑检查。LLM 输出造成麻烦的具体属性 (例如,“衬衫颜色”,“袖长”) 。

图 6: 冲突识别的定性结果。

图 6 展示了实际操作。看最上面的例子: 参考图是一件扎染衬衫。文本要求一件黑色乐队 T 恤。CCI 模块正确地识别出“图案 (pattern) ”和“图形 (graphic) ”是冲突属性。

模块 2: 组合冲突中和 (CCN)

一旦识别出冲突,我们要如何阻止模型在图像中“看到”它们?这就是 CCN 模块发挥作用的地方。它使用了一种涉及 双指令 (Dual Instructions) 的策略。

步骤 A: 生成“保留指令”

首先,系统要求 LLM 通过 移除 上一步中识别出的冲突属性来重写原始参考图像描述。这将创建一个称为 保留指令 (Kept Instruction) (\(T_{kept}\)) 的新文本。

公式 2: 生成保留指令。

  • 原始描述: “一件带领子的蓝色长袖衬衫。”
  • 冲突: “颜色”,“袖长”。
  • 保留指令: “一件带领子的衬衫。”

这个 \(T_{kept}\) 至关重要。它准确描述了我们希望从参考图像中 保留 什么。

步骤 B: 双路径特征提取

研究人员利用 Q-Former (BLIP 架构中的一个组件) 从参考图像中提取特征。然而,他们在这里做了一些独特的事情。他们并行运行 Q-Former 两次,使用不同的文本指导:

  1. 路径 1 (保留) : Q-Former 在 保留指令 (\(T_{kept}\)) 的指导下观察参考图像。这提取了非冲突部分的视觉特征 (例如,领子、面料纹理) 。
  2. 路径 2 (修改) : Q-Former 在 修改指令 (\(T_{mod}\)) 的指导下观察参考图像。这有助于模型将视觉特征与请求的更改对齐。

公式 3: 使用双指令提取特征。

这里,\(\mathcal{F}_Q\) 代表 Q-Former。结果是两组视觉特征: \(f_{kept}\) (保留的部分) 和 \(f_{mod}\) (改变的部分) 。

步骤 C: 自适应融合

现在系统已经将“好”的视觉特征与“坏”的分离了。它需要重新组合它们。它使用一个可学习的门控机制 (带有 Sigmoid 激活的 MLP) 来权衡使用多少保留特征与多少修改特征。

公式 4: 融合保留的和修改后的视觉特征。

最后,这些中和后的视觉特征 (\(f_{neu}\)) 与修改指令的文本特征 (\(f_{t}\)) 融合,创建最终的查询表示。

公式 5: 最终查询表示。

这个最终向量 \(f_{query}\) 代表了目标图像的“柏拉图式理想形态”: 它包含原始图像的视觉结构 (减去冲突) ,加上新指令的语义含义。

训练目标

为了训练这个复杂的架构,研究人员使用了一个由三部分组成的复合损失函数:

公式 6: 总损失函数。

  1. \(\mathcal{L}_{ITC}\) (图像-文本对比损失) : 标准损失,将查询表示拉近目标图像,并推离非目标图像。
  2. \(\mathcal{L}_{WRT}\) (加权正则化三元组损失) : 利用相对距离确保正对 (查询 + 正确目标) 比负对更接近。
  3. \(\mathcal{L}_{OPR}\) (正交投影正则化) : 这是一个巧妙的补充。它强制“冲突”特征在数学上与目标特征正交 (垂直) 。在向量空间中,如果两个向量正交,它们就是不相关的。这明确地强制模型“遗忘”冲突信息。

实验与结果

研究人员在三个标准数据集上评估了 CCIN: FashionIQ (时尚图像) 、CIRR (现实生活图像) 和 Shoes (鞋类) 。

定量性能

结果令人信服。如下面的表 1 所示,CCIN 优于最先进的方法,包括 SPRC 和 TG-CIR。

表 1: FashionIQ 和 CIRR 上的 CIR 性能评估。

例如,在 FashionIQ 数据集 (连衣裙类别) 上,CCIN 实现了 49.38% 的 Recall@10,超过了之前最好的 48.83%。虽然百分比的差距看起来很小,但在密集检索的世界中,考虑到任务的难度,这些都是显著的提升。

同样,在 Shoes 数据集 (表 2) 上,该方法也显示出一致的优势。

表 2: Shoes 数据集上的评估。

定性分析

数字固然重要,但视觉结果更能说明问题。让我们看看 CCIN 和竞争对手 SPRC 之间的比较。

图 4: 比较 SPRC 与 CCIN 的定性结果。

看看图 4 中底部关于狗的例子。

  • 参考图: 一只站着的狗。
  • 指令: “让狗趴下并向右看。”
  • 结果: 竞争对手 (SPRC) 检索到的狗仍然站着或姿势模糊。为什么?因为参考图像中的“站立”特征没有被中和。然而,CCIN 成功检索到了一只趴着的狗。它成功地识别出“姿势”是一个冲突,并中和了“站立”的视觉线索。

LLM 重要吗?

CCIN 框架严重依赖 LLM 来识别冲突。使用哪个 LLM 有关系吗?研究人员测试了 Llama2-70B、GPT-3.5-Turbo 和 GPT-4。

图 7: 不同 LLM 在识别冲突方面的比较。

如图 7 (第 1 行) 所示,当被要求将 T 恤改为“长袖”时,GPT-3.5 未能识别袖长冲突,而 Llama2 错误识别了意图。 GPT-4 (紫色部分) 在准确发现图像描述与用户指令之间细微的逻辑矛盾方面最为稳健。这凸显了随着 LLM 变得更聪明,这种检索框架可能会变得更好。

消融实验

团队还进行了消融研究,以证明系统的每个部分都是必要的。

表 3: CCIN 框架的消融研究。

表 3 显示,逐步添加特定的损失函数 (\(\mathcal{L}_{WRT}\) 和 \(\mathcal{L}_{OPR}\)) 会提高性能。

此外,表 4 (如下) 验证了 双指令 策略。 使用保留指令或 使用修改指令的效果明显不如两者都用。你需要“保留”路径来维持身份,也需要“修改”路径来整合变化。

表 4: CCN 模块的消融研究。

结论与启示

CCIN 论文代表了我们对多模态任务思考方式的转变。这种方法不是将神经网络视为神奇融合数据的黑盒,而是引入了一个结构化、逻辑化的步骤: 首先识别问题。

通过利用 LLM 的推理能力明确识别组合冲突,该模型可以对特征向量进行“手术”——移除与用户意图相矛盾的特定属性,同时保留图像其余丰富的视觉细节。

关键要点:

  1. 冲突是敌人: 在组合图像检索中,最大的障碍是图像显示的内容与文本要求的内容之间的冲突。
  2. LLM 作为推理器: 我们不仅可以将 LLM 用于聊天,还可以将其作为逻辑处理器来指导计算机视觉任务。
  3. 显式中和: 有针对性地移除冲突特征比一般的“掩码”或“融合”效果更好。

随着我们迈向更具交互性的 AI 系统——我们可以通过与计算机对话来编辑和查找内容——像 CCIN 这样理解“保留这个,但改变那个”细微差别的方法将成为标准。