YOLOE:实时查看任何事物

发布于:2025-03-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

摘要

https://arxiv.org/pdf/2503.07465v1
目标检测和分割在计算机视觉应用中得到了广泛应用,然而,尽管YOLO系列等传统模型高效且准确,但它们受限于预定义的类别,阻碍了在开放场景中的适应性。最近的开放集方法利用文本提示、视觉提示或无提示范式来克服这一限制,但由于计算需求高或部署复杂,往往在性能和效率之间妥协。在本文中,我们介绍了YOLOE,它在一个高度高效的模型中集成了不同开放提示机制下的检测和分割,实现了实时感知任意物体的能力。对于文本提示,我们提出了可重参数化区域-文本对齐(RepRTA)策略。它通过可重参数化的轻量级辅助网络精炼预训练的文本嵌入,并通过零推理和零传输开销增强视觉-文本对齐。对于视觉提示,我们提出了语义激活视觉提示编码器(SAVPE)。它采用解耦的语义和激活分支,以最小的复杂度带来改进的视觉嵌入和准确性。对于无提示场景,我们引入了惰性区域-提示对比(LRPC)策略。它利用内置的大词汇量和专用嵌入来识别所有物体,避免了昂贵的语言模型依赖。大量实验表明,YOLOE具有出色的零样本性能和迁移能力,同时具有高推理效率和低训练成本。值得注意的是,在LVIS数据集上,YOLOE v8-S以 3 × 3 \times 3×更低的训练成本和 1.4 × 1.4 \times 1.4×的推理加速,比YOLO-Worldv2-S高出3.5个AP。当迁移到COCO数据集时,YOLOE-v8-L比封闭集YOLOv8-L高出0.6个AP和0.4个 A P m A P^{m} APm,且训练时间减少了近 4 × 4 \times 4×。代码和模型可在https://github.com/THU-MIG/yoloe获取。
在这里插入图片描述

1. 引言

目标检测和分割是计算机视觉[15, 48]中的基础任务,广泛应用于自动驾驶[2]、医学分析[55]和机器人技术[8]等领域。传统方法如YOLO系列[1,3,21,47]利用卷积神经网络实现了实时卓越的性能。然而,它们对预定义物体类别的依赖限制了在实际开放场景中的灵活性。此类场景越来越需要模型能够通过不同的提示机制(如文本、视觉提示或无提示)来检测和分割任意物体。鉴于此,近期的研究努力使模型能够泛化到开放提示[5, 20, 49, 80]。它们针对单一提示类型(例如GLIP[32])或以统一方式针对多种提示类型(例如DINO-X[49])。具体而言,在区域级视觉-语言预训练[32,37,65]中,文本提示通常通过文本编码器进行处理,作为区域特征的对比目标,实现对任意类别的识别,例如YOLOWorld[5]。对于视觉提示,它们通常通过与图像特征或语言对齐的视觉编码器[5,19,30,49](例如TRex2[20])的交互,作为与指定区域相关的类别嵌入进行编码,以识别相似物体。在无提示场景中,现有方法通常整合语言模型,根据区域特征依次找到所有物体并生成相应的类别名称[49,62],例如GenerateU[33]。尽管取得了显著进展,但仍缺乏一个能够高效且准确地支持任意物体的多种开放提示的单一模型。例如,DINO-X[49]具有统一架构,但会导致资源密集型的训练和推理开销。此外,在不同工作中针对不同提示的单独设计在性能和效率之间表现出次优权衡,使得难以直接将它们合并为一个模型。例如,文本提示方法由于跨模态融合的复杂性[5,32,37,49],在融入大词汇时会产生大量计算开销。视觉提示方法通常由于Transformer设计繁重或依赖于额外的视觉编码器[20, 30, 67],而在边缘设备上的部署性方面妥协。同时,无提示方法依赖于大型语言模型,引入了相当大的内存和延迟成本[33, 49]。

