实时识别任何物体!清华提出YOLOE!高效开放场景的开放提示检测和分割!

🌐 社群导航

🔗 点击加入➡️【AIGC/LLM/MLLM/3D/自动驾驶】 技术交流群

🔗 点击加入➡️【2-3月CCF投稿】交流群

数源AI 最新论文解读系列

论文名:YOLOE:Real-Time Seeing Anything

论文链接:https://arxiv.org/pdf/2503.07465

开源代码:https://github.com/THU-MIG/yoloe

导读

目标检测和分割是计算机视觉中的基础任务,广泛应用于自动驾驶、医学分析和机器人技术等领域。像YOLO系列这样的传统方法利用卷积神经网络实现了卓越的实时性能。然而,它们对预定义目标类别的依赖限制了在实际开放场景中的灵活性。此类场景越来越需要能够在文本、视觉线索等多种提示机制引导下,甚至无需提示就能检测和分割任意目标的模型。

简介

目标检测和分割在计算机视觉应用中被广泛采用,然而像YOLO系列这样的传统模型虽然高效且准确,但受限于预定义的类别,在开放场景中的适应性受到阻碍。近期的开放集方法利用文本提示、视觉线索或无提示范式来克服这一问题,但由于高计算需求或部署复杂性,往往在性能和效率之间进行折衷。在这项工作中,我们推出了YOLOE,它在一个高效的单一模型中集成了跨多种开放提示机制的检测和分割功能,实现了实时识别任何物体。对于文本提示,我们提出了可重参数化区域 - 文本对齐(Re - parameterizable Region - Text Alignment,RepRTA)策略。该策略通过一个可重参数化的轻量级辅助网络优化预训练的文本嵌入,并以零推理和迁移开销增强视觉 - 文本对齐。对于视觉提示,我们提出了语义激活视觉提示编码器(Semantic - Activated Visual Prompt Encoder,SAVPE)。它采用解耦的语义和激活分支,以最小的复杂度带来改进的视觉嵌入和准确性。对于无提示场景,我们引入了惰性区域 - 提示对比(Lazy Region - Prompt Contrast,LRPC)策略。它利用内置的大词汇表和专门的嵌入来识别所有物体,避免了对高成本语言模型的依赖。大量实验表明,YOLOE具有卓越的零样本性能和可迁移性,推理效率高且训练成本低。值得注意的是,在LVIS数据集上,YOLOE - v8 - S以更低的训练成本和的推理加速,比YOLO - Worldv2 - S的平均精度(AP)高出3.5。当迁移到时,与封闭集的YOLOv8 - L相比,在训练时间减少近的情况下,实现了的提升和0.4的提升。

方法与模型

在本节中,我们详细介绍YOLOE的设计。基于YOLO系列(3.1节),YOLOE通过RepRTA(3.2节)支持文本提示,通过SAVPE(3.3节)支持视觉提示,并通过LRPC(3.4节)支持无提示场景。

图2. YOLOE(一种目标检测和分割模型)概述,它支持多种开放提示机制下的检测和分割任务。对于文本提示,我们设计了一种可重新参数化的区域 - 文本对齐策略,以在零推理和迁移开销的情况下提高性能。对于视觉提示,采用SAVPE(一种视觉提示编码方法)以最小的成本对视觉线索进行编码,并增强提示嵌入。对于无提示设置,我们引入了惰性区域 - 提示对比策略,通过检索有效地为所有识别出的对象提供类别名称。

3.1. 模型架构

如图2所示,YOLOE采用了典型的YOLO架构,由主干网络(backbone)、路径聚合网络(PAN)、回归头、分割头和目标嵌入头组成。主干网络和路径聚合网络为图像提取多尺度特征。对于每个锚点,回归头预测用于检测的边界框,分割头生成用于分割的原型和掩码系数[3]。目标嵌入头遵循YOLO中分类头的结构,只是最后一个卷积层的输出通道数从封闭集场景中的类别数改为嵌入维度。同时,给定文本和视觉提示,我们分别使用可重参数化提示调整(RepRTA)和语义感知视觉提示编码(SAVPE)将它们编码为归一化提示嵌入。它们作为分类权重,并与锚点的目标嵌入进行对比以获得类别标签。该过程可以形式化为

其中  分别表示锚点的数量, 表示提示的数量, 表示嵌入的特征维度。

3.2. 可重新参数化的区域 - 文本对齐

