跳转至

DetPO: In-Context Learning with Multi-Modal LLMs for Few-Shot Object Detection

会议: ECCV2026
论文: ECCV 原文
作者: Gautam Rajendrakumar Gare, Neehar Peri, Matvei Popov, Shruti Jain, John Galeotti, Deva Ramanan
领域: 目标检测
关键词: 少样本目标检测、上下文学习、提示优化、视觉错误反馈、置信度校准

一句话总结

DetPO 把少量标注图像转化为可反复验证的文本类别定义,用误检收紧概念、用漏检拓宽概念,在冻结多模态大语言模型的前提下提升少样本检测,并通过可选的逐框 VQA 重评分进一步改善检测排序。

研究背景与动机

通用多模态大语言模型(MLLM)已经能直接生成边界框,但熟悉基准上的定位能力不等于理解新的标注概念。 RF20-VL 涵盖航拍、医学影像、工业缺陷与动作等领域,目标可能由材料性质、局部异常或场景关系共同决定。 例如,两个正在击球的人姿态相似,类别差异却可能取决于人在球网附近还是发球线之后。 只输入类别名无法充分表达这种边界,而重新微调模型又要求权重访问和额外训练资源。 对只能经 API 使用的模型,研究者需要一种只依赖输入与输出的适配接口。

直接把标注示例塞进上下文看似自然,却不是可靠答案。 原文表 1 中,Qwen3-VL 8B 使用类别名和文字说明得到 11.4 mAP,再加入图像示例反而降至 7.0。 Qwen2.5-VL 7B 也从 6.2 降至 1.8;不过 Gemini 3 Pro 在该表中从 23.0 升至 23.9,因此不能概括为所有模型都受损。 作者推测固定的后训练提示格式限制了模型吸收额外视觉上下文的能力,但本文没有直接验证这一训练层面的因果解释。 真正要解决的是:标注样本已经提供了信息,如何让这些信息以目标模型能利用的形式进入检测决策?

DetPO 不要求测试阶段的检测器现场模仿示例,而是先用示例发现一个更准确的类别定义。 单个检测分数只能告诉优化器效果变差,却不能指出它把什么看错;可视化误检和漏检则能说明概念边界应向哪里移动。 由此,视觉样本被用于提示发现,部署时只保留优化后的文字以及待检测图像。 核心 idea:把少样本适配变成有视觉错误证据的文本概念修订,再把类别理解与逐框置信度估计分开处理。

方法详解

整体框架

输入是类别名、少量带框训练图像,以及用于选择候选提示的少样本验证集;输出是测试图像中的类别、边界框与置信度。 目标模型负责检测,批评模型负责阅读视觉证据并改写类别说明;实验中两种角色通常使用同一个 MLLM,而非训练两个新网络。 首先进行对比式提示修订,再通过验证选择与自报分数得到可部署检测器,最后可选地执行逐框 VQA 重评分。 这里的“纯文本提示”仅指不再附带训练示例图像,测试图像本身当然仍是多模态输入。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        Train["少样本训练图像<br/>类别名与真实框"] --> Refine["对比式提示修订"]
        Refine -->|训练检测的误检与漏检| Refine
        Refine --> Select["验证选择与自报分数"]
        Valid["少样本验证集"] -->|仅选择提示| Select
        Test["待检测图像"] -->|部署输入| Select
        Select -->|可选| VQA["逐框 VQA 重评分"]
        Select -->|默认直接输出| Output["类别、边界框与置信度"]
        VQA --> Output

训练图像上的错误反馈只用于适配环路,验证集只用于选择提示,不能把两者画成测试时需要的输入。 采用可选 VQA 时,评分器再次读取测试图像和预测框,但不读取测试集真实标注。 方法改变的是自然语言指令与预测排序,不更新视觉编码器、语言模型或检测头权重。

关键设计

1. 对比式提示修订:让误检收紧定义,让漏检拓宽定义