鉴于此,本文介绍了一种高效、统一且开放的物体检测和分割模型YOLOE(ye),该模型在不同的提示机制(如文本、视觉输入和无提示范式)下,像人眼一样工作。我们从广泛证明有效的YOLO模型开始。对于文本提示,我们提出了一种可再参数化的区域-文本对齐(RepRTA)策略,该策略采用轻量级辅助网络来改进预训练的文本嵌入,以实现更好的视觉-语义对齐。在训练期间,预缓存的文本嵌入仅需要辅助网络来处理文本提示,与封闭集训练相比,产生的额外成本较低。在推理和迁移过程中,辅助网络无缝地再参数化为分类头,从而生成与YOLO结构相同且零开销的架构。对于视觉提示,我们设计了一个语义激活的视觉提示编码器(SAVPE)。通过将感兴趣区域形式化为掩码,SAVPE将它们与来自PAN的多尺度特征进行融合,从而在激活分支中以低维度生成分组提示感知权重,并在语义分支中提取与提示无关的语义特征。通过聚合这些特征来导出提示嵌入,从而在最小复杂度下获得良好性能。对于无提示场景,我们引入了惰性区域-提示对比(LRPC)策略。LRPC不依赖于昂贵的语言模型,而是利用专用提示嵌入来查找所有对象,并使用内置的大型词汇表进行类别检索。LRPC仅通过将已识别对象的锚点与词汇表进行匹配,即可确保以低开销实现高性能。得益于上述机制,YOLOE在一个模型内跨多种开放提示机制的检测和分割方面表现出色,具有高推理效率和低训练成本。值得注意的是,如图1所示,在训练成本降低 3 × 3\times 3×的情况下,YOLOE-v8-S在LVIS数据集上的AP比YOLO-Worldv2-S [5]高出3.5,同时在T4和iPhone 12上的推理速度分别提高了 1.4 × 1.4\times 1.4× 1.3 × 1.3\times 1.3×。在视觉提示和无提示设置中,YOLOE-v8-L的训练数据减少 2 × 2\times 2×、参数减少 6.3 × 6.3\times 6.3×的情况下,其 A P r \mathrm{AP}_{r} APr比T-Rex2高出3.3,AP比GenerateU高出0.4。对于迁移到COCO数据集 [34]的任务,YOLOE-v8-M / L的训练时间减少近 4 × 4\times 4×,其 A P b \mathrm{AP}^{b} APb A P m \mathrm{AP}^{m} APm分别比YOLOv8-M / L高出0.4 / 0.6和0.4 / 0.4。我们希望YOLOE能够建立一个强大的基线,并激发实时开放提示驱动视觉任务的进一步发展。

2. 相关工作

传统检测与分割。传统物体检测与分割方法主要基于封闭集范式。早期两阶段框架[4, 12, 15, 48],以Faster RCNN[48]为例,引入了区域提议网络(RPNs),随后进行感兴趣区域(ROI)分类和回归。同时,单阶段检测器[10, 35, 38, 56, 72]通过单个网络内的网格预测来优先考虑速度。YOLO系列[1,21,27,47,59,60]在此范式中发挥着重要作用,并被广泛应用于现实世界。此外,DETR[28]及其变体[28, 69, 77]通过移除启发式组件并采用基于Transformer的架构,标志着重大转变。为了实现更细粒度的结果,现有实例分割方法预测像素级掩码,而非边界框坐标[15]。为此,YOLACT[3]通过整合原型掩码和掩码系数,促进了实时实例分割。基于DINO[69],MaskDINO[29]利用查询嵌入和高分辨率像素嵌入图来生成二值掩码。

文本提示检测与分割。开放词汇物体检测[13, 25,61,68,74-76]的最新进展侧重于通过将视觉特征与文本嵌入对齐来检测新类别。具体而言,GLIP[32]通过在大规模图像-文本对上进行基于地面的预训练,统一了物体检测和短语定位,展示了强大的零样本性能。DetCLIP[65]通过丰富概念描述来促进开放词汇学习。此外,Grounding DINO[37]通过将跨模态融合集成到DINO中,增强了这一点,改善了文本提示与视觉表示之间的对齐。YOLO-World[5]进一步展示了基于YOLO架构对具有开放识别能力的小型检测器进行预训练的潜力。YOLO-UniOW[36]在YOLO-World的基础上,利用自适应决策学习策略进行了扩展。同样,几个开放词汇实例分割模型[11,18,26,45,63]从先进的基础模型中学习丰富的视觉-语义知识,以对新物体类别进行分割。例如,X-Decoder[79]和OpenSeeD[71]探索了开放词汇检测和分割任务。APE[54]引入了一个通用视觉感知模型,该模型使用各种文本提示对齐并提示图像中的所有物体。

视觉提示检测与分割。虽然文本提示提供了通用描述,但某些物体仅凭语言难以描述,如需要专业知识才能理解的物体。在这种情况下,视觉提示可以更灵活、更具体地引导检测和分割,从而补充文本提示[19, 20]。OV-DETR[67]和OWL-ViT[41]利用CLIP编码器来处理文本和图像提示。MQDet[64]通过从查询图像中添加特定类的视觉信息来增强文本查询。DINOv[30]探索了将视觉提示作为通用和引用视觉任务的上下文示例。T-Rex2[20]通过区域级对比对齐来整合视觉和文本提示。对于分割,基于大规模数据,SAM[23]提出了一个灵活且强大的模型,可以交互式和迭代地进行提示。SEEM[80]进一步探索了使用更多类型的提示来分割物体。Semantic-SAM[31]在语义理解和粒度检测方面表现出色,能够处理全景分割和部分分割任务。

