跳转至

X2SAM: Any Segmentation in Images and Videos

会议: ECCV 2026
论文: ECCV 官方页
代码: https://github.com/wanghao9610/X2SAM
领域: 语义分割
关键词: 统一分割、视频目标分割、视觉提示、掩码记忆、多模态大语言模型

一句话总结

X2SAM 用 Qwen3-VL 当大脑、SAM2 当掩码编码器,加上一个语言条件化的 Mask Memory 模块,把 LISA/X-SAM 式的图像 any-segmentation 统一扩展到视频,一个对话接口同时支持文本与视觉提示下的 14 类图文分割任务,在视频推理分割 ReVOS 上取得 69.9 J&F、视频 GCG 分割 75.8 mIoU,并以统一联合训练把训练成本降低约 36.5%。

研究背景与动机

分割这条线上的两拨人一直各干各的。SAM 和 SAM2 能生成高质量掩码并跨帧传播,但只认点、框这类低层视觉提示,完全听不懂「把左边那只喝奶的小狗分出来」这种对话式指令;反过来,LISA 等图像分割 MLLM 能按复杂文本指令出掩码,却困在静态图像里,也几乎不支持用视觉提示去指定目标;VISA、VideoLISA 把文本到掩码扩到了视频,又没有把图像和视频放进同一个架构,更没有统一的视觉提示接口。表格对比里很直观:X-SAM 支持 7 类图像分割任务但 0 个视频任务,VISA 只有 2+2,没有一个模型同时覆盖 7+7。

把这两条线拧成一股,有三个具体的坎。第一是提示集成:LLM 要同时吃下交错的文本指令和视觉提示(点/框),而且图像、视频两种输入都要支持。第二是任务形式化:generic、referring、reasoning、GCG、交互式等图像分割范式各说各话,要找到一个能统一表达「视频中随时间变化的目标」的共享表述。第三也是最要紧的,是时序一致性:逐帧独立解码的做法没有一个系统性的地方存放「语言引导下已经确认过的视觉特征」,掩码容易在帧间漂移。

本文的解法是把分割 MLLM 拆成「理解」和「带记忆的解码」两半:LLM 负责把各类指令统一成条件状态,掩码侧新增一个 Mask Memory 存放由语义条件引导过的视觉特征,供后续帧读取。核心 idea:文本提示、视觉提示和 LLM 生成的 令牌全部转换成 mask-aware 条件,掩码解码器在语言条件化的记忆缓存上逐帧解码,把语义 grounding 和时序传播耦合进同一次前向,而不是先图像分割再做 SAM2 式传播的级联。

方法详解

整体框架

X2SAM 的输入是一段自然语言指令或一个视觉提示(点/框),加上一张图或一段视频;输出是语言回复加逐帧二值掩码。视觉侧走双分支:Qwen3-VL 的视觉编码器提取全局表征,SAM2 的掩码编码器逐帧提取高分辨率细粒度特征;需要视觉提示时,无参 Region Sampler 从细粒度特征上采样出区域嵌入,与全局特征、文本嵌入一起送入 LLM。LLM 自回归生成回复,并为每个 <SEG> 令牌产出隐层嵌入,经 MLLM projector 变成提示令牌嵌入 \(Z_p\)。掩码解码器拿 \(Z_p\)、可学习掩码查询和来自 Mask Memory 的时序细化特征,逐帧解码出掩码;Mask Memory 以 FIFO 缓存「引导视觉特征」维持跨帧一致性。训练分两阶段:先在 SA-1B 上做类别无关的分割器训练给解码器一个稳定初始化,再在 14 类分割任务加图文聊天数据上做统一联合训练。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["图像 / 视频输入<br/>文本指令或视觉提示"] --> B["双分支视觉编码<br/>Qwen3-VL 全局分支<br/>SAM2 细粒度分支"]
    B --> C["无参 Region Sampler<br/>点采样 + 自适应池化"]
    C --> D["统一任务形式化<br/>LLM 生成回复与 SEG 令牌嵌入"]
    D --> E["重设计 Mask Decoder<br/>零初始化 T2I 注意力"]
    E --> F["逐帧掩码序列输出"]
    E -->|"当前帧视觉特征<br/>+ 掩码 logits"| G["Mask Memory<br/>语言条件化 FIFO 缓存"]
    G -->|"Memory Attention<br/>时序细化特征"| E

