《YOLOE: Real-Time Seeing Anything》论文速览翻译,支持文本提示,视觉提示等开放世界检测算法!
目录
- 一、论文速览翻译《**YOLOE: Real-Time Seeing Anything**》
- Abstract
- 1、Introduction
- 2. Related Work
- 3. Methodology
- 3.1. Model architecture
- 3.2. Re-parameterizable region-text alignment
- 3.3. Semantic-activated visual prompt encoder
- 3.4. Lazy region-prompt contrast
- 3.5. Training objective
- 4. Experiments
- 4.1. Implementation details
- 4.6 Visualization analyses
- 5. Conclusion
感谢作者大佬的开源分享,和大家一起学习一下这篇论文了解一下多模态任务是如何结合的,后续有时间再来分析源码。论文地址https://arxiv.org/pdf/2503.07465v1
一、论文速览翻译《YOLOE: Real-Time Seeing Anything》
Abstract
目标检测和分割在计算机视觉应用中被广泛使用,然而传统的模型如YOLO系列虽然高效且准确,但受限于预定义的类别,阻碍了在开放场景中的适应性。最近的开放集方法利用文本提示、视觉线索或无提示范式来克服这一问题,但由于高计算需求或部署复杂性,往往在性能与效率之间做出妥协。在本研究中,我们提出了YOLOE,它将多种开放提示机制下的检测和分割集成到一个高效的单模型中,实现了实时“看到任何物体”的能力。对于文本提示,我们提出了可重参数化的区域-文本对齐策略(RepRTA)。它通过一个可重参数化的轻量级辅助网络优化预训练的文本嵌入,并在零推理和迁移开销的情况下增强视觉-文本对齐。对于视觉提示,我们提出了语义激活的视觉提示编码器(SAVPE)。它采用解耦的语义和激活分支,以最小的复杂性带来改进的视觉嵌入和准确性。对于无提示场景,我们引入了惰性区域-提示对比策略(LRPC)。它利用内置的大词汇表和专用嵌入来识别所有物体,避免了对昂贵语言模型的依赖。大量实验表明,YOLOE在零样本性能和可迁移性方面表现出色,同时具有高推理效率和低训练成本。值得注意的是,在LVIS数据集上,YOLOE-v8-S以3倍的训练成本减少和1.4倍的推理加速,超越了YOLO-Worldv2-S 3.5个AP。在迁移到COCO数据集时,YOLOE-v8-L相比闭集模型YOLOv8-L获得了0.6 APb和0.4 APm的提升,同时训练时间减少了近4倍。代码和模型可在https://github.com/THU-MIG/yoloe获取
1、Introduction
目标检测和分割是计算机视觉中的基础任务[15, 48],其应用广泛涵盖自动驾驶[2]、医学分析[55]和机器人技术[8]等领域。传统方法如YOLO系列[1, 3, 21, 47]利用卷积神经网络实现了实时且卓越的性能。然而,这些方法对预定义物体类别的依赖限制了其在实际开放场景中的灵活性。这些场景越来越需要能够通过多种提示机制(如文本、视觉线索或无提示)来检测和分割任意物体的模型。
鉴于此,最近的研究方向转向使模型能够泛化以适应开放提示[5, 20, 49, 80]。这些研究要么针对单一提示类型(例如GLIP[32]),要么以统一的方式处理多种提示类型(例如DINO-X[49])。具体来说,通过区域级视觉-语言预训练[32, 37, 65],文本提示通常由文本编码器处理,作为区域特征的对比目标[20, 49],从而实现任意类别的识别,例如YOLO-World[5]。对于视觉提示,它们通常被编码为与特定区域绑定的类别嵌入,通过与图像特征或语言对齐的视觉编码器进行交互来识别相似物体[5, 19, 30, 49],例如TRex2[20]。在无提示场景中,现有方法通常集成语言模型,依次基于区域特征找到所有物体并生成相应的类别名称[49, 62],例如GenerateU[33]。
图1展示了YOLOE(我们的方法)与先进的YOLO-Worldv2在开放文本提示机制下的性能、训练成本和推理效率的对比。LVIS AP的评估基于minival集,而FPS(使用TensorRT和CoreML)分别在T4 GPU和iPhone 12上测量。结果表明,YOLOE在性能、训练成本和推理效率方面均显著优于YOLO-Worldv2,凸显了我们的方法在开放提示驱动任务中的优越性
尽管取得了显著进展,但目前仍然缺乏一个能够高效且准确地支持多种开放提示的单一模型来处理任意物体。例如,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倍的情况下,YOLOE-v8-S在LVIS数据集[14]上显著优于YOLO-Worldv2-S[5],AP提升了3.5,同时在T4和iPhone 12上的推理速度分别提升了1.4倍和1.3倍。在视觉提示和无提示场景中,YOLOE-v8-L分别以2倍的训练数据减少和6.3倍的参数减少,超越了T-Rex2的3.3 APr和GenerateU的0.4 AP。在迁移到COCO数据集[34]时,YOLOE-v8-M/L相比YOLOv8-M/L分别实现了0.4/0.6 APb和0.4/0.4 APm的提升,同时训练时间减少了近4倍。我们希望YOLOE能够为实时开放提示驱动的视觉任务建立一个强大的基线,并激发进一步的创新与进步。
2. Related Work
传统的目标检测和分割.传统的目标检测和分割方法主要在封闭集范式下运行。早期的两阶段框架[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]利用语言模型以自由形式生成物体名称
同时,对于文本和视觉提示,我们分别采用RepRTA和SAVPE将它们编码为归一化的提示嵌入P。这些提示嵌入作为分类权重,与锚点的物体嵌入O进行对比,从而获得类别标签。这一过程可以形式化为:
总结性评论。据我们所知,除了DINO-X [49]之外,很少有研究能够在单一架构内实现跨多种开放提示机制的目标检测和分割。然而,DINO-X需要大量的训练成本和显著的推理开销,严重限制了其在实际边缘部署中的实用性。相比之下,我们的YOLOE旨在提供一个高效且统一的模型,具备实时性能和高效性,同时易于部署。
图2展示了YOLOE的总体架构,该模型支持多种开放提示机制下的检测与分割任务。针对文本提示,我们设计了可重参数化的区域-文本对齐策略,以零推理和迁移开销提升性能。对于视觉提示,采用语义激活的视觉提示编码器(SAVPE),以最小的成本生成增强的提示嵌入。在无提示场景中,我们引入了惰性区域-提示对比策略,通过检索高效地为所有识别物体提供类别名称。这一设计使YOLOE能够在多种提示机制下实现高效且准确的检测与分割。
3. Methodology
在本节中,我们将详细介绍YOLOE的设计。基于YOLO系列(第3.1节),YOLOE通过RepRTA(第3.2节)支持文本提示,通过SAVPE(第3.3节)支持视觉提示,并通过LRPC(第3.4节)支持无提示场景。
3.1. Model architecture
如图2所示,YOLOE采用了典型的YOLO系列架构[1, 21, 47],包括骨干网络(backbone)、路径聚合网络(PAN)、回归头(regression head)、分割头(segmentation head)和物体嵌入头(object embedding head)。骨干网络和PAN提取图像的多尺度特征。对于每个锚点,回归头预测检测的边界框,分割头生成用于分割的原型和掩码系数[3]。物体嵌入头的结构与YOLO系列中的分类头类似,只是最后一层1×1卷积层的输出通道数从封闭集场景中的类别数改为嵌入维度。同时,给定文本和视觉提示,我们分别使用RepRTA和SAVPE将它们编码为归一化的提示嵌入P。这些提示嵌入作为分类权重,并与锚点的物体嵌入O进行对比,以获得类别标签。该过程可以形式化表示为:
其中:
N 表示锚点的数量,
C 表示提示的数量,
D 表示嵌入的特征维度。
通过矩阵乘法,模型计算每个锚点与提示嵌入之间的相似度,从而为每个锚点分配最可能的类别标签。
3.2. Re-parameterizable region-text alignment
在开放集场景中,文本嵌入与物体嵌入之间的对齐决定了识别类别的准确性。先前的研究通常引入复杂的跨模态融合来改进视觉-文本表示,以实现更好的对齐[5, 37]。然而,这些方法会带来显著的计算开销,尤其是在文本数量较多的情况下。鉴于此,我们提出了可重参数化的区域-文本对齐(RepRTA)策略,该策略通过可重参数化的轻量级辅助网络在训练期间改进预训练的文本嵌入。文本嵌入与锚点的物体嵌入之间的对齐可以在零推理和迁移成本的情况下得到增强。
具体来说,对于长度为C的文本提示T,我们首先使用CLIP文本编码器[44, 57]获取预训练的文本嵌入P = TextEncoder(T)。在训练之前,我们预先缓存数据集中所有文本的嵌入,并且可以移除文本编码器而无需额外的训练成本。同时,如图3.(a)所示,我们引入了一个轻量级辅助网络fθ,该网络仅包含一个前馈块[53, 58],其中θ表示可训练参数,与封闭集训练相比引入的开销较低。它生成增强的文本嵌入P = fθ§ ∈ R^C×D,用于在训练期间与锚点的物体嵌入进行对比,从而改善视觉-语义对齐。设K ∈ R^D×D′×1×1为物体嵌入头中最后一层卷积层的核参数,输入特征为I ∈ R^D′×H×W,⊛表示卷积操作,R为重塑函数,则有:
此外,在训练完成后,辅助网络可以通过重参数化与物体嵌入头合并,形成与YOLO系列相同的分类头。重参数化后,最后一层卷积层的新核参数K′ ∈ R^C×D′×1×1可以通过以下方式得到:
最终预测可以通过Label = I ⊛ K′获得,这与原始YOLO架构一致,从而在部署和迁移到下游封闭集任务时实现零开销。
3.3. Semantic-activated visual prompt encoder
图3. (a) RepRTA中轻量级辅助网络的结构,该网络由一个SwiGLU前馈网络块(FFN)[53]组成。(b) SAVPE的结构,包括生成与提示无关的语义特征的语义分支,以及提供分组提示感知权重的激活分支。通过它们的聚合,可以高效地生成视觉提示嵌入。
视觉提示旨在通过视觉线索(例如边界框和掩码)指示感兴趣的物体类别。为了生成视觉提示嵌入,先前的研究通常采用基于Transformer的复杂设计[20, 30],例如可变形注意力[78],或额外的CLIP视觉编码器[44, 67]。然而,这些方法由于复杂的操作或高计算需求,在部署和效率方面带来了挑战。考虑到这一点,我们引入了语义激活的视觉提示编码器(SAVPE),以高效处理视觉线索。它具有两个解耦的轻量级分支:(1)语义分支输出与提示无关的D通道语义特征,无需融合视觉线索的开销;(2)激活分支通过在较少通道中以低成本将视觉线索与图像特征交互,生成分组的提示感知权重。它们的聚合在最小复杂度下生成信息丰富的提示嵌入。
如图3.(b)所示,在语义分支中,我们采用了与物体嵌入头类似的结构。利用来自PAN的多尺度特征{P3, P4, P5},我们分别为每个尺度使用两个3×3卷积层。经过上采样后,特征被拼接并投影以生成语义特征S ∈ R^D×H×W。在激活分支中,我们将视觉提示形式化为掩码,指示区域为1,其他区域为0。我们对其进行下采样,并利用3×3卷积层生成提示特征FV ∈ R^A×H×W。此外,我们通过卷积层从{P3, P4, P5}中提取图像特征FI ∈ R^A×H×W以与其融合。FV和FI随后被拼接并用于输出提示感知权重W ∈ R^A×H×W,该权重在提示指示区域内使用softmax进行归一化。此外,我们将S的通道分为A组,每组包含D/A个通道。第i组中的通道共享来自W的第i个通道的权重Wi:i +1。由于A ≪ D,我们可以在低维度下处理视觉线索与图像特征,从而带来最小的成本。此外,通过两个分支的聚合,可以生成提示嵌入:
因此,它可以与锚点的物体嵌入进行对比,以识别具有感兴趣类别的物体。
3.4. Lazy region-prompt contrast
在无提示场景中,模型需要在没有明确指导的情况下识别图像中所有物体的名称。先前的研究通常将这种设置形式化为生成问题,其中使用语言模型为密集检测到的物体生成类别[33, 49, 62]。然而,这引入了显著的开销,例如GenerateU [33]中使用的FlanT5-base [6](2.5亿参数)和DINO-X [49]中使用的OPT-125M [73],远未满足高效率要求。鉴于此,我们将这种设置重新形式化为检索问题,并提出了惰性区域-提示对比(LRPC)策略。它以经济高效的方式从内置的大词汇表中惰性检索具有物体的锚点的类别名称。这种范式完全无需依赖语言模型,同时具有较高的效率和性能。
具体来说,利用预训练的YOLOE,我们引入了一个专门的提示嵌入,并专门训练它以找到所有物体,其中物体被视为一个类别。同时,我们遵循[16]收集了一个涵盖各种类别的大词汇表,作为检索的内置数据源。可以直接利用大词汇表作为YOLOE的文本提示来识别所有物体,然而,通过将大量锚点的物体嵌入与众多文本嵌入进行对比,会带来显著的计算成本。相反,我们使用专门的提示嵌入Ps来找到与物体对应的锚点集合O′:
其中O表示所有锚点,δ是用于过滤的阈值超参数。然后,仅对O′中的锚点与内置词汇表进行惰性匹配以检索类别名称,从而绕过不相关锚点的计算成本。这进一步提高了效率而不会降低性能,促进了实际应用。
3.5. Training objective
在训练过程中,我们遵循[5]的方法,为每个马赛克样本获取一个在线词汇表,其中涉及的文本作为正标签。遵循[21],我们利用任务对齐的标签分配将预测与真实值匹配。分类任务采用二元交叉熵损失,回归任务采用IoU损失和分布式焦点损失。对于分割任务,我们遵循[3]的方法,使用二元交叉熵损失来优化掩码。
4. Experiments
4.1. Implementation details
模型。为了与[5]进行公平比较,我们为YOLOE采用了相同的YOLOv8架构[21]。此外,为了验证其在其他YOLO架构上的良好泛化能力,我们还对YOLO11架构[21]进行了实验。对于这两种架构,我们提供了三种模型规模,即小型(S)、中型(M)和大型(L),以满足不同的应用需求。文本提示使用预训练的MobileCLIP-B(LT) [57]文本编码器进行编码。我们在SAVPE中默认使用A = 16。
数据。我们遵循[5]的方法,使用检测和接地数据集,包括Objects365 (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小时,与YOLO-World相比成本减少了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=16),使用其真实边界框提取视觉嵌入,并计算平均提示嵌入。对于无提示评估,我们采用与[33]相同的协议。使用预训练的文本编码器[57]将开放式预测映射到基准测试中语义相似的类别名称。与[33]相比,我们通过选择最自信的预测简化了映射过程,无需进行top-k选择和束搜索。我们使用[16]中的标签列表作为内置词汇表。
图4。(a) 在LVIS数据集上的零样本推理。(b) 使用定制化文本提示的结果,其中“白色帽子、红色帽子、白色汽车、太阳镜、胡子、领带”被用作文本提示。© 使用视觉提示的结果,其中红色虚线边界框作为视觉线索。(d) 在无提示场景下的结果,即未提供任何明确的提示。更多示例请参考附录。
4.6 Visualization analyses
我们对YOLOE在四种场景中进行了可视化分析:(1)图4.(a)中LVIS的零样本推理,其中类别名称作为文本提示;(2)图4.(b)中的文本提示,可以输入任意文本作为提示;(3)图4.©中的视觉提示,可以绘制视觉线索作为提示;(4)图4.(d)中无显式提示,模型识别所有物体。可以看出,YOLOE在这些多样化场景中表现良好,能够准确检测和分割各种物体,进一步展示了其在各种应用中的有效性和实用性。
剩下的实验对比大家自行看论文吧
5. Conclusion
在本文中,我们提出了YOLOE,这是一个高度高效的单一模型,能够无缝融合多种开放提示机制下的目标检测和分割任务。具体而言,我们引入了RepRTA、SAVPE和LRPC,使YOLO系列模型能够以优越的性能和较低的成本处理文本提示、视觉线索以及无提示范式。得益于这些技术,YOLOE在各种提示方式下都表现出强大的能力和高效率,实现了实时感知任何物体的功能。我们希望YOLOE能够成为一个强大的基线,激发进一步的技术进步。