无提示检测与分割。现有方法在进行开放集检测与分割时,仍依赖于推理期间的显式提示。为了解决这一限制,几项工作[33,40, 49, 62, 66]探索了与生成式语言模型集成,为所有发现的物体生成对象描述。例如,GRiT[62]采用文本解码器用于密集字幕和物体检测任务。DetCLIPv3[66]在大规模数据上训练了一个物体字幕生成器,使模型能够生成丰富的标签信息。GenerateU[33]利用语言模型以自由形式生成物体名称。

结语。据我们所知,除了DINO-X[49]之外,很少有工作能在单个架构内实现跨各种开放提示机制的物体检测和分割。然而,DINO-X需要高昂的训练成本和显著的推理开销,严重限制了其在现实世界边缘部署的实用性。相比之下,我们的YOLOE旨在提供一个高效且统一的模型,该模型具有实时性能和效率,且易于部署。

3. 方法论

在本节中,我们将详细介绍YOLOE的设计。在YOLOs的基础上(第3.1节),YOLOE通过RepRTA支持文本提示(第3.2节),通过SAVPE支持视觉提示(第3.3节),以及通过LRPC支持无提示场景(第3.4节)。

3.1. 模型架构

如图2所示,YOLOE采用了典型的YOLOs架构[1, 21, 47],包括主干网络、PAN、回归头、分割头和对象嵌入头。主干网络和PAN为图像提取多尺度特征。对于每个锚点,回归头预测用于检测的边界框,分割头生成用于分割的原型和掩码系数[3]。对象嵌入头遵循YOLOs中分类头的结构,但最后一个 1 × 1 \times 1×卷积层的输出通道数从封闭集场景中的类别数更改为嵌入维度。同时,给定文本和视觉提示,我们分别使用RepRTA和SAVPE将它们编码为规范化的提示嵌入 P \mathcal{P} P。它们作为分类权重,并与锚点的对象嵌入 O \mathcal{O} O进行对比,以获得类别标签。该过程可以形式化为
Label = O ⋅ P T : R N × D × R D × C → R N × C \text{Label} = \mathcal{O} \cdot \mathcal{P}^{T}: \mathbb{R}^{N \times D} \times \mathbb{R}^{D \times C} \rightarrow \mathbb{R}^{N \times C} Label=OPT:RN×D×RD×CRN×C
其中, N N N表示锚点的数量, C C C表示提示的数量, D D D表示嵌入的特征维度。
在这里插入图片描述

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

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

具体而言,对于长度为 C C C的文本提示 T T T,我们首先使用CLIP文本编码器[44,57]获得预训练的文本嵌入 P = TextEncoder ( T ) P = \text{TextEncoder}(T) P=TextEncoder(T)。在训练之前,我们提前缓存数据集中所有文本的嵌入,并且可以在不增加额外训练成本的情况下移除文本编码器。同时,如图3.(a)所示,我们引入了一个只有一个前馈块[53,58]的轻量级辅助网络 f θ f_{\theta} fθ,其中 θ \theta θ表示可训练参数,与封闭集训练相比引入了较低的开销。它推导出增强的文本嵌入 P = f θ ( P ) ∈ R C × D \mathcal{P} = f_{\theta}(P) \in \mathbb{R}^{C \times D} P=fθ(P)RC×D,以便在训练期间与锚点的对象嵌入进行对比,从而改善视觉-语义对齐。设 K ∈ R D × D ′ × 1 × 1 K \in \mathbb{R}^{D \times D^{\prime} \times 1 \times 1} KRD×D×1×1为对象嵌入头中最后一个卷积层的核参数,输入特征为 I ∈ R D ′ × H × W I \in \mathbb{R}^{D^{\prime} \times H \times W} IRD×H×W ∗ * 为卷积运算符, R R R为重塑函数,我们有
Label = R D × H × W → H W × D ( I ⊛ K ) ⋅ ( f θ ( P ) ) T \text{Label} = R_{D \times H \times W \rightarrow H W \times D}(I \circledast K) \cdot \left(f_{\theta}(P)\right)^{T} Label=RD×H×WHW×D(IK)(fθ(P))T