整体流向与原文图 3/图 4 一致:解码器每解一帧就把「视觉特征 + 掩码 logits」写进记忆,下一帧的 Memory Attention 再从记忆里读历史引导特征,形成逐帧闭环;图像输入(T=1)走同一条通路,只是记忆为空。

关键设计

1. 统一任务形式化:把 14 类分割任务收进一个对话接口

现有分割 MLLM 之所以碎片化,根源是每个任务各有各的输出约定:referring 出单目标掩码、GCG 要在描述里穿插掩码、交互式分割靠点框迭代。X2SAM 沿用并推广 X-SAM 的记号:<p> 与 </p> 圈出对象条件状态(可以是文本指称,也可以是视觉提示编码出的区域),<SEG> 标记对应掩码的生成位置,LLM 在 <SEG> 处的输出表征直接作为掩码解码的专用指令,再配一组任务模板让回复格式对齐。这样一来,图像泛分割、开放词汇、指称、推理、GCG、交互式、视觉 grounded 七类任务和它们的视频版本(共 14 类)都变成同一个「条件状态 + 上下文 → 回复 + 掩码」的模式,新增任务只需换提示模板而不是改架构。视觉提示也不再是 SAM 式的旁路输入,而是被 Region Sampler 编码后作为序列里的一等公民参与语言建模。

2. 双分支视觉编码与无参 Region Sampler:让视觉提示像文本一样进 LLM

单一视觉特征很难同时满足「全局语义理解」和「像素级掩码预测」两种需求,X2SAM 直接把两条现成的强编码器拼在一起:Qwen3-VL 分支对图像/视频(视频带时间戳增强)做 patch 化提取全局表征,SAM2 掩码编码器逐帧提取高分辨率细粒度特征。Region Sampler 是这套架构里承上启下的小部件:它在掩码编码器的高分辨率特征上对感兴趣区域做点采样,再用自适应池化(kernel size 4)把采样点聚成区域级表征,作为视觉提示令牌送入 LLM。整个过程没有任何可学习参数,好处是视觉提示的注入不增加训练负担,也不会像预训练分割模型裁剪子图再平均分数那样把交互降级成预处理——视觉提示的语义整合完全交给 LLM 的注意力去完成。

3. 重设计 Mask Decoder:双注意力注入语义 + 零初始化稳定早期训练

SAM2 原生解码器面向单目标可提示分割,不利于并行多掩码生成,X2SAM 把它整个弃掉,参照 X-SAM 重设计:解码器内建 Query-to-Image Attention 和 Token-to-Image Attention 两级结构注意力,让 LLM 给出的语义令牌嵌入 \(Z_p\) 能直接与空间特征交互,多掩码查询并行出结果。这里有个训练细节很关键:Token-to-Image Attention 的参数全部零初始化,让这个新注入的条件分支在训练初期近似不扰动主干预测,语义信息随后逐渐生效。消融显示这不是洁癖——随机初始化版本在图像任务上反而低于无该模块的基线(RefCOCO cIoU 82.9 到 82.5),而零初始化版本全面超过基线,V-Ref YT21 从 53.6 涨到 60.8 J&F。

4. 语言条件化的 Mask Memory:把「掩码引导」写进时序缓存

逐帧独立解码在视频上必然漂移,而 SAM2 的记忆机制只为视觉提示服务、不感知语言条件。X2SAM 的 Mask Memory 是一个四步循环:Memory Attention 先 attends 历史帧的引导视觉特征、产出当前帧的时序细化特征;掩码解码器据此时序化特征和 LLM 的 SEG 令牌解出当前帧掩码与 logits;Memory Encoder 把下采样视觉特征和当前帧掩码 logits 一起编码成新的引导视觉特征;Memory Bank 用 FIFO 策略存储各帧引导特征。关键在于记忆内容不只是外观特征,还混入了当前帧的掩码 logits——消融证明这是从「无效」到「有效」的分水岭:单尺度纯视觉记忆在 V-Rea 上只从 36.5 涨到 37.6 J&F,V-Gen/V-Ref 甚至略降;加入掩码引导后 V-Ref YT21 直接从 53.6 跳到 63.3,再叠加类别引导与多尺度设计到 65.0。语义条件经由解码器进入记忆,使时序传播和语义 grounding 不再是两个独立阶段,这是它与「X-SAM 逐帧解码 + SAM2 级联传播」路线的本质区别。