在开放集场景中,文本嵌入和对象嵌入之间的对齐决定了识别类别的准确性。先前的工作通常引入复杂的跨模态融合来改善视觉 - 文本表示,以实现更好的对齐 [5, 37]。然而,这些方法会产生显著的计算开销,尤其是在处理大量文本时。鉴于此,我们提出了可重新参数化的区域 - 文本对齐(RepRTA,Re - parameterizable Region - Text Alignment)策略,该策略通过可重新参数化的轻量级辅助网络在训练过程中改进预训练的文本嵌入。可以在零推理和迁移成本的情况下增强文本嵌入与锚点的对象嵌入之间的对齐。

具体而言,对于长度为的文本提示,我们首先使用CLIP文本编码器[44,57]来获取预训练的文本嵌入。在训练之前,我们预先缓存数据集中所有文本的嵌入,并且可以移除文本编码器而无需额外的训练成本。同时,如图3.(a)所示,我们引入了一个轻量级辅助网络,它仅包含一个前馈块,其中表示可训练参数,与闭集训练相比引入的开销较低。在训练期间,该网络推导出增强的文本嵌入,用于与锚点的对象嵌入进行对比,从而改善视觉 - 语义对齐。设为对象嵌入头中输入特征为的最后卷积层的核参数,(C)为卷积运算符,为重塑函数,则我们有

此外,训练完成后,辅助网络可以与目标嵌入头重新参数化为YOLOs相同的分类头。重新参数化后,最后一个卷积层的新内核参数可以通过以下方式推导得出

最终预测结果可以通过标签获得,这与原始的YOLO架构相同,从而在部署和迁移到下游封闭集任务时实现零开销。

3.3. 语义激活的视觉提示编码器

视觉提示旨在通过视觉线索(例如框和掩码)来指示感兴趣的对象类别。为了生成视觉提示嵌入,以往的工作通常采用以Transformer为主的设计 [20, 30],例如可变形注意力 [78],或额外的CLIP视觉编码器 。然而,由于复杂的算子或高计算需求,这些方法在部署和效率方面带来了挑战。考虑到这一点,我们引入了语义激活的视觉提示编码器(Semantic-Activated Visual Prompt Encoder,SAVPE)来高效处理视觉线索。它具有两个解耦的轻量级分支:(1)语义分支在  通道中输出与提示无关的语义特征,无需融合视觉线索的开销;(2)激活分支通过在更少的通道中以低成本将视觉线索与图像特征进行交互,生成成组的与提示相关的权重。然后,它们的聚合在最小复杂度下产生信息丰富的提示嵌入。

图3。(a) RepRTA(重复实时注意力)中轻量级辅助网络的结构,它由一个SwiGLU前馈网络(FFN)模块[53]组成。(b) 语义感知视觉提示嵌入(SAVPE)的结构,它包括用于生成与提示无关的语义特征的语义分支和用于提供分组的与提示相关的权重的激活分支。因此,通过它们的聚合可以有效地导出视觉提示嵌入。

如图3.(b)所示,在语义分支中,我们采用与目标嵌入头相似的结构。利用来自路径聚合网络(PAN)的多尺度特征,我们分别对每个尺度使用两个卷积层。上采样后,将特征进行拼接并投影以得到语义特征。在激活分支中,我们将视觉提示形式化为掩码,指示区域为1,其他区域为0。我们对其进行下采样,并利用卷积层得到提示特征。此外,我们通过卷积层从中获取图像特征以与之融合。然后将和进行拼接,并用于输出提示感知权重,该权重在提示指示区域内使用softmax函数进行归一化。此外,我们将的通道划分为组,每组有个通道。第组的通道共享来自的第个通道的权重。利用,我们可以在低维度上用图像特征处理视觉线索,成本极低。此外,通过聚合两个分支可以得到提示嵌入

因此,它可以与锚点的对象嵌入进行对比,以识别出感兴趣类别的对象。

3.4. 惰性区域提示对比

在没有明确指导的无提示场景中,期望模型识别出图像中所有有名称的对象。先前的工作通常将这种设置表述为一个生成问题,即采用语言模型为密集发现的对象生成类别 [33, 49, 62]。然而,这会带来显著的开销,例如,GenerateU [33] 中具有 2.5 亿参数的 FlanT5-base [6] 和 DINO-X [49] 中的 OPT - 1.25 亿 [73] 等语言模型,远远无法满足高效率要求。鉴于此,我们将这种设置重新表述为一个检索问题,并提出了惰性区域提示对比(LRPC)策略。它以经济高效的方式从内置的大词汇表中为包含对象的锚点惰性地检索类别名称。这种范式完全不依赖语言模型,同时具有良好的效率和性能。