此外,训练后,辅助网络可以与对象嵌入头一起重参数化为YOLOs中相同的分类头。重参数化后,最后一个卷积层的新核参数 K ′ ∈ R C × D ′ × 1 × 1 K^{\prime} \in \mathbb{R}^{C \times D^{\prime} \times 1 \times 1} KRC×D×1×1可以通过以下方式推导
K ′ = R C × D → C × D × 1 × 1 ( f θ ( P ) ) ⊛ K T K^{\prime} = R_{C \times D \rightarrow C \times D \times 1 \times 1}\left(f_{\theta}(P)\right) \circledast K^{T} K=RC×DC×D×1×1(fθ(P))KT

最终预测可以通过 Label = I ⊛ K ′ \text{Label} = I \circledast K^{\prime} Label=IK获得,这与原始的YOLO架构相同,从而在部署和转移到下游封闭集任务时实现零开销。

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

视觉提示旨在通过视觉线索(如框和掩码)指示感兴趣的物体类别。为了生成视觉提示嵌入,先前的工作通常采用依赖大量Transformer的设计[20, 30],例如可变形注意力[78]或额外的CLIP视觉编码器[44, 67]。然而,这些方法由于操作复杂或计算需求高,在部署和效率方面带来了挑战。考虑到这一点,我们引入了语义激活的视觉提示编码器(SAVPE)以高效地处理视觉线索。它包含两个独立的轻量级分支:(1)语义分支输出与视觉线索融合无额外开销的、具有 D D D个通道的提示无关语义特征,以及(2)激活分支通过视觉线索与图像特征在更少通道下的交互,以较低的成本生成分组提示感知权重。它们的聚合在最小复杂度下产生了信息丰富的提示嵌入。如图3.(b)所示,在语义分支中,我们采用了与对象嵌入头相似的结构。利用来自PAN的多尺度特征 { P 3 , P 4 , P 5 } \left\{P_{3}, P_{4}, P_{5}\right\} {P3,P4,P5},我们分别为每个尺度采用两个 3 × 3 3 \times 3 3×3卷积。上采样后,特征被拼接并投影以导出语义特征 S ∈ R D × H × W S \in \mathbb{R}^{D \times H \times W} SRD×H×W。在激活分支中,我们将视觉提示形式化为掩码,指示区域为1,其他区域为0。我们对其进行下采样,并利用 3 × 3 3 \times 3 3×3卷积导出提示特征 F V ∈ R A × H × W F_{V} \in \mathbb{R}^{A \times H \times W} FVRA×H×W。此外,我们从 { P 3 , P 4 , P 5 } \left\{P_{3}, P_{4}, P_{5}\right\} {P3,P4,P5}通过卷积获得图像特征 F I ∈ R A × H × W F_{I} \in \mathbb{R}^{A \times H \times W} FIRA×H×W以与其融合。 F V F_{V} FV F I F_{I} FI被拼接并用于输出提示感知权重 W ∈ R A × H × W \mathcal{W} \in \mathbb{R}^{A \times H \times W} WRA×H×W,该权重在提示指示区域内通过softmax进行归一化。此外,我们将 S S S的通道分为 A A A组,每组有 D A \frac{D}{A} AD个通道。第 i i i组的通道共享来自 W \mathcal{W} W的第 i i i个通道的权重 W i : i + 1 \mathcal{W}_{i: i+1} Wi:i+1。由于 A ≪ D A \ll D AD,我们可以在低维度下用图像特征处理视觉线索,带来最小的成本。此外,提示嵌入可以通过两个分支的聚合得出:
P = Concat ⁡ ( G 1 , … , G A ) ; G i = W i : i + 1 ⋅ S D A × T : D A × ∗ ( i + 1 ) \mathcal{P}=\operatorname{Concat}\left(G_{1}, \ldots, G_{A}\right); \quad G_{i}=\mathcal{W}_{i: i+1} \cdot S_{\frac{D}{A} \times T: \frac{D}{A} \times *(i+1)} P=Concat(G1,,GA);Gi=Wi:i+1SAD×T:AD×∗(i+1)
因此,它可以与锚点的对象嵌入进行对比,以识别具有感兴趣类别的对象。

3.4. 惰性区域提示对比