损失函数 / 训练策略

训练分两阶段。第一阶段类别无关分割器训练:冻结 SAM2 掩码编码器,只用 SA-1B 的掩码标注训掩码解码器,让它在接触多模态指令之前先学到类别无关的形状与边界先验,有效 batch size 128、学习率 \(1\times10^{-4}\)。掩码损失由 BCE 与 Dice 组成:

\[\mathcal{L}_{\text{mask}} = \lambda_{\text{bce}}\mathcal{L}_{\text{bce}} + \lambda_{\text{dice}}\mathcal{L}_{\text{dice}}, \quad \lambda_{\text{bce}} = \lambda_{\text{dice}} = 5.0\]

第二阶段统一联合训练同时优化投影器、LLM 的 LoRA 参数、掩码编码器、掩码解码器与 Mask Memory,目标按任务类型切换:聊天样本只用自回归语言损失,分割样本加掩码损失与 focal 分类损失:

\[\mathcal{L}_{\text{joint}} = \begin{cases} \mathcal{L}_{\text{ar}} & \text{图像/视频聊天} \\ \mathcal{L}_{\text{ar}} + \mathcal{L}_{\text{mask}} + \mathcal{L}_{\text{cls}} & \text{图像/视频分割} \end{cases}\]

图像和视频样本在时间长度与显存占用上差异巨大,联合训练靠三个工程手段落地:维度移位把 \(B\times T\times H\times W\times 3\) 转置成 \(T\times B\times H\times W\times 3\) 后按帧拆开,让视频帧复用图像级编码接口,时序依赖完全交给 Mask Memory 在顺序解码时引入;模态感知批处理让视频样本 per-device batch 为 1、图像 batch 按倍数扩展,图像梯度每步更新、视频梯度多步累积;时序感知采样器把等长视频片段分进同一 batch 减少 padding。掩码编码器学习率 \(1\times10^{-5}\)、其余模块 \(1\times10^{-4}\),有效 batch 视频 32 / 图像 128,AdamW 权重衰减 0.05,数据侧用温度 \(t=0.1\) 的均衡重采样。主实验在 32 张 H800 上训 1 个 epoch,消融实验用 16 卡。

实验关键数据

主实验

14 类任务覆盖图像与视频两侧,训练语料包括 SA-1B(分割器阶段)、VIPSeg/VSPW/YT-VIS19(视频泛分割)、YT-RefVOS(视频指称)、ReVOS(视频推理)、VideoGLaMM(视频 GCG)、YT-VOS19/DAVIS17(VOS),以及由 YT-VIS19 和 VIPSeg 派生的两个 V-VGD 数据集;图像侧沿用 X-SAM 的混合微调配置,视频聊天用 VideoInstruct100K。下表汇总主对比中最能说明问题的几行(均出自原文表 6/7/8/9,基线取该基准上已报的强方法):

基准 指标 X2SAM 之前强基线 对比
V-Rea. ReVOS J&F Overall 69.9 55.7(HyperSeg) +14.2
V-GCG VideoGLaMM 集 mIoU 75.8 54.3(VideoGLaMM) +21.5
V-Ref. YT21 / DV17 J&F 78.5 / 79.0 71.0 / 76.4(UniPixel-7B) +7.5 / +2.6
V-VGD YT-VIS19 / VIPSeg(Box) AP 74.4 / 57.8 54.0 / 40.4(SAM2-H) +20.4 / +17.4
V-OV YT-VIS-21(OOD) AP / AP50 60.3 / 78.0 53.8 / –(HyperSeg) +6.5
I-Rea. ReasonSeg Val cIoU / gIoU 64.5 / 71.1 56.7 / 59.2(HyperSeg) +7.8 / +11.9
I-OV ADE20K(OOD) PQ / mIoU / mAP 31.2 / 38.2 / 20.2 22.6 / 29.9 / 14.4(ODISE) +8.6 / +8.3 / +5.8
I-Ref. RefCOCO/+/g cIoU 84.0 / 78.4 / 81.9 85.1 / 78.0 / 83.8(X-SAM) -1.1 / +0.4 / -1.9