初始化并非简单扩写类别名称。 对每个类别,模型先观察训练集中的真实实例,概括这些实例共同具有的视觉特征。 随后把该类与其他类别的真实实例对照,保留能区分它们的属性,而不是只罗列普遍存在的颜色、形状或纹理。 得到初始描述后,目标模型在训练图像上运行检测,以真实框为参照识别误检和漏检。 这一步很重要,因为“描述听起来合理”与“用它能得到正确检测”并不是同一个目标。 对比信息来自真实任务中的类别边界,而不是批评模型凭常识独立想象。

每轮从最严重的错误中选择反馈样本,原文举例用高置信度筛选误检、用低 IoU 筛选漏检。 批评模型看到的是完整图像,参考真实实例与错误实例由不同颜色的框标出,因此能够利用场景关系而非仅看裁剪物体。 对于误检,先比较它与参考真例的差异,再修改定义,使这个错误实例被排除。 对于漏检,先比较它与参考真例的共同点,再放宽定义,使此前遗漏的合法实例被包含。 改写后重新检测训练集,重复此过程,直到训练表现收敛或达到最大修订步数。 原文没有在可用主文中给出所选错误数 \(K\)、匹配阈值和最大步数,不能将这些细节补成固定配置。

这种修订比只把 IoU 数字交给通用提示优化器更有方向性。 一个遮挡实例被漏掉时,视觉反馈能帮助批评模型发现“必须完整可见”之类的隐含约束过强。 一个相似动作被误检时,修订可以加入位置或动作阶段限制,而非反复改写同义词。 作者在图 2 中展示了去掉“黑色球衣”限制、加入“正在跳跃”条件的变化,说明修订既可能删除属性,也可能增加属性。 这些是概念边界调整,不是坐标回归规则;它们无法直接保证输出框更精确。

2. 验证选择与自报分数:挑选可泛化的描述,并让检测结果可排序

训练集上越来越详细的类别说明可能记住少量样本的偶然特征,因此不能直接把最后一轮当作最终提示。 原文在优化后生成多个候选修订,并将它们与初始提示一起放到少样本验证集上评估。 验证表现最好的提示才用于测试;保留初始提示也提供了回退到较简单定义的机会。 这里是离散文本候选的选择,不是对提示嵌入做梯度下降,也不是在测试集上搜索最优说明。 主文未给验证样本数和候选数量,复现实验时仍需附录或代码确认。

另一个独立问题是 MLLM 默认只返回框,不提供专业检测器常见的逐框置信度。 基线对所有框赋 1.0,会丢掉区分可靠预测与误检的排序信息。 DetPO 直接在提示中要求每个框同时返回一个分数,使模型在同一次检测生成中给出框和置信度。 相较于事后逐框问答,这不增加额外模型调用;但输出分数仍是模型自述,不能自动解释为校准过的正确率。 优化环路使用这种廉价评分,避免每次修订都支付一次完整的逐框视觉验证费用。 最终可以保留自报分数直接部署;19.4 mAP 的 Qwen3-VL 结果对应这一设置,而非 VQA 后处理。

3. 逐框 VQA 重评分:用单个实例的视觉证据替代联合自述

自报分数与整张图上的所有检测共同生成,模型不一定逐一核实每个框的视觉证据。 可选后处理将一个预测框画回原图,询问该框内是否存在指定类别的实例,并要求回答 Yes 或 No。 保留原图而非仅截取框内区域,也保留了判断动作、上下文和邻近关系所需的信息。 每个框分别评估后,使用 Yes 与 No 的词元概率得到新分数:

\[ s_{\mathrm{VQA}} = \frac{p(\mathrm{Yes})}{p(\mathrm{Yes}) + p(\mathrm{No})}. \]

缓存中的分式排版有错位,上式按第 7 页明确的“归一化 Yes 概率”文字释义呈现。 它只重估已有框的置信度,不移动边界框,也不能创造第一阶段没有输出的检测。 单独检查每个候选框能降低部分误检的排名,但也可能压低真正目标,造成召回损失。 由于每个预测都需一次额外评估,计算量随预测框数量线性增长,这不是免费的检测增强。 Gemini 3 Pro 的 API 不提供所需词元概率,因此论文用 Qwen3-VL 30B-A3B 对 Gemini 的框重评分。 所以相应的最终结果包含跨模型组合,不能表述成 Gemini 单模型自行完成校准。