具体而言,借助预训练的YOLOE(You Only Look Once Efficient)模型,我们引入了一种专门的提示嵌入(prompt embedding),并专门对其进行训练以找出所有物体,其中物体被视为一个类别。同时,我们遵循文献[16]收集了一个涵盖各种类别的大词汇表,作为内置的检索数据源。有人可能会直接利用这个大词汇表作为YOLOE的文本提示来识别所有物体,然而,通过将大量锚点(anchor points)的物体嵌入与众多文本嵌入进行对比,这会产生显著的计算成本。相反,我们采用专门的提示嵌入  来找出与物体对应的锚点集合 ,方法是

其中  表示所有锚点, 是用于过滤的阈值超参数。然后,仅对  中的锚点与内置词汇表进行懒匹配以检索类别名称,从而绕过了无关锚点的计算成本。这进一步提高了效率,且不会降低性能,有利于实际应用。

3.5. 训练目标

在训练过程中,我们遵循文献[5]的方法,为每个拼接样本获取一个在线词汇表,将图像中涉及的文本作为正标签。遵循文献[21],我们利用任务对齐的标签分配方法将预测结果与真实标签进行匹配。分类任务采用二元交叉熵损失函数,回归任务采用交并比(IoU)损失函数和分布式焦点损失函数。对于分割任务,我们遵循文献[3]的方法,利用二元交叉熵损失函数来优化掩码。

实验与结果

1. 实现细节

模型。为了与文献[5]进行公平比较,我们为YOLOE采用了相同的YOLOv8架构(文献[21])。此外,为了验证其在其他YOLO模型上的良好泛化能力,我们还对YOLO11架构(文献[21])进行了实验。对于这两种架构,我们都提供了三种模型规模,即小(S)、中(M)和大(L),以满足各种应用需求。文本提示使用预训练的MobileCLIP - B(LT)(文献[57])文本编码器进行编码。默认情况下,我们在SAVPE中经验性地使用。

数据。我们遵循文献[5]来利用检测和定位数据集,包括Objects365(V1)[52]、GoldG [22](包括GQA [17]和Flickr30k [43]),其中排除了来自COCO [34]的图像。此外,我们利用先进的SAM - 2.1 [46]模型,使用检测和定位数据集中的真实边界框为分割数据生成伪实例掩码。这些掩码会经过过滤和简化以消除噪声[9]。对于视觉提示数据,我们遵循文献[20]利用真实边界框作为视觉线索。在无提示任务中,我们复用相同的数据集,但将所有对象标注为单一类别,以学习专门的提示嵌入。

训练。由于计算资源有限,与YOLO-World训练100个轮次(epoch)不同,我们首先使用文本提示对YOLOE进行30个轮次的训练。然后,我们仅使用视觉提示对SAVPE进行2个轮次的训练,这避免了支持视觉提示带来的额外大量训练成本。最后,我们在无提示场景下仅对专用提示嵌入进行1个轮次的训练。在文本提示训练阶段,我们采用与文献[5]相同的设置。值得注意的是,YOLOE-v8-S / M / L可以在8块英伟达RTX4090 GPU上分别在12.0 / 小时内完成训练,与YOLO-World相比,成本降低了。对于视觉提示训练,我们冻结所有其他部分,并采用与文本提示训练相同的设置。为了实现无提示能力,我们利用相同的数据来训练一个专用嵌入。我们可以看到,YOLOE不仅训练成本低,而且表现出卓越的零样本性能。此外,为了验证YOLOE在下游任务上的良好迁移能力,我们在COCO数据集[34]上对YOLOE进行微调,以进行闭集检测和分割。我们试验了两种不同的实际微调策略:(1)线性探测:只有分类头是可学习的;(2)全量微调:所有参数都是可训练的。对于线性探测,我们仅对所有模型进行10个轮次的训练。对于全量微调,我们分别对包括YOLOE-v8-S / 11-S在内的小规模模型进行160个轮次的训练,对包括YOLOE-v8-M / L和YOLOE-11-M / L在内的中大规模模型进行80个轮次的训练。

