点击这里获取 👉 原文链接
点击这里获取 👉 B站原创视频解读
“定位左侧第二个没戴头盔的警员”——这种人类看一眼就能完成的指令,却让当前最强的分割模型频繁翻车。它们要么把多个目标混成一个语义区域,要么在多目标场景下反复生成相同Mask,甚至需要多轮Agent调用花费近30秒才能完成一次推理。今天要解读的这篇工作,用一套“推理→实例Query”的显式接口,让2B参数的模型在复杂指令分割上全面碾压7B级端到端方法,甚至超越多轮Agent流程。读完本文,你将彻底理解:为什么并行可学习Query比自回归[SEG] token更高效、混合注意力如何抑制重复预测、以及一个精心设计的数据引擎能带来什么样的质变。
🔥 开源代码已放出:github.com/DCDmllm/Ins…
❓ 核心痛点:为什么99%的指令分割方案都失败了?
你写下一句“找出这组图中没有佩戴头盔的警员”,希望模型能精准输出每个未戴头盔警员的独立掩码。但现有做法存在两个致命缺陷:
- 多轮Agent管线:先用VLM把指令拆成多个短语(“警员”“未戴头盔”),反复调用SAM3生成候选mask,再用规则或验证prompt后过滤。这个过程不仅速度慢(单个样本需要29.6秒),而且每一步都可能丢失语义——改写会丢掉“没有”这样的否定约束,过滤会累积错误。
- 端到端[SEG] token方案:让LLM自回归生成多个[SEG] token,每个token对应一个mask。但[SEG]是共享符号,缺乏显式实例绑定机制,导致生成的mask频繁重复或不一致。而且目标越多,自回归生成延迟线性增长。
下图清晰地展示了三种范式的差异:传统SAM3只支持简单短语提示;常见MLLM方法用[SEG] token但存在语义级分割与重复预测;而本文提出的InstructSAM通过并行实例查询实现一次前向传播完成多实例分割。
图:三种指令驱动分割范式的对比——SAM3(仅短语提示)、常见MLLM(语义级[SEG] token)与本文InstructSAM(并行实例查询)。
但为什么99%的优化尝试都失败了?关键就在于架构设计——没有在推理过程和实例输出之间建立显式、可学习的接口。
🚀 原理拆解:InstructSAM如何实现“一图分割任意指令”
💡 整体架构:推理→实例Query的桥梁
InstructSAM的核心思想是:不让LLM直接“说出”mask,而是让它解析指令后生成一组结构化的实例感知Query,再通过一个轻量MLP投影到SAM3的检测器Query空间,驱动mask解码器一次生成所有实例mask。这种设计解耦了指令理解与像素预测,使得SAM3不需要内化指令语义,只需做好它最擅长的开放世界分割。
下图是整体架构:
图:InstructSAM的整体框架——图像与短语经编码器输入多模态LLM,LLM内部通过混合注意力机制与可学习Query Bank交互,输出LLM条件化查询,再投影到SAM3解码器生成多实例掩码与分数。
💡 并行实例Query库:显式的集合结构接口
给定图像 和指令 ,图像编码器生成视觉token ,指令被分词为文本嵌入 。作者引入一个可学习的查询库 ,控制单次前向传播可预测的最大实例数(默认)。
关键创新在于用并行可学习Query代替自回归的[SEG] token。当模型遇到触发token <mask_start>时,将所有Query插入多模态序列:
其中 是LLM生成的短目标短语(如简洁的指代描述),作为辅助条件。LLM生成上下文隐藏状态后,提取每个Query对应的嵌入 。每个 成为一个“grounded实例假设”,整合了指令语义、全局视觉和Query间交互。
这种设计的直觉:就像多个并行的侦探同时分析线索,每个侦探专注一个潜在目标,但它们之间可以互相交流(通过混合注意力),防止两个人跟踪同一个对象。
💡 混合注意力设计:既要语言生成,又要集合预测
传统Transformer的因果注意力让每个token只能看到前面的token,这对于语言建模(自回归)是好的。但实例Query需要全局地看到所有图像、指令和其他Query,才能做出实例判别并抑制重复。作者提出混合注意力模式:
- 文本token:保持标准因果注意力(自回归生成)。
- Query token:允许全上下文注意力,即可以双向关注视觉token、文本token以及其他Query token。
形式化地,注意力掩码 中:对文本位置 ,仅当 时 ;对Query位置 ,对所有 设 。
这个设计太巧妙了!它让Query之间可以互相“聊天”:“我覆盖了左边那个杯子,你负责右边那个。”从而避免两个Query输出相同mask。实验证明,移除混合注意力后,ReasonSeg上的cIoU从65.0暴跌至52.4。
💡 从Query到Mask:轻量投影驱动SAM3
得到LLM条件下的Query嵌入后,一个轻量MLP将它们投影到SAM3检测器期望的Query空间,得到 。同时短语特征也被投影得到辅助文本条件 。随后融合编码器通过交叉注意力让每个mask query与条件化图像特征交互,最后分数头预测每个Query的有效性,分割头生成对应二值mask。
整个过程在一次前向传播中完成,无需任何迭代或后处理。
🔄 两阶段训练:课程学习从对齐到推理
训练分为两个阶段,数据分布如下:
图:两阶段训练数据分布。Stage1使用250万短语级和类别级数据(refcoco, COCO, LVIS等)实现基础视觉对齐;Stage2结合指令级数据(reason_seg, LISA, Inst²Seg等)与部分短语数据,注入推理能力。
Stage1:指代对齐预训练。目标是将可学习Query空间与SAM3的mask query空间对齐。使用大量类别级和短语级简单mask数据(refcoco, COCO, LVIS等,共250万样本)。LLM学习率5e-6,batch size 128,训练1epoch。
Stage2:推理知识微调。从Stage1对齐模型出发,注入指令级分割数据(如Inst²Seg、reason_seg等,共50万样本),同时保留部分短语数据以维持定位鲁棒性。学习率降至2e-6,batch size 64。整个训练过程冻结SAM3的视觉编码器,对LLM使用LoRA(rank=256)。
具体超参数:
| 模块 | Stage1学习率 | Stage2学习率 | 优化器 |
|---|---|---|---|
| LLM | 5e-6 | 2e-6 | AdamW |
| MLLM视觉编码器 | 5e-6 | 2e-6 | AdamW |
| Projector | 5e-6 | 2e-6 | AdamW |
| Mask解码器(除VE) | 1e-5 | 5e-6 | AdamW |
| Mask解码器视觉编码器 | 0 (冻结) | 0 (冻结) | - |
📊 实验验证:数据说话
🏆 SOTA对比:2B模型碾压7B方法
推理分割(Inst²Seg & ReasonSeg)
下表展示了在Inst²Seg基准上的主结果。InstructSAM-2B以较大优势超越所有端到端方法(LISA, SA2VA, X-SAM, LISA++等),甚至优于3B参数的多轮Agent管线(SAM3-Agent-Qwen2.5-VL-3B)。在无目标场景(零样本)下仍保持稳健。
表:在Inst²Seg与ReasonSeg上的SOTA对比。InstructSAM-2B在多数指标上领先,尤其Inst²Seg mAP达31.5,远超第二名的21.2。
在语义级ReasonSeg上,InstructSAM在验证集cIoU达到65.0,比SA2VA-4B高5.0,长指令测试集提升6.9——说明显式实例Query比单纯[SEG] token更能处理复杂推理。
短语级指代分割(gRefCOCO, GSEval, RoboRefIt)
在多目标指代分割gRefCOCO上,InstructSAM的mAP达到57.3(val),远超PixelLM-7B的19.9和X-SAM的38.9。在零样本GSEval上以58.8 gIoU超越所有方法。在机器人感知基准RoboRefIt上,testB(分布偏移)以74.4大幅领先之前的61.5,展现出强大的泛化能力。
表:在gRefCOCO与GSEval上的指代分割SOTA对比。InstructSAM-2B在所有子集上取得最优。
🔬 消融实验:每个设计都是关键
核心组件消融
移除Query Bank后,Inst²Seg mAP从31.5降至20.1(↓11.4);移除混合注意力后,ReasonSeg cIoU从65.0降至52.4(↓12.6)。两者都不可或缺。
表:Query Bank与混合注意力的消融实验。两者都导致性能显著下降。
Query数量与效率
增大Query数(10→50→200)仅带来边际性能变化,但推理时间从1.1s增至2.1s。验证了K=10已足够覆盖大多数指令(通常目标<10)。
LLM条件Query vs 短语条件
移除LLM条件Query后,Inst²Seg mAP下降14.8;而仅替换短语为dummy token只下降2.4。表明主要的语义信号来自LLM条件Query,而非生成的名词短语。
数据引擎有效性
移除Inst²Seg训练数据后mAP下降,移除过滤策略后mAP从31.5暴跌至11.9——噪声数据对端到端训练伤害极大。
Stage1对齐预训练
移除Stage1后,gRefCOCO mAP下降16.0,ReasonSeg cIoU从65.0降至15.9——没有对齐预训练,模型几乎学不会指令跟随。
⚡ 推理效率:1.1秒 vs 29.6秒
与SAM3-Agent-Qwen3-VL-2B对比,InstructSAM单样本推理仅需1.1秒,而Agent管线需要29.6秒——快了近27倍。这就是统一端到端设计的威力。
🏆 定性对比:复杂指令下的实例级感知
下图展示了InstructSAM与SAM3+Agent、SA2VA的对比。在“查找该行人衣物上提到某个著名城市的文字”这类需要细粒度定位的指令下,InstructSAM能精确检出文字区域,而其他方法要么漏检,要么将整片衣物作为mask。
图:InstructSAM与SAM3+Agent、SA2VA在复杂指令下的定性比较。本文方法在细粒度推理、多目标定位上显著占优。
⚖️ 客观评价
局限性:
- 当前仅支持图像输入。视频场景下的多实例交互、时间对应和帧级一致性尚未覆盖,数据标注成本更高。
- 将分割数据集与大规模对话指令联合训练时,存在任务间干扰,直接联合训练可能降低分割性能。需要更精细的数据平衡策略。
计算开销:2B参数,单次推理1.1秒(A100),远优于Agent管线。训练使用两阶段课程,计算资源在合理范围内。
未来展望:将训练扩展到视频数据(如与视频分割数据集联合)、设计协同训练策略(数据平衡与课程学习)是提升模型能力的关键方向。
🌟 价值升华 + 行动号召
核心收获:
- 并行可学习Query > 自回归[SEG] token:显式的实例槽位实现了实例判别与集合预测,天然避免重复,且速度更快。
- 混合注意力是关键:让Query之间能双向通信,抑制重复,稳定训练。
- 数据引擎决定上限:高质量的指令-掩码对与严格过滤策略,比模型架构本身更直接影响性能。
🤔 深度思考:你认为这项技术最可能颠覆哪个AI应用场景?比如具身机器人的“拿起离水槽最近的杯子”这类操作、自动驾驶的“识别所有未佩戴头盔的骑手”等。欢迎在评论区留下你的观点!
💝 支持原创:如果本文帮到你,点赞+收藏就是最好的支持!分享给你的技术伙伴,让更多人看到这篇硬核解读。
🔔 关注提醒:设为星标,第一时间获取深度技术解读!
#AI技术 #深度学习 #实例分割 #指令分割 #论文解读 #多模态大语言模型 #SAM
参考
InstructSAM: Segment Any Instance with Any Instructions