Abstract:论文整体想表达什么?
这篇论文提出了一个叫Rex-Omni的多模态大语言模型,目标是让模型不仅能“看懂”图像和语言,还能准确地指出图像中目标的位置。
论文关注的问题是:
能不能把传统目标检测的精确定位能力,与多模态大模型的语言理解能力结合起来?
1. 现有方法有什么不足?
传统目标检测模型,例如 YOLO、DETR 和 Grounding DINO,在预测目标位置方面通常很准确,但语言理解能力有限。
例如,用户要求检测:
“红色的苹果”
传统模型可能只检测出所有苹果,而不能准确理解“红色”这个限定条件。
多模态大语言模型虽然能理解复杂的自然语言,但在目标定位方面又存在一些问题:
- 漏检,召回率低;
- 坐标不够准确;
- 坐标逐渐偏移;
- 对同一个目标重复预测;
- 输出格式不稳定。
论文认为,这种差距主要来自两个原因。
第一,很多多模态模型把坐标预测当成离散的分类问题,直接预测坐标数字。这样,模型需要把离散 token 映射到连续的像素位置,学习难度较大。
第二,模型通常使用教师强制训练。训练时模型总是接收正确的前文,但实际推理时必须依赖自己之前生成的结果。因此,模型在真实自由生成时容易出现重复预测、漏掉目标或坐标格式混乱等问题。
2. Rex-Omni 的核心设计
论文通过三个设计来解决这些问题。
坐标表示方式
Rex-Omni 不直接预测图像中的绝对像素坐标,而是把相对坐标量化到0 到 999的范围内。
每个坐标值对应一个专门的特殊 token。例如,一个边界框可以表示为:
左上角横坐标、左上角纵坐标、右下角横坐标、右下角纵坐标
这样做有两个好处:
- 坐标预测只需要在 1000 个类别中进行,学习难度更低;
- 每个坐标只需要一个特殊 token,输出更短、推理更快。
数据引擎
论文设计了多个自动生成数据的工具,构造:
- 目标定位数据;
- 指代表达理解数据;
- 指点数据;
- 复杂语言描述对应的坐标数据。
这些数据不仅训练模型预测坐标,也帮助模型理解各种自然语言表达。
两阶段训练
第一阶段使用约2200 万条数据进行监督微调,让模型学会基本的坐标预测能力。
第二阶段使用基于 GRPO 的强化学习进行后训练,并设计几何感知的奖励函数。这一阶段主要用于:
- 进一步提高边界框的精确度;
- 缩小离散坐标与连续像素位置之间的差距;
- 减少重复预测;
- 改善模型在自由生成时的输出行为。
3. Rex-Omni 能做哪些任务?
论文并不只把 Rex-Omni 用于普通目标检测,而是把不同视觉任务都统一成“预测坐标点”的形式。
它可以处理:
- 普通目标检测;
- 长尾目标检测;
- 根据文字描述寻找目标;
- 根据示例框寻找同类目标;
- GUI 界面元素定位;
- 文档布局定位;
- OCR 文字区域检测;
- 目标指点;
- 人体关键点定位;
- 空间关系指代。
也就是说,用户可以用语言告诉模型“找什么”,模型再用坐标告诉用户“它在哪里”。
4. 实验结果说明什么?
在 COCO、LVIS 等数据集上,Rex-Omni 在零样本条件下取得了与 DINO、Grounding DINO 等传统检测器相当甚至更好的表现。
这说明它不仅保留了多模态大模型的语言理解能力,也具备了较强的目标定位能力。
论文想强调的不是单纯提高某一个检测指标,而是建立一种更统一的视觉感知方式:
所有任务都可以通过理解语言并预测坐标来完成。
Abstract 的一句话总结
Rex-Omni 是一个 3B 参数规模的多模态大模型,它通过量化坐标 token、自动构造丰富的定位数据,以及监督微调加强化学习的两阶段训练,将复杂语言理解与精确视觉定位结合起来,从而统一完成目标检测、指代定位、OCR、GUI 定位、指点和关键点检测等多种视觉感知任务。
1. Introduction
这一章主要是在说明:为什么需要 Rex-Omni,以及它想解决多模态大模型在视觉定位方面的哪些问题。
1. 目标检测正在从“固定类别”走向“开放世界”
传统目标检测通常只识别训练时定义好的类别,例如人、车、猫等。但现实世界中的目标种类非常多,用户还可能提出训练数据中没有出现过的描述。
因此,目标检测逐渐发展为开放集或开放词汇检测,希望模型能够:
- 识别训练类别之外的目标;
- 根据自然语言描述寻找目标;
- 处理复杂、灵活甚至以前没有见过的概念。
Grounding DINO、DINO-X 等方法已经可以根据文本类别进行开放词汇检测,但它们的语言理解能力相对有限。
例如,当输入要求是:
“红色的苹果”
这类模型可能只理解“苹果”,把所有苹果都检测出来,而忽略“红色”这一条件。
2. 传统检测器和多模态大模型各有优缺点
传统检测器的优势是定位准确,能够较好地预测边界框;但它们通常只能对比较简单的类别或文本提示作出反应,难以理解复杂的语言关系。
多模态大语言模型则具有很强的语言理解能力,可以理解:
- 复杂描述;
- 多目标关系;
- 空间关系;
- 指代表达;
- 任务指令。
但是,当多模态大模型需要直接输出目标坐标时,又经常出现:
- 目标漏检;
- 坐标不准;
- 坐标偏移;
- 重复检测同一个目标;
- 输出结构混乱;
- 难以达到传统检测器的定位精度。
因此,论文希望建立一种模型,同时拥有:
传统检测器的精确定位能力,以及多模态大模型的语言理解能力。
3. 第一个核心问题:离散 token 与连续坐标之间的矛盾
多模态大模型本质上是通过预测下一个 token 来生成文本。为了让它输出边界框,通常需要把坐标转换成 token。
但坐标本质上是连续的像素位置,而语言模型处理的是离散类别。比如,边界框左上角稍微偏移几个像素,在几何上可能只是很小的误差,但在 token 分类中可能会被当作完全不同的类别。
这会导致两个问题:
- 坐标学习难度很高;
- 交叉熵损失无法很好地表达“预测坐标离真实坐标有多近”。
传统检测器可以使用 L1、IoU、GIoU 等几何损失,直接衡量框的位置误差;而普通多模态模型主要依靠 token 级别的分类损失,难以获得类似的连续几何监督。
因此,论文认为需要重新设计坐标表示方式,并提供更适合定位任务的训练信号。
4. 第二个核心问题:训练方式与实际推理不一致
多模态模型通常通过监督微调进行训练。在训练时,模型每一步都能看到正确的前文,这叫作教师强制。
例如,真实输出是:
目标名称 → 正确坐标 → 下一个目标
训练时模型总是在正确的目标名称和正确坐标之后继续预测,因此很少接触自己的错误输出。
但实际推理时,模型必须依赖自己刚刚生成的结果。如果前面某个坐标预测错了,后续输出也可能受到影响。
这种训练与推理之间的不一致,会导致:
- 重复输出同一个目标;
- 漏掉某些目标;
- 坐标序列异常;
- 终止位置不合理;
- 结构化输出不稳定。
论文认为,单纯的监督微调不足以让模型学会控制自己的完整输出行为,因此需要通过强化学习进一步调整。
5. Rex-Omni 的整体解决方案
针对上述问题,论文提出 Rex-Omni,并围绕三个方面进行设计。
统一的坐标预测任务
论文把不同视觉任务都统一为坐标预测:
- 指点任务预测一个点;
- 目标检测用两个点表示边界框;
- 多边形任务预测多个点;
- 关键点任务预测多个语义点。
这样,不同任务都可以使用相同的视觉输出机制。
量化的相对坐标 token
模型把相对坐标映射到 0 到 999 的范围,并为每个坐标分配一个特殊 token。
相比直接预测绝对像素坐标,这种方式:
- 限定了坐标类别数量;
- 降低了坐标学习难度;
- 减少了每个坐标需要的 token 数量;
- 提高了推理速度;
- 更适合密集目标场景。
数据引擎和强化学习训练
论文构造了多种专门的数据引擎,生成目标定位、指代表达和指点数据,帮助模型学习复杂语言与空间位置之间的对应关系。
训练分成两步:
- 用 2200 万条数据进行监督微调,学习基本坐标预测;
- 用几何感知奖励进行 GRPO 强化学习,提升框的位置精度,并减少重复预测等行为问题。
6. 论文声称的实验目标
作者将在 COCO、LVIS 以及多个专门任务上评估 Rex-Omni,包括:
- 长尾检测;
- 指代表达理解;
- 密集目标检测;
- GUI 定位;
- OCR;
- 空间指代;
- 关键点和指点任务。
论文希望证明,Rex-Omni 不只是一个普通的检测器,而是一个可以用自然语言驱动的通用视觉感知系统。
本章一句话总结
Introduction 说明了传统检测器语言理解不足、多模态大模型定位精度不足的矛盾,并指出离散 token 坐标表示和教师强制训练是主要原因;Rex-Omni 通过量化坐标 token、丰富的定位数据以及监督微调加几何强化学习的训练方式,试图把语言理解与精确视觉定位统一起来。
2. Task Formulation
这一章介绍 Rex-Omni 如何把各种视觉感知任务统一表示成“理解指令并预测坐标”的问题。
核心思想是:
不管任务是检测、指点、OCR 还是关键点定位,最终都让模型输出带有语义描述的坐标序列。
1. 坐标预测方式
论文比较了多模态模型处理坐标的三种方式:
- 直接坐标预测:模型直接生成表示坐标的 token;
- 候选区域检索:模型从预先生成的候选框中选择一个;
- 外部解码器:模型生成特殊 token,再交给额外模块计算坐标。
Rex-Omni 选择第一种,也就是让语言模型直接生成坐标。原因是这种方式结构简单,不需要额外的候选框模块或独立解码器,也更容易统一各种任务。
2. 为什么使用相对坐标和特殊 token?
论文又比较了三种坐标表示方式:
相对坐标 + 特殊 token
把坐标量化到 0~999,每个数对应一个专门的 token。
例如,一个边界框可能表示为:
<12><42><512><612>
相对坐标 + 普通 token
坐标同样量化到 0~999,但用多个普通 token 或数字 token 表示。
绝对坐标
直接生成像素坐标,例如 1921 被拆成1、9、2、1等多个 token。
Rex-Omni 选择“相对坐标 + 特殊 token”,主要有两个原因。
第一,相对坐标把预测范围限制在 1000 个类别以内,模型不需要学习任意大小的绝对像素值。
第二,每个坐标只需要一个特殊 token,可以明显减少序列长度。
例如,一个边界框只需要四个坐标 token;如果用普通数字和分隔符,可能需要十几个 token。这样在一张图像中有很多目标时,可以减少输出长度并提高推理速度。
3. 输入形式:文字提示和视觉提示
Rex-Omni 为各种任务采用统一的文本化接口。
文字提示
用户可以用自然语言说明希望模型寻找什么,例如:
请检测图像中的鸽子、人、卡车和雪,并以边界框格式返回。
模型根据图像和文字指令,输出对应目标的坐标。
当需要检测多个目标时,可以把多个类别或指代表达放在同一个提示中。这样,模型不仅要识别目标,还要理解每个描述对应哪些区域。
视觉提示
有些目标很难用语言准确描述,尤其是:
- 罕见物体;
- 外观复杂的物体;
- 没有明确类别名称的物体。
因此,Rex-Omni 还支持使用一个已有的边界框作为视觉提示。
用户可以先给模型一个物体的位置,然后要求:
找出图像中所有与这个物体属于同一类别的目标。
Rex-Omni 不把视觉提示单独作为图像特征匹配问题处理,而是先把这个框转换为坐标 token,再通过语言指令告诉模型应该寻找同类对象。
这样,视觉提示也被纳入了统一的文本生成框架。