视频侧是 X2SAM 的主战场:指称、推理、GCG、V-VGD 全面超过现有 MLLM 视频通才,V-VGD 甚至大幅超过 SAM2-H 专家。图像侧则是有取有舍:开放词汇与推理分割显著领先,但泛分割、GCG、VGD 与图像专精的 X-SAM 互有胜负;VOS 与 SAM2-H(88.8 J&F)仍有 14.8 的差距,作者也承认这是通用接口的代价。文字指称的数值如与表格有出入,以原文为准。

消融实验

掩码解码器的 Token-to-Image(T2I)注意力及其初始化策略(原文表 2,消融均在 16 GPU 上进行;I-Rea 列原文表头只标 Val/Test,未注明具体指标,以原文为准):

配置 I-Ref. RefCOCO/+/g cIoU I-Rea. Val/Test V-Ref. YT21 J&F V-Rea. All J&F
Baseline(无 T2I、无记忆) 82.9 / 78.0 / 79.5 58.6 / 55.9 53.6 36.5
+ T2I(随机初始化) 82.5 / 77.2 / 79.4 62.4 / 56.0 58.2 44.9
+ T2I(零初始化) 83.3 / 77.8 / 79.5 63.0 / 56.8 60.8 47.3

Mask Memory 的内部设计逐级消融(原文表 4):

配置 V-Gen. VPQ/mIoU/mAP V-Ref. YT21/DV17 J&F V-Rea. All J&F
Baseline(无记忆) 42.9 / 61.1 / 66.3 53.6 / 41.1 36.5
+ 单尺度记忆 42.7 / 60.8 / 66.1 52.5 / 41.9 37.6
+ 掩码引导 44.5 / 62.3 / 66.7 63.3 / 49.4 51.1
+ 类别引导 44.8 / 61.9 / 66.8 64.6 / 48.3 51.6
+ 多尺度(完整) 45.0 / 62.5 / 66.6 65.0 / 49.6 53.5

关键发现

  • 记忆里必须混入掩码信息,纯视觉记忆几乎白搭。 单尺度记忆在三个视频任务上有涨有跌(V-Gen 42.9 到 42.7),而掩码引导一上,V-Ref YT21 直接从 53.6 跳到 63.3——说明跨帧对齐真正需要的是「上一帧认为目标在哪」的语义线索,而非原始外观特征。
  • 零初始化是注入新条件分支的关键技巧。 随机初始化的 T2I 注意力在图像任务上反而掉点(RefCOCO 82.9 到 82.5),零初始化则全线最优:同样的模块,初始化方式决定了它是助力还是扰动。
  • 统一联合训练省钱且不掉点。 与「图像、视频分开训」相比,统一联合训练把 V-OV mAP 从 57.1 提到 59.1、V-Gen mIoU 从 61.1 提到 64.7;与朴素联合训练相比,训练成本从约 5.2K GPU 时降到 3.3K(-36.5%),性能持平略升。
  • 记忆容量不是越大越好。 容量从 1 加到 6,V-OV mAP 涨到 60.2、V-Rea All 到 57.5;加到 8 反而让 V-Ref 掉到 53.7、V-Rea 掉到 53.5(V-Gen VPQ 升至 45.0)。作者结论是采用 6 帧,但实现细节一节又写「记忆容量固定 8 帧」,两处表述不一致,实际主实验所用容量以原文为准。
  • 通用性有代价。 V-Obj 上 X2SAM(74.0 J&F)明显落后 VOS 专精的 SAM2-H(88.8);图像侧 I-Gen PQ、I-GCG mIoU 也略低于 X-SAM——统一接口换取任务覆盖,在窄任务上让了步。