评估指标。对于文本提示评估,我们遵循开放词汇目标检测任务的标准协议,将基准测试中的所有类别名称用作输入。对于视觉提示评估,参照文献[20],对于每个类别,我们默认随机采样张训练图像(),使用其真实边界框提取视觉嵌入,并计算平均提示嵌入。对于无提示评估,我们采用与文献[33]相同的协议。使用预训练的文本编码器[57]将开放式预测映射到基准测试中语义相似的类别名称。与文献[33]不同的是,我们通过选择最有信心的预测来简化映射过程,无需进行前k选择和束搜索。我们使用文献[16]中的标签列表作为内置大词汇表,其中共有4585个类别名称,并且默认情况下,对于LRPC经验性地使用。对于所有三种提示类型,参照文献,以零样本方式在LVIS数据集[14]上进行评估,该数据集包含1203个类别。默认情况下,报告LVIS最小验证子集上的固定平均精度(Fixed AP)[7]。对于迁移到COCO数据集的情况,遵循文献[1, 21]评估标准平均精度(AP)。此外,我们使用TensorRT在英伟达T4 GPU上以及使用CoreML在移动设备iPhone 12上测量所有模型的每秒帧数(FPS)。

2. 文本和视觉提示评估

如表1所示,在LVIS数据集的检测任务中,YOLOE在不同模型规模下,在效率和零样本性能之间展现出了良好的平衡。我们还注意到,这些结果是在更短的训练时间内取得的,例如,比YOLO - Worldv2快。具体而言,YOLOE - v8 - S / M / L在性能上比YOLOv8 - Worldv2 - S / M / L高出,并且在T4和iPhone 12上的推理速度分别提升了和。此外,对于具有挑战性的稀有类别,我们的YOLOE - v8 - S和YOLOE - v8 - L分别取得了和的显著提升。此外,与YOLO - Worldv2相比,虽然YOLOE - v8 - M / L的较低,但这种性能差距主要源于YOLOE将检测和分割集成在一个模型中。如表5所示,这种多任务学习带来了一种权衡,对常见类别的检测性能产生了不利影响。此外,采用YOLO11架构的YOLOE也展现出了良好的性能和效率。例如,YOLOE - 11 - L与YOLO - Worldv2 - L达到了相近的平均精度(AP),但在T4和iPhone 12上的推理速度显著提升了,这凸显了我们的YOLOE具有很强的泛化能力。

此外,视觉提示的加入进一步增强了YOLOE的通用性。与T-Rex2相比,YOLOE-v8-L在和方面有所提升,且所需的训练数据更少(T-Rex2为310万,我们的为),训练资源也低得多(T-Rex2使用16块英伟达A100 GPU,我们的使用8块英伟达RTX4090 GPU)。此外,对于视觉提示,虽然我们仅在冻结其他部分的情况下对SAVPE进行了2个轮次的训练,但我们注意到,对于各种模型规模,它在和方面可达到与文本提示相当的效果。这表明视觉提示在处理文本提示往往难以准确描述的低频出现对象方面是有效的,这与文献[20]中的观察结果相似。

此外,在分割任务方面,我们在LVIS验证集(LVIS val set)上给出了评估结果,标准的结果报告于表2中。结果显示,YOLOE通过同时利用文本提示和视觉提示展现出了强大的性能。具体而言,YOLOE - v8 - M / L在零样本方式下分别达到了20.8和,显著优于在LVIS - 基础数据集(LVIS - Base dataset)上微调的YOLO - Worldv2 - M / L,分别高出3.0和。这些结果充分显示了YOLOE的优越性。

3. 无提示评估

如表3所示,在无提示场景下,YOLOE同样展现出了卓越的性能和效率。具体来说,

YOLO - v8 - L达到了27.2的平均精度(AP)和,在性能上比采用Swin - T主干网络的GenerateU高出和3.5,同时参数减少了,推理速度提升了。这表明了YOLOE通过将开放式问题重新表述为内置大词汇表的检索任务的有效性,并强调了它在不依赖明确提示的情况下对广泛类别进行泛化的潜力。这种功能还增强了YOLOE的实用性,使其能够应用于更广泛的现实场景中。

4. 下游迁移

如表4所示,在迁移到COCO数据集进行下游闭集检测和分割任务时,在两种微调策略下,YOLOE(一种目标检测算法)在有限的训练轮次下均表现出良好的性能。具体而言,在线性探测(Linear probing)中,在不到的训练时间内,YOLOE - 11 - M/L分别可以达到YOLO11 - M/L性能的以上。这凸显了YOLOE强大的迁移能力。在全量微调(Full tuning)中,YOLOE可以在有限的训练成本下进一步提升性能。例如,在训练轮次减少近的情况下,YOLOE - 在和0.6 方面分别优于。在训练时间减少的情况下,与YOLOv8 - 相比,YOLO - v8 - S在检测和分割任务上也取得了更好的性能。这些结果充分表明,YOLOE可以作为迁移到下游任务的强大起点。

5. 消融研究