在没有明确指导的提示缺失场景中,模型需要识别图像中所有带有名称的对象。先前的工作通常将这种设置表述为生成问题,其中语言模型用于为密集发现的对象生成类别[33, 49, 62]。然而,这引入了显著的开销,其中语言模型(例如,GenerateU[33]中的FlanT5-base[6](具有2.5亿参数)和DINO-X[49]中的OPT-125M[73])远不能满足高效性要求。鉴于此,我们将这种设置重新表述为检索问题,并提出了惰性区域提示对比(LRPC)策略。它以成本效益高的方式从内置的大型词汇表中为包含对象的锚点懒惰地检索类别名称。这种范式不依赖于语言模型,同时具有优越的效率和性能。
具体来说,利用预训练的YOLOE,我们引入了一个专门的提示嵌入,并专门训练它来找到所有对象,其中对象被视为一个类别。同时,我们遵循[16]收集了一个涵盖各种类别的大型词汇表,作为检索的内置数据源。有人可能会直接将大型词汇表作为文本提示用于YOLOE来识别所有对象,然而,将大量锚点的对象嵌入与众多文本嵌入进行对比会产生显著的计算成本。相反,我们采用专门的提示嵌入 P s \mathcal{P}_{s} Ps来找到与对象对应的锚点集合 O ′ \mathcal{O}^{\prime} O
O ′ = { o ∈ O ∣ o ⋅ P s T > δ } \mathcal{O}^{\prime}=\left\{o \in \mathcal{O} \mid o \cdot \mathcal{P}_{s}^{T}>\delta\right\} O={oOoPsT>δ}
其中, O \mathcal{O} O表示所有锚点, δ \delta δ是用于筛选的阈值超参数。然后,仅将 O ′ \mathcal{O}^{\prime} O中的锚点与内置词汇表进行懒惰匹配以检索类别名称,从而绕过了不相关锚点的成本。这进一步提高了效率而不会降低性能,促进了现实世界的应用。

3.5. 训练目标

在训练期间,我们遵循[5]为每个马赛克样本获取一个在线词汇表,其中图像中的文本作为正标签。我们遵循[21],利用任务对齐的标签分配将预测与真实值进行匹配。分类采用二元交叉熵损失,回归采用IoU损失和分布式焦点损失。对于分割,我们遵循[3]利用二元交叉熵损失来优化掩码。

4. 实验

4.1. 实现细节

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

数据。我们遵循[5]使用检测和定位数据集,包括Objects 365 (V1)[52]、GoldG[22](包括GQA[17]和Flickr30k[43]),其中排除了来自COCO[34]的图像。此外,我们利用先进的SAM-2.1[46]模型,使用检测和定位数据集中的真实边界框生成伪实例掩码,用于分割数据。这些掩码经过过滤和简化以消除噪声[9]。对于视觉提示数据,我们遵循[20]利用真实边界框作为视觉线索。在无提示任务中,我们重复使用相同的数据集,但将所有对象标注为单个类别,以学习一个专门的提示嵌入。
训练。由于计算资源有限,与YOLO-World训练100个周期不同,我们首先使用文本提示对YOLOE进行30个周期的训练。然后,我们仅使用视觉提示对SAVPE进行2个周期的训练,从而避免了支持视觉提示所带来的额外显著训练成本。最后,我们仅为无提示场景训练专门的提示嵌入1个周期。在文本提示训练阶段,我们采用与[5]相同的设置。值得注意的是,YOLOE-v8-S / M / L可以在8张Nvidia RTX4090 GPU上分别用12.0 / 17.0 / 22.5小时完成训练,与YOLOWorld相比,成本降低了3倍。对于视觉提示训练,我们冻结所有其他部分,并采用与文本提示训练相同的设置。为了实现无提示功能,我们利用相同的数据来训练一个专门的嵌入。我们可以看到,YOLOE不仅训练成本低,而且表现出色的零样本性能。此外,为了验证YOLOE在下游任务上的良好迁移能力,我们在COCO[34]上对YOLOE进行了微调,用于闭集检测和分割。我们实验了两种不同的实际微调策略:(1)线性探测:仅分类头是可学习的;(2)全面微调:所有参数都是可训练的。对于线性探测,我们仅对所有模型进行10个周期的训练。对于全面微调,我们对小规模模型(包括YOLOE-v8-S / 11-S)进行160个周期的训练,对中等规模和大规模模型(包括YOLOE-v8-M / L和YOLOE-11-M / L)分别进行80个周期的训练。

评估指标。对于文本提示评估,我们遵循标准开放词汇对象检测任务协议,使用基准中的所有类别名称作为输入。对于视觉提示评估,我们遵循[20],对于每个类别,随机抽取 N N N张训练图像(默认 N = 16 N=16 N=16),使用其真实边界框提取视觉嵌入,并计算平均提示嵌入。对于无提示评估,我们采用与[33]相同的协议。使用预训练的文本编码器[57]将开放式预测映射到基准内语义相似的类别名称。与[33]相比,我们通过选择最自信的预测来简化映射过程,从而消除了对top-k选择和集束搜索的需求。我们使用[16]中的标签列表作为包含总共4585个类别名称的内置大词汇,并默认经验性地使用 δ = 0.001 \delta=0.001 δ=0.001进行LRPC。对于所有三种提示类型,我们遵循[5,20,33],在包含1203个类别的LVIS[14]上以零样本方式进行评估。默认情况下,报告LVIS minival子集上的Fixed AP[7]。对于迁移到COCO,我们遵循[1, 21]评估标准AP。此外,我们使用TensorRT在Nvidia T4 GPU和带有CoreML的移动设备iPhone 12上测量所有模型的FPS。

