Seg-Zero 论文阅读
关于推理分割图像的学习

Reasoning Segmentation 推理分割
Seg-Zero 想解决的问题是:让模型面对一句需要推理的自然语言描述时,先判断“你到底在找图中的什么”,再把那个对象精确地分割出来。
Seg-Zero的核心思路:将模型解耦,让擅长推理的模型负责定位划分位置,让擅长分割的模型负责精确描边
Zero在这类工作中,一般都指不使用人工标注的思维链数据,通过纯强化学习激活推理行为
SFT 监督微调,给模型大量输入标准输出样本,让模型模仿标准答案
问题:
- 泛化能力差(out-of-distribution OOD问题差)
- 灾难性遗忘:学习样本导致原先能力忘光,但也因此适合冷启动(这一点可以专门写一篇)
- 缺少显式推理过程:无法知道模型的结果是怎么出来的,是否是猜的没抓住关键点
提出了一种解耦架构 decoupled architecture
- 模块一:推理 MLLM 模型
输入图像和文本指令后,理解,输出给下一个分割模型的定位提示,包括一个 bounding box(bbox) 边界框、两个 point prompts 点提示
- 模块二:分割模型
使用 SAM2 作为分割模型,之前看过一遍,看需要要不要精读的时候再写一篇
最后生成像素级掩码
只微调推理模型,SAM2分割模型直接保留
- 格式奖励
检查模型是否按照要求输出
类似步骤分
- 准确性奖励
评估预测位置是否正确
- IoU Intersection over Union 交并比
- L1 距离
预测点与真实参考点的距离
emergent test-time reasoning
模型在奖励驱动下逐渐形成了:
- 观察候选对象;
- 比较属性;
- 排除错误候选;
- 总结目标位置;
这样的回答模式。
称为从强化学习中涌现

- 强调了和 SFT 的对比(SFT OOD 不行)
- RL 泛化性更好
- 加上 CoT(Chain of Thought) 更强
提了目前的相关工作
By extending the length of the Chain-of-Thought (CoT) reasoning process, OpenAI-o1 introduces inference-time scaling…
OpenAI o1 通过增加 CoT 推理过程的长度,引入 inference-time scaling,提高推理能力。
以前的工作发现:不一定要继续增大模型参数,给模型更多“思考时间”和计算预算,也能提升推理能力。Seg-Zero 想把类似思想引入视觉分割。
- training time: 训练阶段
- inference time: 推理阶段
什么是 inference-time scaling?
不改变模型参数,而是在使用模型时给它更多计算资源,让它表现更好。
传统机器学习中 model scaling(模型规模拓展)
inference-time scaling的思想则是:
模型已经训练好了,我不给它增加参数,而是让它在回答一个问题时多计算。
其中增加计算增加的是:
- 思考次数;
- 搜索次数;
- 生成长度;
- 验证次数。
什么是 test-time scaling?
在测试、部署阶段增加额外处理
这种 Reasoning model 中不逼模型一次性完成任务,而是把任务拆成几个阶段来做,Seg-Zero就借鉴了这种思想
以前主要通过人工写CoT,Deepseek-R1使用GRPO,也激发出了推理(一会儿去看看)
- Open-R1-Multimodal
- R1-V
several recent works have attempted to leverage(杠杆) the reasoning capabilities of MLLMs.
However, these works primarily address high-level reasoning and do not consider finegrained pixel-level understanding of images.
但是这些工作主要解决高级推理,没有考虑图像的细粒度像素级理解(即这是Seg-Zero做到的:通过RL提升像素级别的推理)
- SAM 等工作已经把segmentation masking 任务 well addressed 了
- LISA 又在这个领域加强,引入了reasoning segmentation task
动机:LISA的<SEG>token 这一 idea,bridge the gap between MLLMs and segmentation models
后续也有工作follow了LISA的使用 special token来建立MLLM和Segmentation model之间的链接
However, this design necessitates extensive data to fine-tune both the MLLM and the segmentation decoder, and may even compromise the pixel precious of the original segmentation models.
需要大量数据来微调MLLM和segmentation decoder,还可能损坏原始分割模型的能力
Seg-Zero提出的就是一种decoupled design,leverage MLLM的推理能力
要讲什么
会介绍Seg-Zero Model和相应的RL framework
- 3.1 如何解决segmentation problem
- 3.2 展示Seg-Zero的architecture
- 3.3 介绍奖励函数 in RL
- 3.4 训练细节 in RL
Given an image
and a label produce a binary segmentation mask
that identifies the region corresponding to
Inspired by recent advancements in the reasoning capabilities of large models
Seg-Zero 提出了解耦的模型
因为MLLM强在语义理解,但不擅长像素级定位
让Reasoning model 输出bbox(bounding box)
交给SAM2来生成
分成3个部分
- Reasoning Model
- Segmentation Model
- Test-time Reasoning
输入 image
输出
其中,输出由两部分组成:
- 语言推理
- 空间提示(bbox + points)
要使用一个post-training function
SAM2
Inspaired by Deepseek-R1-Zero,不使用复杂的人工给的CoT数据来训练
Instead,activate its reasoning capabilities from
zeroHow?

