YOLOE:实时统一开放物体检测与分割,像人眼一样观察一切

YOLOE实现了实时、统一的开放世界物体检测与分割,支持文本、视觉和无提示等多种模式,像人眼一样观察一切。

原文标题:YOLOe问世,实时观察一切,统一开放物体检测和分割

原文作者:机器之心

冷月清谈:

YOLOE 通过 RepRTA 支持文本提示、通过 SAVPE 支持视觉提示以及使用 LRPC 支持无提示场景,在 YOLO 的基础上实现了开放世界的目标检测与分割。它采用了典型的 YOLO 架构,并针对开放集场景进行了创新设计:RepRTA 策略通过可重新参数化的轻量级辅助网络在训练过程中改进文本嵌入,增强文本和锚点对象嵌入之间的对齐;SAVPE 编码器通过解耦的轻量级分支高效处理视觉提示;LRPC 策略将无提示场景表述为检索问题,惰性检索物体类别名称。实验结果表明,YOLOE 在 LVIS 数据集上表现出较高的效率和零样本性能,且训练时间更短。可视化分析也验证了 YOLOE 在不同提示场景下的有效性和实用性。

怜星夜思:

1、YOLOE 在无提示场景下通过 LRPC 策略进行物体识别,这种方式和完全依赖语言模型生成物体类别相比,有哪些优缺点?未来在无提示物体识别上,还有哪些可能的优化方向?
2、YOLOE 集成了检测和分割功能,这在工程实现上会带来哪些挑战?在哪些应用场景下,同时进行检测和分割更有优势?
3、YOLOE 在多种任务和数据集上都表现出良好的性能,你认为它距离真正“像人眼一样观察一切”还有哪些差距?

原文内容

机器之心报道

机器之心编辑部


它能像人眼一样,在文本、视觉输入和无提示范式等不同机制下进行检测和分割。


自 2015 年由华盛顿大学的 Joseph Redmon 研究团队提出 YOLO(You Only Look Once)以来,这项突破性的目标检测技术就像为机器装上了「闪电之眼」,凭借单次推理的实时性能刷新了计算机视觉的认知边界。


传统的 YOLO 系列如同我们人工效准的精密仪器,其识别能力被严格框定在预定义的类别目录之中,每个检测框的背后,都需要工程师手动输入认知词典。这种预设规则在开放场景中限制了视觉模型的灵活性。


但是在万物互联的时代,行业迫切需要更接近人类视觉的认知范式 —— 不需要预先设定先验知识,却能通过多模态提示理解大千世界。那么如何通过视觉模型来实现这一目标呢?


近来,研究者们积极探索让模型泛化至开放提示的方法,力图让模型拥有如同人眼般的强大能力。不管是面对文本提示、视觉提示,甚至在无提示的情况下,模型都能借助区域级视觉语言预训练,实现对任意类别的精准识别。



  • 论文标题:YOLOE:Real-Time Seeing Anything

  • 论文地址:https://arxiv.org/abs/2503.07465

  • 技术展示页:https://github.com/THU-MIG/yoloe?tab=readme-ov-file#demo

YOLOE 的设计思路

在 YOLO 的基础之上,YOLOE 通过 RepRTA 支持文本提示、通过 SAVPE 支持视觉提示以及使用 LRPC 支持无提示场景。


图 1.YOLOE 的架构


如图 1 所示,YOLOE 采用了典型的 YOLO 架构,包括骨干、PAN、回归头、分割头和对象嵌入头。骨干和 PAN 为图像提取多尺度特征。对于每个锚点,回归头预测用于检测的边界框,分割头生成用于分割的原型和掩码系数。对象嵌入头遵循 YOLO 中分类头的结构,只是最后一个 1× 卷积层的输出通道数从闭集场景中的类数更改为嵌入维度。同时,给定文本和视觉提示,YOLOE 分别使用 RepRTA 和 SAVPE 将它们编码为规范化的提示嵌入 P。


在开放集场景中,文本和对象嵌入之间的对齐决定了识别类别的准确性。先前的研究通常引入复杂的跨模态融合来改进视觉文本表示以实现更好的对齐。然而,这些方法会产生大量的计算开销。鉴于此,作者提出了可重新参数化的区域文本对齐 (RepRTA) 策略,通过可重新参数化的轻量级辅助网络在训练过程中改进预训练的文本嵌入。文本和锚点对象嵌入之间的对齐可以在零推理和传输成本的情况下得到增强。