我们进一步对YOLOE中的设计有效性进行了广泛分析。默认情况下,实验在YOLOE - v8 - L上进行,并在LVIS小验证集(LVIS minival set)上报告标准平均精度(AP)以进行零样本评估。

YOLOE的发展路线。我们概述了从基线模型YOLOv8 - Worldv2 - L到我们的方法

表5中文本提示方面的YOLOE - v8 - L。初始基线指标为平均精度(AP),由于计算资源有限,我们首先将训练轮数减少到30轮,使得平均精度达到31.0%。此外,我们没有使用空字符串作为定位数据的负文本,而是遵循文献[65]的方法,维护一个全局字典来采样更多样化的负提示。该全局字典是通过选择在训练数据中出现超过100次的类别名称构建的。这使得平均精度提高了0.9%。接下来,我们移除了跨模态融合以避免代价高昂的视觉 - 文本特征交互,这导致了的性能下降,但在T4和iPhone 12上的推理速度分别提升了和。为了解决这一下降问题,我们使用更强的MobileCLIP - B(LT)文本编码器[57]来获得更好的预训练文本嵌入,这使得平均精度恢复到31.5%。此外,我们采用RepRTA来增强锚点的目标和文本嵌入之间的对齐,这在不增加推理开销的情况下显著提高了平均精度,显示了其有效性。最后,我们引入了分割头并同时训练YOLOE进行检测和分割。尽管由于多任务学习导致了平均精度和的下降,但YOLOE获得了分割任意对象的能力。

SAVPE的有效性。为了验证SAVPE在视觉输入方面的有效性,我们移除了激活分支,仅利用掩码池化(Mask pooling)结合已构建的视觉提示掩码来聚合语义特征。如表6所示,SAVPE的平均精度均值(AP)比“掩码池化”显著高出1.5。这是因为“掩码池化”忽略了提示指示区域内不同位置的语义重要性差异,而我们的激活分支有效地对这种差异进行了建模,从而改善了语义特征的聚合效果,并为对比提供了更好的提示嵌入。我们还研究了激活分支中不同分组数量(即)的影响。如表6所示,即使只有一个分组(即),性能也能得到提升。此外,在的情况下,我们可以实现的强劲性能,达到了良好的平衡,因为更多的分组只会带来微小的性能差异。

LRPC的有效性。为了验证LRPC在无提示设置下的有效性,我们引入了一个基线方法,该方法直接利用内置的大词汇表作为YOLOE的文本提示来识别所有对象。表7展示了对比结果。我们观察到,在相同性能下,通过对已找到对象的锚点类别进行惰性检索并跳过大量不相关的类别,我们的LRPC分别使YOLOE - v8 - S / L获得了显著的推理加速。这些结果充分凸显了其有效性和实用性。此外,通过使用不同的过滤阈值,LRPC可以实现不同的性能和效率权衡,例如,仅损失的情况下,使YOLOE - v8 - S获得的加速。

6. 可视化分析

我们在四种场景下对YOLOE进行可视化分析:(1)图4(a)中对LVIS(大规模视觉识别挑战数据集,Large Visual Instance Segmentation)的零样本推理,其中类别名称作为文本提示;(2)图4(b)中的文本提示,可输入任意文本作为提示;(3)图4(c)中的视觉提示,可绘制视觉线索作为提示;(4)图4(d)中无明确提示,模型识别所有物体。我们可以看到,YOLOE表现出色,能够在这些不同场景中准确检测和分割各种物体,进一步展示了其在各种应用中的有效性和实用性。

图4. (a) 在LVIS上的零样本推理。(b) 使用自定义文本提示的结果,其中“白帽子、红帽子、白色汽车、太阳镜、小胡子、领带”作为文本提示。(c) 使用视觉提示的结果,其中红色虚线边界框作为视觉线索。(d) 无提示场景下的结果,即未提供明确提示。更多示例请参考补充材料。

结论

在本文中,我们提出了YOLOE,这是一个高效的单一模型,可在多种开放提示机制下无缝集成目标检测和分割任务。具体而言,我们引入了RepRTA(重复残差注意力模块,Repeated Residual Transformer Attention)、SAVPE(自适应视觉位置编码,Self-Adaptive Visual Positional Encoding)和LRPC(轻量级区域提议模块,Lightweight Region Proposal Module),使YOLO系列模型能够以良好的性能和较低的成本处理文本提示、视觉线索和无提示范式。得益于这些模块,YOLOE在各种提示方式下都具备强大的能力和较高的效率,能够实现实时识别任何物体。我们希望它能作为一个强大的基线,激发更多的研究进展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值