4.2. 文本和视觉提示评估

在这里插入图片描述

如表1所示,在LVIS检测任务中,YOLOE在不同模型规模下在效率和零样本性能之间表现出良好的权衡。我们还注意到,这些结果是在更少的训练时间下实现的,例如,比YOLO-Worldv2快 3 3 3倍。具体来说,YOLOE-v8-S / M / L在T4和iPhone 12上分别比YOLOv8-Worldv2-S / M / L高出 3.5 / 0.2 / 0.4 A P 3.5 / 0.2 / 0.4 \mathrm{AP} 3.5/0.2/0.4AP,同时分别有 1.4 × / 1.3 × / 1.3 × 1.4 \times / 1.3 \times / 1.3 \times 1.4×/1.3×/1.3× 1.3 × / 1.2 × / 1.2 × 1.3 \times / 1.2 \times / 1.2 \times 1.3×/1.2×/1.2×的推理速度提升。此外,对于具有挑战性的稀有类别,我们的YOLOE-v8-S和YOLOE-v8-L在 A P r \mathrm{AP}_{r} APr上分别获得了 5.2 % 5.2 \% 5.2% 7.6 % 7.6 \% 7.6%的显著提升。此外,与YOLO-Worldv2相比,虽然YOLOE-v8-M / L的 A P f \mathrm{AP}_{f} APf较低,但这种性能差距主要源于YOLOE将检测和分割整合到一个模型中。这种多任务学习引入了一种权衡,对频繁类别的检测性能产生了不利影响,如表5所示。此外,采用YOLO11架构的YOLOE也表现出良好的性能和效率。例如,YOLOE-11-L的AP与YOLO-Worldv2-L相当,但在T4和iPhone 12上的推理速度分别快了 1.6 × 1.6 \times 1.6×,这凸显了我们YOLOE的强大泛化能力。

此外,视觉提示的加入进一步增强了YOLOE的通用性。与T-Rex2相比,YOLOE-v8-L在 A P r \mathrm{AP}_{r} APr上提高了 3.3 3.3 3.3,在 A P c \mathrm{AP}_{c} APc上提高了 0.9 0.9 0.9,同时训练数据减少了 2 2 2倍( 3.1 3.1 3.1百万 vs. 我们: 1.4 1.4 1.4百万),训练资源也大大降低( 16 16 16个Nvidia A100 GPU vs. 我们: 8 8 8个Nvidia RTX4090 GPU)。此外,对于视觉提示,虽然我们只训练了 2 2 2个epoch的SAVPE,同时冻结了其他部分,但我们注意到,它可以在各种模型规模上实现与文本提示相当的 A P r \mathrm{AP}_{r} APr A P c \mathrm{AP}_{c} APc。这表明,在文本提示往往难以准确描述的稀有对象上,视觉提示是有效的,这与[20]中的观察结果相似。
在这里插入图片描述

此外,对于分割任务,我们在LVIS验证集上呈现了评估结果,并在表2中报告了标准的 A P m \mathrm{AP}^{m} APm。结果表明,YOLOE通过结合文本提示和视觉提示表现出了强大的性能。具体来说,YOLOE-v8-M / L以零样本的方式实现了 20.8 20.8 20.8 23.5 A P m 23.5 \mathrm{AP}^{m} 23.5APm,分别比在LVIS-Base数据集上微调过的YOLO-Worldv2-M / L高出 3.0 3.0 3.0 3.7 A P m 3.7 \mathrm{AP}^{m} 3.7APm。这些结果充分展示了YOLOE的优越性。

4.3. 无提示评估

如表3所示,在无提示场景下,YOLOE也表现出优越的性能和效率。具体来说,YOLO-v8-L实现了 27.2 A P 27.2 \mathrm{AP} 27.2AP 23.5 A P r 23.5 \mathrm{AP}_{r} 23.5APr,分别比使用Swin-T骨干网络的GenerateU高出 0.4 A P 0.4 \mathrm{AP} 0.4AP 3.5 A P r 3.5 \mathrm{AP}_{r} 3.5APr,同时参数减少了 6.3 × 6.3 \times 6.3×,推理速度提升了 53 × 53 \times 53×。这表明,通过将开放式问题重新构造成内置大词汇表的检索任务,YOLOE展现出了有效性,并强调了其在无需依赖显式提示即可在广泛类别上进行泛化的潜力。这种功能也增强了YOLOE的实用性,使其能够在更广泛的现实场景中应用。
在这里插入图片描述