接下来是语义激活的视觉提示编码器。为了生成视觉提示嵌入,先前的工作通常采用 Transformer 设计,例如可变形注意或附加 CLIP 视觉编码器。然而,由于运算符复杂或计算要求高,这些方法在部署和效率方面带来了挑战。


考虑到这一点,研究人员引入了语义激活的视觉提示编码器(SAVPE)来高效处理视觉提示。它具有两个解耦的轻量级分支:(1) 语义分支在 D 通道中输出与提示无关的语义特征,而无需融合视觉提示的开销;(2) 激活分支通过在低成本下在更少的通道中将视觉提示与图像特征交互来产生分组的提示感知权重。然后,它们的聚合会在最小复杂度下产生信息丰富的提示嵌入。


在没有明确指导的无提示场景中,模型需要识别图像中所有有名称的物体。先前的研究通常将这种设置表述为生成问题,使用语言模型为密集的发现物体生成类别。然而,其中语言模型远不能满足高效率要求。YOLOE 将这种设置表述为检索问题并提出惰性区域提示对比(Lazy Region-Prompt Contrast,LRPC)策略。它以高效的方式从内置的大型词汇表中惰性检索带有物体的锚点的类别名称。这种范例对语言模型的依赖为零,同时具有良好的效率和性能。


实验结果


那么在实验测试中,YOLOE 的效果如何呢?


作者将 YOLOE 基于 YOLOv8 和 YOLOv11 架构开展了实验,并提供了不同的模型尺度。如下表所示,对于 LVIS 上的检测,YOLOE 在不同模型尺度上表现出效率和零样本性能之间的良好平衡。


表 1. LVIS 上的零样本检测评估


实验结果表明 YOLOE 的训练时间少于其他对比模型,比 YOLO-Worldv2 快了近 3 倍。同时 YOLOE-v8-S/M/L 的性能比 YOLOv8-Worldv2-S /M/L 分别高出 3.5/0.2/0.4AP,在 T4 和 iPhone 12 上的推理速度分别提高 1.4 倍 / 1.3 倍 / 1.3 倍和 1.3 倍 / 1.2 倍 / 1.2 倍。


不过在 Ap 指标上,与 YOLO - Worldv2 相比,YOLOE-v8-M/L 稍显逊色。进一步分析发现,这种性能差距主要是由于 YOLOE 创新性地在一个模型中集成了检测和分割功能。


作者还通过以下角度验证了模型和方法的有效性:


  • 分割评估

表 2. LVIS 上的分割评估


  • 无提示词评估


表 3.  LVIS 上的无提示词评估


  • 可迁移性评估


表 4. 在 COCO 上的可迁移性测试,测试了两种微调策略,线性探测和完全调整


这些结果充分证明,YOLOE 拥有强大的功能和高效率,适用于各种提示方式,可以实时看到任何东西。



此外,研究人员对 YOLOE 开展了四种场景的可视化分析:


  • 图 (a):在 LVIS 上进行零样本推理,以类别名称作为文本提示

  • 图 (b):可输入任意文本作为提示

  • 图 (c):能绘制视觉线索作为提示

  • 图 (d):无明确提示,模型自动识别所有对象


结果显示,YOLOE 在这些不同场景下均表现出色,能准确检测和分割各类物体,进一步体现了其在多种应用中的有效性与实用性。



© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

我觉得最大的差距在于“理解”。YOLOE 只能识别出图像中的物体,但它并不“理解”这些物体之间的关系,也不理解图像背后的故事。举个例子,YOLOE 可以识别出图像中的一只猫和一只老鼠,但它无法理解“猫抓老鼠”这个行为的含义。

要让 AI 真正“理解”世界,需要让它具备像人类一样的认知能力、推理能力和情感理解能力。这还有很长的路要走!

个人觉得除了楼上提到的,还有一个很重要的点是泛化能力。虽然YOLOE在很多数据集上表现不错,但现实世界的数据是千变万化的,而且存在很多unseen的物体和场景。如何提升模型在unseen数据上的泛化能力,是一个很大的挑战。

另外,鲁棒性也很重要。人眼在各种恶劣条件下(比如光线不足、图像模糊、遮挡等)都能正常工作,而目前的AI模型很容易受到这些因素的影响。提升模型的鲁棒性,也是未来研究的一个重要方向。