一个完整示例

以原文图 3 的排球动作类别 Attack 与 Serve 为例,两类都可能出现腾空击球的人。 如果初始提示主要描述姿态,检测器容易把发球当成进攻;重复提供同类姿态照片未必能消除歧义。 对比式提示修订把错误预测与真实进攻实例放在完整场景里比较,发现球网和发球线位置更有区分力。 于是 Attack 的说明强调网前位置,Serve 的说明强调发球线之后的位置,再回到训练图像检查混淆是否减少。 验证集选择有效描述后,测试时仅输入新图像和选定说明,模型输出候选框及自报分数。 如果启用 VQA,每个框再在完整测试图像中接受一次类别判断,低分框在检测排序中后移。 这一示例解释信息如何流动,不额外虚构图中没有报告的候选框数量或单例 AP。

损失函数 / 训练策略

DetPO 没有可训练参数的损失函数;优化对象是类别描述,反馈来自少样本检测表现。 RF20-VL 按类别提供 10-shot 训练示例及丰富标注说明,主文另外使用少样本验证集选择候选提示。 “测试时优化”指目标任务上的无梯度适配,不表示使用测试标签,也不意味着每张测试图都重跑提示搜索。 提示发现的调用成本通常一次性支付,之后复用文本提示;可选 VQA 则在每张测试图上持续增加逐框调用。 图 4 报告多数领域的增益在约第 6 轮开始趋缓,这一观察不等于统一的停止超参数。 本文引用的附录 A、C、D 不在所给缓存内,具体模型配置、伪代码和完整提示模板未能核验。

实验关键数据

主实验

RF20-VL 包含 20 个数据集,使用 COCO 标准检测 mAP;All 是跨数据集平均值,不应拿展示的领域列自行求平均。 下表摘自原文表 2(第 9 页)与表 3(第 10 页),所有结果均为 RF20-VL 的 All mAP。 类别名、说明和图像指提示所用信息;DetPO 的少样本图像用于提示发现,测试时不再直接附带这些示例。

模型 配置 All mAP 来源
GroundingDINO 类别名 16.8 表 2
LLMDet 类别名 17.2 表 2
Qwen3-VL 30B-A3B 类别名 + 说明 11.9 表 2
Qwen3-VL 30B-A3B GEPA 13.0 表 2
Qwen3-VL 30B-A3B MIPROv2 10.7 表 2
Qwen3-VL 30B-A3B DetPO,自报分数 19.4 表 3
Qwen3-VL 30B-A3B DetPO + VQA Score 21.6 表 2
Gemini 3 Pro 类别名 + 说明 + 图像 23.8 表 2
Gemini 3 Pro GEPA 25.6 表 2
Gemini 3 Pro MIPROv2 25.0 表 2
Gemini 3 Pro DetPO + Qwen VQA Score 26.3 表 2

Qwen3-VL 的自报分数版本相对 11.9 基线增加 7.5 mAP,加入 VQA 后总增益为 9.7。 因此“增加 9.7”指相对于基础提示,不是相对于 GEPA;相对 GEPA 的 13.0,最终版本增加 8.6。 原文正文与表 2 图注写 Gemini 结果为 26.4,但表 2、表 5 的数据行均为 26.3,本笔记表格保留数据行并明确分歧。 同样,Gemini 的图像上下文基线在表 1 为 23.9,在表 2 为 23.8,不能自行统一或据此精算跨表增益。

消融实验

原文表 4(第 10 页)使用 Qwen3-VL 30B-A3B,对比优化提示下的不同置信度估计。 Document 与 Flora & Fauna 是领域 mAP,All 为全部数据集的平均 mAP。

配置 Document Flora & Fauna All
类别名 + 说明基线 7.8 23.5 11.9
对比式提示优化 + 自报分数 18.6 34.6 19.4
优化提示 + SigLIPv2 Score 13.4 28.0 16.4
优化提示 + VQA Score 25.2 36.5 21.6