4.4. 下游迁移

如表4所示,当迁移到COCO数据集进行下游封闭集检测和分割时,YOLOE在两种微调策略下均表现出良好的性能,且训练轮次有限。具体来说,在线性探测策略下,YOLOE 11-M / L仅用不到 2 % 2 \% 2%的训练时间,就能分别达到YOLO11-M / L性能的 80 % 80 \% 80%以上。这凸显了YOLOE的强大迁移能力。在全微调策略下,YOLOE可以在有限的训练成本下进一步提升性能。例如,YOLOE-v8-M / L仅用近 4 × 4 \times 4×更少的训练轮次,就在 A P m \mathrm{AP}^{m} APm上分别比YOLOv8-M / L高出 0.4 0.4 0.4,在 A P b \mathrm{AP}^{b} APb上高出 0.6 0.6 0.6。在训练时间减少 3 × 3 \times 3×的情况下,YOLO-v8S在检测和分割任务上的表现也都优于YOLOv8S。这些结果充分证明,YOLOE可以作为迁移到下游任务的强大起点。
在这里插入图片描述

4.5. 消融研究

我们进一步对YOLOE中的设计有效性进行了广泛分析。实验在YOLOE-v8-L上进行,默认情况下,在LVIS minival数据集上报告了用于零样本评估的标准平均精度(AP)。
在这里插入图片描述

YOLOE发展路线图。我们在表5中根据文本提示概述了从基线模型YOLOv8-Worldv2-L到YOLOE-v8-L的逐步进展。由于计算资源有限,我们从初始基线指标33.0% A P \mathrm{AP} AP开始,首先将训练周期减少到30个,导致 A P \mathrm{AP} AP下降到31.0%。此外,我们没有使用空字符串作为接地数据的负文本,而是遵循[65],维护一个全局字典来采样更多样化的负提示。全局字典是通过选择训练数据中出现超过100次的类别名称构建的。这带来了0.9% A P \mathrm{AP} AP的提升。接下来,我们移除了跨模态融合,以避免昂贵的视觉-文本特征交互,这导致 A P \mathrm{AP} AP下降了1.9%,但在T4和iPhone 12上的推理速度分别加快了1.28倍和1.23倍。为了解决这一下降问题,我们使用了更强大的MobileCLIP-B(LT)文本编码器[57]来获得更好的预训练文本嵌入,从而将 A P \mathrm{AP} AP恢复到31.5%。此外,我们采用RepRTA来增强锚点对象与文本嵌入之间的对齐,这在不增加推理开销的情况下显著提高了2.3% A P \mathrm{AP} AP,证明了其有效性。最后,我们引入了分割头,并同时训练YOLOE进行检测和分割。尽管由于多任务学习,这导致 A P \mathrm{AP} AP下降了0.2%且 A P f \mathrm{AP}_{f} APf下降了0.9,但YOLOE获得了分割任意对象的能力。
在这里插入图片描述

SAVPE的有效性。为了验证SAVPE对视觉输入的有效性,我们移除了激活分支,并简单地利用掩码池化来聚合具有制定视觉提示掩码的语义特征。如表6所示,SAVPE在 A P \mathrm{AP} AP上显著优于“Mask pool”1.5个百分点。这是因为“Mask pool”忽略了提示指示区域内不同位置的语义重要性差异,而我们的激活分支有效地建模了这种差异,从而改进了语义特征的聚合,并为对比提供了更好的提示嵌入。我们还检查了激活分支中不同组数(即 A A A)的影响。如表6所示,即使只有一个组(即 A = 1 A=1 A=1),性能也可以得到提升。此外,在 A = 16 A=16 A=16时,我们可以实现31.9 A P \mathrm{AP} AP的强劲性能,获得了良好的平衡,其中更多的组只会导致边际性能差异。

LRPC的有效性。为了验证LRPC在无提示设置下的有效性,我们引入了基线,该基线直接利用内置的大词汇表作为YOLOE的文本提示来识别所有对象。表7展示了比较结果。我们观察到,在性能相同的情况下,我们的LRPC通过为发现对象的锚点懒惰地检索类别并跳过大量不相关的类别,分别为YOLOE-v8-S和YOLOE-v8-L带来了1.7倍和1.3倍的推理速度提升。这些结果很好地突出了其有效性和实用性。此外,通过不同的过滤阈值 δ \delta δ,LRPC可以实现不同的性能和效率权衡,例如,在YOLOE-v8-S上实现1.9倍的加速,而 A P \mathrm{AP} AP仅下降0.2%。
在这里插入图片描述