从算法层面来说,检测和分割的loss如何平衡是一个需要仔细考虑的问题。如果loss权重设置不当,可能会导致模型偏向于检测或分割,从而影响整体性能。

在农业领域,同时进行检测和分割也很有用。比如,可以检测果园里的水果,并分割出成熟的果实,从而实现精准采摘。或者检测农田里的杂草,并分割出杂草的区域,从而进行精准除草,减少农药的使用。

YOLOE 已经很厉害了,但和人眼相比,差距还是很大的。

1. ** context understanding:** 人眼可以结合上下文信息进行推理和判断,而 YOLOE 目前主要还是独立地处理每个图像或视频帧。
2. ** commonsense knowledge:** 人类具备丰富的常识知识,可以帮助我们理解场景和物体的关系。YOLOE 缺乏这种常识推理能力。
3. ** active perception:** 人类可以主动地选择关注的区域,并进行更细致的观察。YOLOE 目前是被动地接收输入,缺乏主动感知能力。

要达到“像人眼一样观察一切”的目标,还需要在模型结构、训练方式和数据规模上进行持续的探索和创新。

YOLOE 的 LRPC 策略避免了对大型语言模型的依赖,降低了计算成本,提高了效率,也更易于部署。但可能受到内置词汇表大小的限制,对于未知的或罕见的物体识别能力有限。而完全依赖语言模型虽然理论上可以识别更广泛的物体,但效率较低,且容易出现幻觉(hallucination)。

未来的优化方向:

1. 混合方法: 结合 LRPC 的高效性和语言模型的泛化能力,例如先用 LRPC 进行初步检索,再用语言模型对结果进行 Refine。
2. 知识图谱增强: 将物体检测与知识图谱相结合,利用知识图谱的推理能力来识别物体及其属性。
3. 自监督学习: 利用大量的无标注数据进行自监督学习,提升模型对物体表征的学习能力。

我觉得YOLOE这个思路挺巧妙的,把无提示检测变成了一个检索问题,相当于给模型内置了一个“百科全书”。优点很明显,速度快,算力需求低,适合边缘设备。缺点嘛,就像楼上说的,知识面受限,只能认得“百科全书”里有的东西。如果让我来优化,我会考虑:

* 众包模式更新“百科全书”: 搞一个社区,让用户上传新物体的图片和名称,模型定期学习,不断扩充知识库。
* “猜词游戏”机制: 对于检索不到的物体,模型可以先“猜”一个最有可能的名称,再根据用户的反馈进行调整,类似一个互动猜词游戏。

我觉得工程上最大的挑战是算力!同时做检测和分割,计算量肯定翻倍。想在移动端跑起来,优化是必须的。

检测+分割的优势场景,我想到的是增强现实(AR)。比如你想用手机扫描一个物体,AR APP 不仅要告诉你这是什么,还要精确地把它的轮廓抠出来,这样才能进行后续的虚拟互动,比如替换颜色、添加特效之类的。这个场景下,检测和分割缺一不可!

从学术角度看,LRPC 是一种典型的基于检索的开放集识别方法。它的优势在于简单有效,易于实现。但是,它也存在一些局限性:

1. 检索偏差: 检索结果的质量严重依赖于内置词汇表的质量和覆盖度。如果词汇表存在偏差,例如包含过多常见物体而缺乏罕见物体,则会影响模型的识别性能。
2. 语义鸿沟: 视觉特征和文本描述之间存在语义鸿沟,如何有效缩小这个鸿沟是提升检索性能的关键。

可以考虑以下优化方向:

1. 对比学习: 引入对比学习的思想,学习视觉特征和文本描述之间的联合嵌入空间,使得相似的物体在嵌入空间中更接近。
2. 主动学习: 设计主动学习策略,让模型主动选择需要学习的物体,从而更有效地扩充词汇表。

技术上,同时进行检测和分割最大的挑战就是如何平衡两者的性能。检测需要快速定位物体,分割需要精细的像素级划分,二者对模型结构和训练策略的要求不尽相同。工程实现上,需要仔细考虑模型大小、推理速度、显存占用等因素。

同时进行检测和分割更有优势的场景:

1. 自动驾驶: 需要同时识别车辆、行人、车道线等物体,并进行精细的分割,以实现更安全的驾驶决策。
2. 医学影像分析: 需要同时检测病灶并进行精确的分割,辅助医生进行诊断。
3. 视频监控: 需要同时识别监控画面中的人和物体,并分割出他们的轮廓,以便进行行为分析和事件追踪。