Figure 4. User prompt for Seg-Zero. ‘{Question}’ is replaced with object description T in the training and inference.
设计了结构化用户提示词,以及一套精巧的奖励机制,引导推理模型往正确的方向
5个奖励
- Thinking Format Reward
- Segmentation Format Reward
- Bbox IoU Reward
- Bbox L1 Reward
- Point L1 Reward
规范模型的输出格式,在这个格式下,之后再判断之后的推理内容准确性
要求的格式是:
guides the model output its reasoning steps within the
<think>and</think>tags, and the final answer is included between the<answer>and</answer>tags
严格要求输出的Segmentation的bbox和points格式正确
设计了两种,一种strict,一种soft一点
strict:
<answer>{ "bbox": [10,100,200,210], "points_1": [30,110], "points_2": [35,180]}</answer>soft:
bbox = [20, 50, 300, 400]points = [100, 200]后面的实验会对比这两种
比较
GT: Ground Truth
论文规定:
二者 IoU > 0.5,reward = 1;否则 reward = 0。
可以用四个坐标
求
论文要求:
当预测 bbox 与 Ground Truth bbox 的 L1 distance 小于 10 pixels 时,reward = 1;否则 reward = 0。
首先判断 predicted points 是否位于 bounding box 内
然后看预测点与Ground Truth points之间的最小距离
阈值是 100 pixels
Ground Truth Point怎么来
不是从数据里给的,这个数据确实贵了点
是从数据里的mask算出来的,在 3.4 Data Prepation 会再讲一遍
计算方式是:
在mask中的两个最大内切圆的中心
小总结,推理能力到底从哪来的
发现没有,整个推理逻辑链确实是从0生成的,没有任何的人工数据,而生成的方式仅仅是通过格式的规范、引导,再加结果的RL训练,就从零激发的推理逻辑链
那么实际上,推理能力更多来自MLLM自带的,只是通过回答格式激发出来了??
用公开的分割数据集构造训练数据,然后用 GRPO 训练 Seg-Zero
首先要从数据中生成GT bbox和GT points,怎么来?
数据集RefCOCOg的数据含有:
- 图像
- 文本描述
- 目标mask
那么就使用mask计算出bbox和points
- bbox就是mask的外切矩形
- points是取mask的两个最大内切圆的圆心
此外还把所有图片resize到了同一尺寸
就按之前讲的奖励函数进行GRPO训练
所以Reward Function全都讲的是在GRPO里组内如何打分

核心公式:
算一组中,每个sample的advantage,提高好的出现概率
介绍了一些模型的信息
比较重要的是讲了两个评价指标
- gIoU
average of all per-image IoUs
也就是: 先给每一张图片算一个 IoU:
然后求平均:
- cIoU
论文默认metric使用gIoU
because it equally considers both large and small objects.
实验得出结论就是RL泛化强于SFT,然后加入CoT能更强
之前说过SFT的问题是灾难性遗忘(catastrophic forgetting)
他们甚至还在Visual QA问题里也跑了实验,得到同样结论
但是这不是放屁吗,大家不都知道
为什么要同时输出 bbox 和 points
实验结论:bbox是主要贡献,points是补充
KL coefficient 用来平衡 “pre-existing knowledge” 和 “new knowledge”;更大的 coefficient 会导致性能下降。
采样越多性能越好
在prompt里给模型一个输出格式范例,提升效果非常明显!LOL
hard就是让reward不那么离散
不要只设一个阈值,1就是1,0就是0
结果是hard好一点
前面提到过,格式限制strict一点好
观察到:
- 大模型倾向于产生更长 response;
- 随训练进行,minimum completion length 逐渐增加;
- 但是在最开始几个 training steps,average completion length 会先下降。
原因:
- 最初更关心format reward
- 后来学会了之后就追求accuracy reward