组合图像检索技术解析:从FISD基准看模型能力与多轮交互优化
1. 组合图像检索从“找相似”到“按需改”的进化在传统的图像搜索里我们习惯了输入关键词然后在一堆结果里大海捞针。但很多时候我们脑子里想的画面是“像这张图但要把背景换成雪山”或者是“这件衣服的款式不错但颜色要换成藏青色”。这种“基于参考图的修改指令”搜索就是组合图像检索Composed Image Retrieval, CIR要解决的核心问题。它不再是简单的找相似而是理解一个复合查询一张参考图 一段文本修改指令然后从海量图库中精准找出符合描述的目标图像。这背后的技术驱动力是视觉-语言大模型的飞速发展。模型需要同时“看懂”图片的视觉内容和“听懂”文本的修改意图并将两者在同一个语义空间里对齐。听起来很美好但实际做起来坑不少。比如你告诉模型“把图中的狗去掉”这种“否定语义”对现有模型来说就是个老大难问题。模型更擅长“添加”东西对于“移除”这种指令往往表现得不知所措。为了系统性地诊断模型的这些“偏科”现象学术界需要更精细的“体检表”这就是FISD基准诞生的背景。它不再笼统地看整体准确率而是把复杂的用户指令拆解成“加法”、“否定”、“改变”、“背景替换”等语义子集逐一考核让我们能看清模型到底在哪方面是短板。2. FISD基准设计为CIR模型做一次“全身体检”2.1 核心设计思路解构复杂指令现有的CIR基准测试如CIRR或FashionIQ虽然提供了真实的人机交互数据但它们评估的是模型在混合、复杂指令下的综合表现。这就好比只给学生一张综合试卷打分我们只知道他总分不高却不知道他是数学不行还是语文拖了后腿。FISD的设计哲学就是要把这张综合试卷拆开变成数学、语文、英语等单项测试。FISD定义了六个核心的语义子集基本覆盖了用户修改意图的主要类型加法Addition在参考图内容上增加新元素。例如“在天空中添加一个热气球”。否定Negation从参考图中移除特定元素。例如“去掉人物戴的帽子”。改变Change修改参考图中某元素的属性如颜色、形状、类别。例如“把红色的汽车变成蓝色”。背景Background替换或修改图像的背景场景。例如“把室内背景换成海滩”。数量Cardinality改变图中某类物体的数量。例如“把三只猫变成一只”。复杂指令Complex包含上述多种操作的组合长指令。例如“将场景改为夜晚添加星空并把人物的外套从夹克换成风衣”。通过这种解构我们可以精确评估一个模型在处理“去掉某个东西”否定时是否比“添加某个东西”加法要差差多少。这为模型的改进提供了非常明确的靶向。2.2 数据构建合成与筛选的艺术构建这样一个细粒度基准最大的挑战是如何大规模、高质量地生成参考图修改指令目标图这个三元组。FISD采用了一种“合成筛选”的混合策略针对不同子集采用了不同的方法。对于加法、否定、改变、背景这四个子集研究团队利用了大语言模型LLM的指令遵循能力。具体流程是首先从一个现有数据集中采样一张图片的描述作为参考描述然后将参考描述和指定的语义类别如“negation”输入给像Mixtral-8x7B这样的LLM提示它生成一条修改指令和目标图像的描述最后再用文生图模型根据目标描述生成目标图像。例如给定参考描述“一个男人在公园遛狗”并指定“negation”LLM可能生成指令“去掉狗”和目标描述“一个男人独自在公园散步”。注意这里的关键是提示工程。给LLM的指令必须清晰限定语义类型比如“指令类型只能是‘否定’”以防止它生成混合型指令污染了子集的纯净性。在实际操作中往往需要多轮调试提示词才能让LLM稳定输出符合要求的、高质量指令。对于数量子集构建方法更偏程序化。首先生成模板化描述如“一张包含{num}个{noun}的真实照片”其中数量从1到10物体名词来自常见类别。然后用扩散模型生成对应图像。这里的一个关键步骤是人工后处理因为扩散模型对数量的控制并不精确生成的“三只猫”可能只有两只清晰另一只很模糊。所以需要人工筛选和调整确保图像中物体的数量是明确且符合描述的。之后从同一类别中挑选三张数量不同的图分别作为参考图、目标图和困难负样本用于增加检索难度。对于复杂指令子集FISD直接利用了现有的高质量编辑数据集HQ-Edit。该数据集使用GPT-4V分析图像对生成丰富的编辑指令。FISD从中筛选出指令长度超过25个词的数据确保其复杂性。2.3 评估协议多轮交互模拟FISD的另一大贡献是提出了一套多轮评估流程。真实的图像搜索往往不是一蹴而就的用户会根据初次结果给出更细致的反馈。为了模拟这一过程FISD设计了一个“用户模拟器”它由多模态大模型MLLM和大语言模型LLM串联构成。第一轮用户提供参考图和初始文本指令模型返回一批候选图像。后续轮次模拟器会对比当前最佳候选图像和目标图像自动生成下一轮反馈指令。具体步骤是MLLM描述图像用一个简单的提示词如“Give me a short and precise English description of the image”让MLLM分别描述候选图和目标图。LLM生成反馈将两个描述输入LLM并提示“根据参考描述和目标描述生成一个从参考图过渡到目标图的修改指令”。对于FISD的不同子集提示词会约束反馈的语义类型例如在测试“否定”能力时会要求LLM“指令类型只能是‘否定’”。这套流程的能量在于它不仅能测试模型的静态检索能力还能评估其在迭代反馈下的动态优化能力。实验结果也表明多数模型在3-5轮交互后检索精度Recall1能有大幅提升这证明了多轮交互的实用价值。3. 从基准结果看CIR模型的挑战与现状3.1 否定语义当前模型的“阿喀琉斯之踵”FISD基准最显著的发现之一就是现有CIR模型普遍在处理“否定语义”时表现糟糕。在FISD的否定子集上模型的性能远低于其他子集。一个自然的怀疑是是不是因为FISD用了合成图像导致问题为了验证研究团队从使用真实图像的CIRR数据集中手动筛选出包含否定语义的查询进行测试。结果如表7所示即使在真实图像上模型在否定查询上的表现也明显低于其整体平均水平。表CIRR验证集上否定语义与整体性能对比方法Negation (R1)All (R1)Pic2Word17.8123.25Context-I2W20.5526.96SPRC31.5155.39数据来源论文附表R1表示排名第一的准确率这说明“否定语义”的困难是模型固有的能力缺陷而非数据偏差。究其原因可能在于主流训练数据图像-文本对和训练目标最大化图文相似度更侧重于建立“存在什么”的关联而非“不存在什么”。模型很难学会将“去掉X”这样的文本指令映射到图像特征空间中“X特征被抑制”的表示。3.2 多轮交互性能提升的“快车道”与成本多轮评估的结果带来了一个好消息和一个需要思考的问题。好消息是如表8所示几乎所有先进的CIR模型如SPRC、SPN4CIR、CLIP4CIR等在经过多轮交互后在各个数据集上的检索精度如Recall1, Recall10都有显著提升。例如SPN4CIR在FISD上的R1从第一轮的55.83%提升到了第五轮的84.92%。这清晰地证明允许用户进行迭代细化能极大改善最终搜索效果。表多轮评估下各模型性能变化示例FISD数据集Recall1方法Round 1Round 3Round 5TransAgg34.7577.6788.33CLIP4CIR47.1774.0881.83SPRC50.0877.0883.33SPN4CIR55.8379.3384.92但需要思考的问题是推理成本。每增加一轮交互意味着需要额外调用一次模型进行前向传播和检索。对于拥有数十亿甚至上百亿参数的视觉-语言模型这会显著增加响应延迟和计算开销。论文也探讨了可能的优化策略例如不是对所有查询都进行多轮探索而是根据第一轮的结果置信度或查询的所属类别子领域动态决定是否启动多轮交互。或者在第一轮检索后先大幅缩小候选池的范围后续轮次只在这个小池子里进行精炼从而降低计算量。3.3 模型对比谁在领跑从表8的横向对比可以看出在不同数据集和不同交互轮次上SPN4CIR和SPRC模型 consistently 处于领先地位。这些SOTA模型通常采用更精妙的架构例如SPRC可能侧重于语义解耦和重组能更好地分离图像中的不同概念从而更精准地执行“改变A但保留B”这类指令。SPN4CIR可能引入了更强大的提示学习或适配器模块能更有效地将文本指令的语义注入到图像特征表示中。而一些基于经典CLIP架构进行简单微调的模型如Pic2Word性能则相对落后。这说明了对于CIR任务简单的特征拼接或相加是不够的需要设计专门的网络模块来处理图文特征的深度融合与条件化变换。4. 实操启示如何应对复杂检索需求4.1 构建更鲁棒的CIR系统从FISD的评估中我们可以得到几点构建实用CIR系统的启示正视否定语义的挑战如果你的应用场景可能涉及“去掉XX”这类指令不要指望现有开源模型能很好解决。需要在训练数据中刻意增加高质量、多样化的否定语义样本对。一种实践方法是利用FISD的合成方法针对自己的业务图像如商品图批量生成否定指令数据对基础模型进行针对性微调。设计多轮交互接口单次检索不满意是常态。产品前端应该设计友好的反馈机制让用户可以方便地指出“哪里不对”。与其让用户重新组织语言不如提供结构化选项例如“是颜色不对款式不对还是背景不对” 这可以降低用户表达成本也使得生成的反馈指令对模型更友好。利用用户模拟器进行压力测试在模型上线前可以借鉴FISD的多轮评估流程构建一个针对自己业务数据的用户模拟器对模型进行自动化、大规模的多轮交互测试。这能帮助发现模型在特定类别或指令下的脆弱性比如是否一遇到“改变材质”的指令就失效。4.2 数据标注与提示工程心得在尝试复现或改进CIR模型时数据构造环节有几个踩过的坑值得分享指令的清晰度与歧义让LLM生成修改指令时最初我们使用的提示词比较宽泛导致生成的指令混杂多种语义。例如“让图片更夏天”可能同时包含“改变天空颜色”改变、“添加太阳镜”加法和“换成沙滩背景”背景。这不利于纯净子集的评估。后来我们严格约束提示词例如“只进行背景替换不要改变前景物体”才得到干净的数据。心得是指令生成的目标越单一、越具体后续的模型评估和问题诊断就越清晰。困难负样本的选择在构建数量Cardinality这类数据集时困难负样本的选择直接影响检索难度。如果负样本只是数量不同但其他特征差异很大任务就太简单。我们选择的是同一类别、相似背景、相似布局仅仅数量不同的图像作为负样本。例如参考图是“三只坐在沙发上的白猫”目标图是“一只坐在沙发上的白猫”那么困难负样本可以是“两只坐在沙发上的白猫”。这迫使模型必须真正理解“数量”这个属性而不是依赖其他视觉线索。人工校验的必要性完全依赖合成流程LLM扩散模型会产生“幻想”数据。例如指令是“添加一顶帽子”扩散模型可能生成了一顶形状怪异、不符合物理规律的帽子。虽然图像看起来“有帽子”但作为检索目标是不合理的。因此对合成结果尤其是目标图像进行快速的人工抽样校验至关重要可以过滤掉明显不合理的数据提升基准的整体质量。5. 未来展望走向更智能的交互式搜索FISD基准和多轮评估为我们指明了CIR技术未来发展的几个关键方向模型架构创新需要设计能更好理解否定、数量等复杂语义的模型。或许需要引入符号推理、场景图等结构化表示或者设计新的损失函数显式地让模型学习“特征抑制”与“特征增强”的对应关系。指令理解与生成如何让模型理解更模糊、更口语化的用户指令如何让模型在交互中主动提问以澄清歧义这需要将CIR与对话系统、指令细化等技术更深度地结合。效率与效果的平衡多轮交互的效果提升显著但成本也高。未来的系统可能需要一个“决策模块”根据当前查询的难度、用户的历史行为、以及系统的实时负载动态选择是进行单轮检索还是启动多轮精炼实现资源的最优配置。组合图像检索正在让图像搜索从“关键词匹配”的蛮荒时代走向“语义理解与创造”的智能时代。FISD基准就像一面镜子既照出了当前技术的不足也映出了未来充满可能性的道路。对于从业者而言关注这些细粒度的评估维度在模型选型、数据准备和产品设计上有的放矢才能打造出真正理解用户意图的视觉搜索体验。