SigLIPv2 用预测框裁剪与类别名的余弦相似度评分,相对自报分数使 All 下降 3.0;VQA 则提高 2.2。 这支持逐实例视觉判断优于简单图文相似度的结论,但该表没有独立隔离“只改提示”和“只加自报分数”的贡献。 表 3 还显示 Qwen2.5-VL 7B 的基线、DetPO、VQA 结果依次为 6.2、9.1、11.9,说明较小模型也能受益。

关键发现

  • 图 6(第 13 页)的 TIDE 分析显示类别混淆减少,但 VQA 后定位问题和漏检成为更突出瓶颈,mAP 上升不等于所有错误都下降。
  • 表 4 的医学领域在基线、自报分数、VQA 设置下分别为 0.7、0.1、0.2,不能宣称各领域一致提升。
  • 表 5(第 12 页)中微调 GroundingDINO 达到 33.4,仍高于最好的黑盒提示结果;低访问权限与全参数可训练是不同实验条件。
  • 主文声称在 LVIS 上也有效,但数值被放在缺失的附录 E,本笔记不复述未经核验的 LVIS 定量结论。

亮点与洞察

  • 视觉反馈给提示优化提供了具体修订方向。与纯数值奖励相比,它能指出错误源于背景、动作关系还是过强的外观约束。
  • 训练时用图、部署时用文字,让冻结模型也能积累任务特定知识。读者可将其理解为把少量标注经验压缩成可检查的概念说明,而非模型权重中的新知识。
  • 定义修订与置信度估计解决不同问题。前者影响检测对象,后者影响已有预测的排序,分开观察有助于识别真实收益来源。

局限与展望

  • 作者承认提示发现有显著调用成本,可能接近训练专用模型的计算开销;无梯度不等于无需计算,VQA 还会引入持续的逐框开销。
  • 基础模型在医学图像上几乎不具备能力时,优化文字难以补齐视觉表征缺口;更强领域基础模型与提示改进应分别评估。
  • 错误下调真实框会降低召回,后续应联合检查置信度校准、定位质量与漏检,而不只追求单个 mAP 数字。
  • 作者提醒闭源 API 可能把提交的图像和提示用于未来训练,这涉及数据保密及后续评测污染风险,并非本文已证实发生的数据泄漏。
  • 缓存缺少附录,且 Gemini 汇总值存在内部差异;表 5 的 Qwen3-VL 30B-A3B 基线行也与表 2–4 不一致,因此本笔记的该模型基线采用表 2–4 的 11.9。

相关工作与启发

  • 与 GEPA、MIPROv2 对比:本文比较中的通用优化器依靠较抽象的任务反馈,DetPO 把带框的视觉错误交给批评模型;结论限定于本文的检测设置,而非通用提示优化能力排名。
  • 与 GroundingDINO、LLMDet 对比:这些专用检测器具备成熟定位能力,DetPO 的优势是冻结通用模型也能适配新概念,但还没有超越充分微调的专用检测器。
  • 与多模态 ICL 对比:直接输入示例图像与利用示例搜索文本提示是两种不同路径,表 1 的负结果针对前者,不意味着视觉示例本身没有信息。
  • 可延伸方向:可研究怎样选择最能改变类别边界的误检、漏检,以相同调用预算比较错误采样策略;这是读者提出的研究方向,不是本文已完成的消融。

评分

  • 新颖性: 4/5。将检测错误的视觉对照用于离散提示修订,任务针对性强,但仍建立在已有提示优化与 VQA 评分方法上。
  • 实验充分度: 4/5。包含多模型、跨领域、评分消融与错误诊断,成本匹配和独立组件归因仍不充分。
  • 写作质量: 3/5。主方法清晰,但汇总值不一致,且当前缓存无法补齐附录中的实现细节。
  • 价值: 4/5。为无权重访问的少样本检测提供可复用方案,同时清楚暴露定位与基础视觉能力的上限。