亮点与洞察

  • 「对象=条件状态、指令=上下文、=解码指令」的统一形式化是全文的支点。 14 类任务共用一套 token 约定后,文本提示和视觉提示在 LLM 序列里地位对等,新增分割范式基本只需要新模板,这是架构层面最值得借鉴的抽象。
  • 语言条件化的记忆设计。 SAM2 的记忆只存视觉特征;X2SAM 把「LLM 条件下解出的掩码 logits」也编进记忆,等于让时序传播携带语义假设,这解释了掩码引导消融中 V-Ref 53.6 到 63.3 的跳变。(原文称 Mask Memory 为 language-conditioned,此处按消融语义归纳。)
  • 零初始化迁移自 ControlNet 式实践,用在掩码解码器的注意力注入上同样有效。 任何「在预训练模型里加新注意力分支」的场景都可以先问一句:能不能零初始化?
  • 维度移位 + 模态感知 batching 是图像/视频混训的通用工程解。 把 \(B\times T\) 转置成 \(T\times B\) 逐帧复用图像接口,再用不同 batch/梯度累积策略平衡两种模态的显存占用——任何「图像视频混训」的多模态项目都能直接搬用。

局限与展望

  • 作者承认的局限:统一训练仍然昂贵,视频样本显存开销大;固定大小 FIFO 记忆应付不了长时遮挡、大外观变化或目标长时间消失后重现的场景;作为通用模型,在 VOS 等窄任务上仍逊于专精模型。
  • 自己发现的局限:V-VGD 基准由作者自建自评(从 YT-VIS19/VIPSeg 派生),缺乏第三方数据集交叉验证;主表里 I-Gen/I-Ref/I-GCG 与 X-SAM 的对比是「同一批作者的前作」,图像侧优势叙述需要打折阅读;记忆容量一节与实现细节一节的 8/6 帧矛盾说明实验配置记录不够严谨。
  • 改进方向:按需分配容量的自适应记忆(作者展望中自己提出);把统一指令接口延伸到流式与在线交互分割;更轻量的骨干与更高效的视频训练策略。

相关工作与启发

  • vs X-SAM:X-SAM 是图像中心的 any-segmentation(7 图像任务、无视频、不建模时序目标身份),X2SAM 把同一套 <p>/<SEG> 形式化扩展到视频并新增 Mask Memory;作者特意强调这不是 X-SAM+SAM2 的级联——文本/视觉提示与 SEG 令牌统一转成 mask-aware 条件,记忆是语言条件化的,grounding、解码、记忆三者联合优化。
  • vs SAM2:SAM2 的记忆传播强,但只有点/框提示、无语言推理与 grounded 对话;X2SAM 用 LLM 做语义桥接,让「分什么」由对话决定。
  • vs VISA / VideoLISA / UniPixel-7B:这批视频分割 MLLM 支持时序文本到掩码,但缺少图像+视频统一架构和视觉提示接口;X2SAM 在 V-Ref/V-Rea 上全面占优(如 ReVOS 69.9 对 UniPixel 的 63.7)。
  • vs Sa2VA / PSALM / HyperSeg:Sa2VA 支持图文 V-Prompt 但任务覆盖 3+3;PSALM 支持视觉提示但视频能力弱、无视频聊天。X2SAM 是表 1 中唯一 7+7 全绿且图文聊天兼备的模型。
  • 启发:「语言条件化记忆」的思路可迁移到视频编辑、视频深度估计等需要时序一致性的密集预测任务;统一形式化 + 任务模板的做法,对任何想往一个 MLLM 里塞多种输出头(检测、跟踪、深度)的工作都是现成模板。

评分

  • 新颖性: ⭐⭐⭐⭐ 统一图文 14 任务 + 视觉提示接口 + 语言条件化记忆的组合是新的,但核心组件分别承自 X-SAM、SAM2、Qwen3-VL,属于高质量的系统整合而非单点原创。
  • 实验充分度: ⭐⭐⭐⭐⭐ 14 类任务、9 张主表、覆盖 OOD 与自建 V-VGD 基准,解码器初始化/联合训练/记忆设计/记忆容量四组消融环环相扣,是同方向里消融最全的工作之一。
  • 写作质量: ⭐⭐⭐⭐ 结构与图表清晰,但记忆容量 8/6 帧表述矛盾、个别消融表指标标注含糊,扣一星。
  • 价值: ⭐⭐⭐⭐ 给「统一像素级时空理解」提供了一个可复现的强基线与开源代码,视频侧增益显著;图像侧相对专精模型的取舍提示了通用化成本。