4.6. 可视化分析

我们在四个场景下对YOLOE进行了可视化分析:(1)在图4.(a)中对LVIS进行零样本推理,其类别名称为文本提示,(2)在图4.(b)中的文本提示,其中可以输入任意文本作为提示,(3)在图4.©中的视觉提示,其中可以绘制视觉线索作为提示,以及(4)在图4.(d)中没有明确提示,模型识别所有对象。我们可以看到,YOLOE在这些不同的场景中表现良好,能够准确检测和分割各种对象,进一步展示了其在各种应用中的有效性和实用性。

5. 结论

在本文中,我们提出了YOLOE,这是一个高度高效的单一模型,它能够无缝地集成不同开放提示机制下的目标检测和分割。具体来说,我们引入了RepRTA、SAVPE和LRPC,使YOLO模型能够以良好的性能和较低的成本处理文本提示、视觉线索和无提示范式。得益于这些技术,YOLOE在各种提示方式下具有强大的能力和高效率,能够实现实时识别任何目标。我们希望它能够作为一个强大的基线,以激发进一步的进步。

附录

A. 更多实现细节

数据。我们使用Objects365[52]、GoldG[22](包括GQA[17]和Flickr30k[43])来训练YOLOE。表8展示了它们的详细信息。我们利用SAM-2.1-Hiera-Large[46]以真实边界框为提示,生成高质量的分割掩码伪标签。我们过滤掉面积过小的区域。为了增强掩码边缘的平滑性,我们对掩码应用高斯核,分别使用 3 × 3 3 \times 3 3×3 7 × 7 7 \times 7 7×7的核来处理小掩码和大掩码。此外,我们按照[9]的方法对掩码进行细化,迭代地简化掩码轮廓。这减少了噪声像素,同时保留了整体结构。
在这里插入图片描述

训练。对于所有模型,我们采用AdamW优化器,初始学习率设为0.002。批量大小和权重衰减分别设置为128和0.025。数据增强包括颜色抖动、随机仿射变换、随机水平翻转和马赛克增强。在迁移到COCO数据集时,对于线性探测和全面调优,我们都使用AdamW优化器,初始学习率设为0.001,批量大小和权重衰减分别设置为128和0.025。

B. 对LRPC的更多分析

为了定性地展示LRPC策略的有效性,我们可视化了过滤后用于类别检索的保留锚点数量。我们在图5中展示了在LVIS minival集上,不同过滤阈值 δ \delta δ下的平均锚点数量。结果表明,随着 δ \delta δ的增加,不同模型中保留的锚点数量显著减少。与采用总共8400个锚点的基线场景相比,这种减少大大降低了计算开销。例如,对于YOLOE-v8-S,当 δ = 0.001 \delta=0.001 δ=0.001时,有效锚点数量减少了80%,同时在保持相同性能的情况下实现了1.7倍的推理加速(见论文中的表7)。这些结果进一步证实了类别检索中锚点的显著冗余,并验证了LRPC的有效性。
在这里插入图片描述

C. 更多可视化结果

为了定性地展示YOLOE的有效性,我们在不同场景下为其提供了更多的可视化结果。

LVIS上的零样本推理。在图6中,我们展示了YOLOE在LVIS上的零样本推理能力。通过利用1203个类别名称作为文本提示,该模型展示了其在不同图像中检测和分割各种目标的能力。
在这里插入图片描述

带自定义文本的提示。图7展示了带自定义文本提示的结果。我们可以看到,YOLOE能够解释通用和特定的文本输入,从而实现精确的目标检测和细粒度分割。这种能力允许用户通过定义不同粒度的输入提示来定制模型的行为,以满足特定要求。
在这里插入图片描述

带视觉输入的提示。在图8中,我们展示了YOLOE以视觉输入为提示的结果。视觉输入可以采取多种形式,如边界框、点或手工绘制的形状。它也可以跨图像提供。我们可以看到,通过视觉提示指示目标对象,YOLOE可以准确地找到同一类别的其他实例。此外,它在不同对象和图像上表现良好,展现出强大的能力。
在这里插入图片描述

无提示推理。图9展示了YOLOE在无提示范式下的结果。我们可以看到,在这种设置下,YOLOE能够实现对不同目标的有效识别。这突出了其在预定义输入不可用或不切实际的场景中的实用性。