Rex-Omni: Detect Anything via Next Point Prediction
- 推文链接: https://mp.weixin.qq.com/s/yCJnRRCbPt2KtIB_9dh9pA
- 推文标题: CVPR'26开源 | Rex-Omni:检测一切!
- 来源: https://arxiv.org/abs/2510.12798
- 本地PDF:
../raw/2025-10-14-rex-omni.pdf - 日期: 2025-10-14
- 标签:
cvpr2026,mllm,object-detection,open-vocabulary - 研究方向: Computer Vision → Object Detection → MLLM-based Detection
- 作者: Qing Jiang, Junan Huo, Xingyu Chen, Yuda Xiong, Zhaoyang Zeng, Yihao Chen, Tianhe Ren, Junzhi Yu, Lei Zhang (IDEA)
- 代码: https://github.com/IDEA-Research/Rex-Omni
- 项目主页: https://rex-omni.github.io/
推文解读
3DCV 公众号对 Rex-Omni 的推介。方法细节、实验数值请阅读论文原文后补充。
摘要
问题: 传统检测器(YOLO、DETR、Grounding DINO)定位强但语言理解弱;MLLM 理解力强但面临召回率低、重复预测、坐标对齐不准确等挑战。
方案: Rex-Omni,30亿参数 MLLM,通过三项关键设计实现业界领先的零样本检测性能:
- 任务建模: 用特殊标记表示 0-999 的量化坐标,降低学习难度
- 数据引擎: 构建多个数据引擎生成高质量定位/指代/指向数据
- 训练流程: 2200万数据 SFT + GRPO 强化学习,用几何感知奖励弥合离散-连续坐标差距
关键创新:
- 统一视觉感知任务为"Next Point Prediction"
- 量化坐标 + 特殊标记的坐标表示方案
- GRPO 后训练纠正 SFT 的重复预测等不良行为
验证: COCO、LVIS 等基准上零样本性能与 DINO、Grounding DINO 相当或更优
背景
传统回归检测器(YOLO/DETR/DINO)与 MLLM 各有优劣,MLLM 在检测精度上一直难以匹敌传统方法。Rex-Omni 试图弥合这一差距。
支持的任务
目标检测、指代检测、指向、视觉提示、GUI 定位、空间指代、OCR、关键点检测
论文原文解读
按论文原文 Section 顺序记录核心内容。
1. Introduction
背景 & 动机:
- 目标检测已从 CNN(YOLO、Faster R-CNN)演进到 Transformer(DETR、DINO)再到开集检测(Grounding DINO、DINO-X)
- 开集检测依赖文本编码器(BERT/CLIP)表示物体类别,语义理解能力有限(例:输入"红苹果",Grounding DINO 检测出所有苹果)
- MLLM 有强大语言理解能力,但现有 MLLM 检测方法在 COCO 等基准上很少能与回归检测器匹敌
- 即使先进 MLLM(如 Qwen2.5-VL)也面临:召回率低、坐标漂移、重复预测
两个核心挑战(图2):
- 离散坐标预测 vs 连续几何损失: MLLM 将坐标预测视为离散分类,用交叉熵损失;回归模型受益于连续几何感知损失(L1、GIoU)。离散坐标中微小像素偏移可能导致不成比例的大交叉熵损失
- SFT 的教师强制不匹配: SFT 期间模型始终以真实前缀为条件(teacher forcing),从未接触自身不完美预测。自由推理时无法规范输出结构,导致重复预测或遗漏
本文贡献:
- 任务公式化: 将视觉感知统一为坐标预测框架,检测用 2 点,多边形用 4+ 点,关键点输出多个语义点。采用 0-999 量化坐标表示,降低学习难度
- 数据引擎: 为 grounding、referring、pointing 设计多个专门数据引擎,生成高质量语义丰富的视觉监督
- 训练流程: 两阶段——2200万数据 SFT + GRPO 强化学习。RL 阶段用三种几何感知奖励函数,提高精度、减少重复预测
验证: COCO 零样本下 F1 优于回归模型和其他 MLLM;在长尾检测、指代、GUI 定位、OCR 等也都进行了评测
2. Related Work
2.1 基于回归的检测方法(Regression-based)
- 从 anchor-based CNN(YOLO, SSD, Faster R-CNN)→ anchor-free(CornerNet, CenterNet, FCOS)→ Transformer-based(DETR, Deformable DETR, DINO)
- 持续改进:FPN、Focal Loss、MixUp/Mosaic 数据增强
- 累计了大量渐进式创新才达到当前高性能水平
2.2 开集检测方法(Open-set)
- Text-prompted OVOD:用 CLIP/BERT 做文本-视觉对齐(Grounding DINO, DINO-X),零样本识别能力强,但复杂语义描述理解有限
- Visual-prompted:用框/点等视觉示例识别物体,适合稀有或难以文字描述的物体,但不如文本提示通用
- 混合方法(T-Rex2):结合文本+视觉提示,用对比学习融合两者优势
- 核心瓶颈:这些方法都只是类别级别的开集泛化(category-level open-set generalization),即用 CLIP/BERT 做"名词匹配",模型并没有真正理解语言。输入"红苹果"只会检测出所有苹果(当成一个类别名),不能做属性+关系组合推理
2.3 基于 MLLM 的检测方法
- 核心思路:将检测转化为语言建模任务(Pix2Seq 范式),框坐标表示为离散量化 token,通过 next-token prediction 生成
- 代表工作:Kosmos-2, Shikra, Ferret, CogVLM
- 现存问题:召回率低、坐标漂移、重复预测
- 根因:① 交叉熵损失难以从离散 token 精确映射到连续像素空间;② SFT 的 teacher forcing 导致自回归推理时行为缺陷
- Rex-Omni 的设计动机就是系统性地解决这两个问题
3. Task Formulation
3.1 Coordinate Formulation
三种坐标预测范式(图3a):
- Direct Coordinate Prediction(Pix2Seq 范式): 将坐标值作为离散 token 在 LLM 词汇表中表示
- Quantized Relative Coordinate(Rex-Omni 采用):
- 将 0-999 的量化坐标值映射到 1000 个特殊 token
- 相对坐标(相对于图像长宽),不依赖绝对像素值
- 4 个 token 即可表示一个边界框(vs 无此方案需 15 个原子 token)
- 显著提高 token 效率和推理速度,尤其密集场景
优势: 将坐标学习从 1000 x 图像宽度的搜索空间降为 1000 类分类,大幅降低学习难度
3.2 Input Format
统一文本接口,每个任务表示为自然语言查询。多目标时用逗号连接。
输出格式示例:
<object_ref_start>person<object_ref_end><box_start><12><42><512><612>3.3 Model Architecture
基于 Qwen2.5-VL-3B-Instruct,最小架构修改:
- 原始 Qwen2.5-VL 用绝对坐标编码,Rex-Omni 调整为相对坐标表示
- 复用词汇表中最后 1000 个 token 作为坐标特殊 token
- 保留 Qwen2.5-VL 的
<object_ref_start>、<box_start>等原有特殊 token
4. Training Data
数据规模: 总计 2200 万高质量标注图像(公开数据集 + 自动引擎生成)
4.1 公开数据集(~890 万)
覆盖 10 个任务:Detection、Referring、Visual Prompting、OCR、Layout Grounding、GUI Grounding、Pointing、Affordance、Spatial Referring、Keypointing。每个任务预定义 question template 构造 QA 对。
4.2 数据引擎(三个核心引擎)
Grounding Data Engine(检测/定位数据,~300万张):
- Image Captioning — Qwen2.5-VL-7B 生成描述
- Phrase Extraction — SpaCy 提取名词短语
- Phrase Filtering(关键改进):剔除带属性描述的短语(如 "green lemon" 丢弃,保留 "lemon")。原因是 grounding 模型无法准确理解修饰词,保留会引入标签噪声
- Phrase Grounding — DINO-X 生成框
- 数据源:COYO + SA-1B
Referring Data Engine(指代数据,~300万张,全自动):
- Expression Generation — Qwen2.5-VL-7B 看图+类别标签生成指代表达
- Pointing — Molmo 预测指代对应的空间点
- Mask Generation — SAM 生成 GT 框 mask
- Point-to-Box Association — 点落在 mask 内则关联框和指代表达
- 数据源:O365 + OpenImages + Grounding 引擎产出
Pointing Data Engine(~500万点样本):
- SAM 获取 mask → 最小外接旋转矩形 → 对角线交点作为候选点
- 从现有检测数据集 + 引擎产出转化
OCR Data Engine(~200万样本):
- PaddleOCR 标注文本图像,多边形+转录
5. Training Pipelines
两阶段训练策略(图5)
5.1 Stage 1: Supervised Fine-Tuning (2200万样本)
目标: 让模型学会将 0-999 的量化坐标 token 准确映射到连续像素空间(1000 路分类问题)
在线数据构建策略:
- Conversation Templates: GPT-4o 为每个任务构造多个问题模板,含 PHRASE 占位符
- Multi-Phrase Queries: 若图中有 N 个标注短语,随机采样 1~N 个构成训练查询
- Visual Prompting Training: 对每个类别随机采样 1~N 个框作为视觉提示,让模型检测同类所有物体
训练配置:
- 8 节点 x 8 A100 GPU,训练约 8 天
- 标准交叉熵损失
- 不同组件独立学习率:视觉编码器 2e-6,投影层 + LLM 2e-5
- AdamW 优化器,3% warmup,weight decay 0.01
- 原生分辨率 ViT,像素限制 16 x 28 x 28 ~ 2560 x 28 x 28(即 16~2560 个图像 token)
5.2 SFT 阶段的两大局限
几何离散化问题:
- 交叉熵损失对离散坐标分类:预测 <32> vs GT <33> 被完全惩罚(尽管像素差异极小);
- 但预测 <0><0><100><1000> vs GT <0><0><100><100> 仅错 1 个 token 但几何误差巨大,CE 损失却很小
- CE 损失与几何质量严重失调
行为调节缺陷:
- Teacher forcing 固定了预测框数量 = GT 框数量,模型从未学习自主决定输出多少个物体
- 推理时出现两种典型错误:①漏检(预测太少);②重复检测(相同或微移坐标的冗余框)
5.3 Stage 2: GRPO 强化后训练
核心思路: GRPO 让模型自探索输出空间,通过分组奖励优化
- 对每组采样 G 个完整响应 {o1,...,oG},计算标量奖励 ri,组内归一化得优势值 Ai
- 使用 clipped policy gradient + KL 正则化防止偏离 SFT 模型太远
天然解决了两个问题:
- 奖励函数可以是几何感知的(IoU/L1),直接优化空间对齐而非 token 级正确
- 允许变长输出,重复/冗余预测获得低奖励,学会输出数量自调节
5.4 三种几何感知奖励函数
Box IoU Reward(检测/指代/OCR 等出框任务):
- 对每个 GT 框,找与之 IoU 最大的预测框,类别匹配则奖励=IoU,否则=0
- 整合 Precision/Recall → F1-style reward,同时惩罚错配和过度/不足预测
Point-in-Mask Reward(点预测任务):
- 对每个 GT 框用 SAM 生成 mask,预测点落在 mask 内且类别匹配则奖励=1
- 同公式计算 Precision/Recall/F1
Point-in-Box Reward(GUI Grounding):
- 预测点落在 GT 框内则奖励=1,否则=0
5.5 实现细节
- 从 SFT 数据中采样 66K 用于 GRPO 阶段
- 8 A100 GPU,训练约 24 小时
- Rollout size=8, KL penalty beta=0.01, batch size=64
- 全部参数更新
6. Benchmark Results (Section 5)
核心评估设置:
- 由于 MLLM 缺乏可靠置信度估计,不使用 AP,改用 Recall / Precision / F1(跨置信度阈值 0~1 取最佳 F1)
- Rex-Omni 评估时 temperature=0,零样本设置(未在 COCO 上训练)
- 对闭集模型:只保留与 GT 类别匹配的框;对 MLLM:逐类查询(单类别策略)
- Rex-Omni 和 SEED1.5-VL 除外,支持多类别同时查询
6.1 通用目标检测 (COCO)
| 方法 | F1@0.5 | F1@mIoU | 零样本 |
|---|---|---|---|
| Grounding DINO-SwinT | 69.8 | 56.6 | Yes |
| Qwen2.5-VL-3B | 64.7 | 47.6 | UNK |
| SEED1.5-VL | 71.3 | 51.4 | Yes |
| Rex-Omni-SFT | 68.2 | 50.4 | Yes |
| Rex-Omni | 72.0 | 52.9 | Yes |
- Rex-Omni 零样本下超越所有 MLLM,@0.5 超越 Grounding DINO 和 DINO-R50
- @0.95 仅略优于 DAB-DETR(回归模型在极高紧密度要求下仍有优势)
- GRPO 相比 SFT-only 提升显著
6.2 长尾检测 (LVIS, 1203类)
- MLLM 整体优于 Grounding DINO(大模型的强语言推理有助于低频类别泛化)
- Rex-Omni F1@0.5=64.3,仅次于 SEED1.5-VL(更大模型);mIoU 上实现 SOTA
6.3 密集小目标检测 (Dense200, VisDrone)
- 最难的任务:MLLM 整体表现差,缺乏多尺度特征机制
- Rex-Omni Dense200 F1@0.5=78.4,VisDrone F1@0.5=61.6,均为最高
- SFT 阶段的关键失败模式:①大框覆盖多个物体;②结构化的重复预测(微移坐标的冗余框)
- GRPO 后这些重复预测基本消失
6.4~6.11 其他任务概览
| 任务 | 数据集 | Rex-Omni 表现 |
|---|---|---|
| Referring (REC) | HumanRef, RefCOCOg | 仅次于 SEED1.5-VL,说明 3B 语言理解足够强 |
| Visual Prompting | FSC147, COCO, LVIS, Dense200 | 不如 T-Rex2,但密集场景和长尾表现好 |
| Object Pointing | 7 个数据集 | 全部 SOTA (80.5/70.8/82.5/58.9/83.8/84.7/85.1) |
| GUI Grounding | ScreenSpot-V2/Pro | 3B 参数模型中最高(88.4% / 36.8%) |
| Layout Grounding | DocLayNet, M6Doc | 大幅领先其他 MLLM (F1@0.5=89.5/76.3) |
| OCR | 4 个数据集 | BBOX 格式超越 SEED1.5-VL,接近专用 PaddleOCR |
| Spatial Pointing | RefSpatial | 大幅超越专有模型 Gemini-2.5-Pro + 指代专家模型 |
| Keypoint | COCO, AP10K | 不如 X-Pose(人类)但跨域泛化更好(动物) |
7. In-depth Analysis of Rex-Omni
7.1 GRPO 为什么有效
训练动态(图15):
- SFT 阶段:性能平稳渐进提升,训练到后期趋于饱和
- GRPO 阶段:少量步数内性能快速跳跃,说明 SFT 已具备强大潜伏能力但未被充分利用
- GRPO 通过奖励引导释放了 SFT 未能激活的潜力
行为纠正:重复预测(表13):
- SFT-only 在 VisDrone 上有 15.3% 的重复预测;GRPO 后降至 0.1%
- 去除重复后 SFT vs GRPO 差距大幅缩小(说明重复预测是 GRPO 提升的重要因素)
行为纠正:大框预测(表14):
- SFT 模型 20.5% 的预测是超大框(覆盖 >95% 图像区域)
- GRPO 后仅 3.5%
坐标精度提升有限(表15):
- 控制变量后 GRPO 对坐标精度提升很小(COCO mIoU 63.0→63.5)
- SFT 已经能学到足够好的坐标映射
- GRPO 的主要优势在于纠正行为缺陷而非提升原始坐标精度
采样概率提升(表16):
- COCO 上 SFT-Sampling-Vote(8 次采样选最佳)=72.6 > GRPO 72.0,说明简单场景 SFT 已有潜力
- LVIS 和 Dense200 上 GRPO 大幅领先采样策略,说明复杂场景 GRPO 从根本上提升预测质量
7.2 推理效率与速度
token 效率(表17):
- Rex-Omni: 7.6 tokens/box vs SEED1.5-VL: 148.8 tokens/box(缩减 20x)
- COCO 图像平均输出:45.3 vs 631.0 tokens
- 核心原因:特殊 token 方案(一个 token 表示一个量化坐标)
推理速度(图17):
- 检测 0-29 个物体 < 2 秒
- 检测 410-419 个物体 > 16 秒
- 与物体数量线性增长,目前比传统检测器慢
- 可以通过量化/蒸馏等加速方案缓解
8. Conclusion
总结: Rex-Omni 系统性解决了基于 MLLM 的目标检测面临的定位精度和行为缺陷问题。通过特殊 token 的高效坐标标记化、自定义引擎的大规模数据生成、SFT+GRPO 两阶段训练,弥合了精确定位与深度语言理解之间的差距。
关键发现: SFT 提供基础能力,GRPO 后训练对纠正重复预测和过大框等行为缺陷至关重要。
局限性: 推理速度较慢,需要模型加速和高级奖励引导采样方面的后续工作。
个人评价
核心价值: Rex-Omni 证明了 MLLM 在目标检测上可以匹敌传统的回归检测器(DINO、Grounding DINO),这是之前 MLLM 方案未能做到的。核心贡献不是架构创新,而是系统性地诊断并解决了 MLLM-based detection 的两个根本问题:离散坐标的几何不匹配 + SFT 的行为缺陷。
最值得借鉴的方法:
- Phrase Filtering 策略(Grounding Data Engine 中的关键改进):剔除带属性的短语避免标签噪声。这个简单但有效的 trick 很少在其他工作中强调
- 量化坐标 + 特殊 token 方案:把 1000 x 图像宽度的搜索空间压缩为 1000 类分类,同时大幅提升 token 效率
- GRPO 用于行为纠正而非精度提升:认知很重要——SFT 已经能学到好的坐标映射,RL 的价值是规范输出行为(数量自调节、消除重复)
局限性:
- 推理速度慢(>400 框需 16+ 秒),离实时部署有距离
- @0.95 IoU 上仍落后回归模型,极高精度场景不适合
- 3B 参数在 LVIS 上不如更大的 SEED1.5-VL,模型规模仍有红利
- 密集场景的重复预测虽有改善但未完全消除
对 MLLM-based detection 方向的启示: GRPO 的"行为纠正 > 精度提升"结论对后续 MLLM 检测方案的设计有重要指导意义——不要只追求更好的坐标表示,更要解决自回归生成中的行为控制问题。
疑问解答 (Q&A)
待与猴哥讨论后补充
Q1: 什么叫类别级别的开集泛化?
答: 类别级别的开集泛化(category-level open-set generalization)指模型能检测训练时没见过的类别名称,但仅限于——你给一个类别名词(如 "truck"、"elephant"),它去图中找到属于该类别的物体。典型代表是 Grounding DINO、DINO-X,输入 "红苹果" 会检测出所有苹果(因为 CLIP/BERT 把 "红苹果" 当成一个类别名嵌入)。本质上是"名词匹配",模型没有真正理解语言的组合语义(属性+关系+状态推理)。
而 MLLM 方案(如 Rex-Omni)能做的是语言级别的泛化:输入"桌上那个红色的杯子"能理解带关系和属性约束的指代,只检测符合描述的物体。前者只能做名词匹配,后者能做属性、空间关系、状态的组合推理。
