Skip to content
Jambity's Blog

Seg-Zero 论文阅读

关于推理分割图像的学习

论文阅读4min read...

论文链接

Reasoning Segmentation 推理分割

Seg-Zero 想解决的问题是:让模型面对一句需要推理的自然语言描述时,先判断“你到底在找图中的什么”,再把那个对象精确地分割出来。

Seg-Zero的核心思路:将模型解耦,让擅长推理的模型负责定位划分位置,让擅长分割的模型负责精确描边

Zero在这类工作中,一般都指不使用人工标注的思维链数据,通过纯强化学习激活推理行为

SFT 监督微调,给模型大量输入标准输出样本,让模型模仿标准答案

问题:

  • 泛化能力差(out-of-distribution OOD问题差)
  • 灾难性遗忘:学习样本导致原先能力忘光,但也因此适合冷启动(这一点可以专门写一篇)
  • 缺少显式推理过程:无法知道模型的结果是怎么出来的,是否是猜的没抓住关键点

提出了一种解耦架构 decoupled architecture

  • 模块一:推理 MLLM 模型

输入图像和文本指令后,理解,输出给下一个分割模型的定位提示,包括一个 bounding box(bbox) 边界框、两个 point prompts 点提示

  • 模块二:分割模型

使用 SAM2 作为分割模型,之前看过一遍,看需要要不要精读的时候再写一篇

最后生成像素级掩码

只微调推理模型,SAM2分割模型直接保留

  1. 格式奖励

检查模型是否按照要求输出

类似步骤分

  1. 准确性奖励

评估预测位置是否正确

  • IoU Intersection over Union 交并比

  • L1 距离

预测点与真实参考点的距离

emergent test-time reasoning

模型在奖励驱动下逐渐形成了:

  • 观察候选对象;
  • 比较属性;
  • 排除错误候选;
  • 总结目标位置;

这样的回答模式。

称为从强化学习中涌现

figure 1

  • 强调了和 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) 和两个提示points

交给SAM2来生成

分成3个部分
  1. Reasoning Model
  2. Segmentation Model
  3. Test-time Reasoning

输入 image 和 Text Query (e.g. Segment the person who is most likely the player.)

输出

其中,输出由两部分组成:

  • 语言推理
  • 空间提示(bbox + points)

要使用一个post-training function 来提取出

SAM2

Inspaired by Deepseek-R1-Zero,不使用复杂的人工给的CoT数据来训练

Instead,activate its reasoning capabilities from zero

How?

1786083959488

Figure 4. User prompt for Seg-Zero. ‘{Question}’ is replaced with object description T in the training and inference.

设计了结构化用户提示词,以及一套精巧的奖励机制,引导推理模型往正确的方向

5个奖励
  1. Thinking Format Reward
  2. Segmentation Format Reward
  3. Bbox IoU Reward
  4. Bbox L1 Reward
  5. 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$

范数

论文要求:

当预测 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

  1. bbox就是mask的外切矩形
  2. points是取mask的两个最大内切圆的圆心

此外还把所有图片resize到了同一尺寸

就按之前讲的奖励函数进行GRPO训练

所以Reward Function全都讲的是在GRPO里组内如何打分

1786091225332

核心公式:

算一组中,每个sample的advantage,提高好的出现概率

介绍了一些模型的信息

比较重要的是讲了两个评价指标

  1. gIoU

average of all per-image IoUs

也就是: 先给每一张图片算一个 IoU:

然后求平均:

  1. 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

Comments

© Jambity. All rights reserved.......