【论文精读】YOLO-World:实时开放词汇目标检测

论文地址: YOLO-World: Real-Time Open-Vocabulary Object Detection

源代码:YOLO-World

摘要

        YOLO系列检测器因其高效性和实用性而被广泛认可。然而,它们依赖于预定义和训练过的物体类别,这限制了其在开放场景中的适用性。为了解决这一限制,我们提出了YOLO-World,这是一种创新的方法,通过视觉-语言建模和在大规模数据集上进行预训练,赋予YOLO开放词汇检测能力。具体来说,我们提出了一个新的可重参数化的视觉-语言路径聚合网络(RepVL-PAN)和region-text contrastive loss,以促进视觉和语言信息之间的交互。我们的方法在零样本检测中表现出色,能够高效地检测多种物体。在具有挑战性的LVIS数据集上,YOLO-World实现了35.4 AP的精度和52.0 FPS的速度,优于许多现有的sota方法。此外,经过微调的YOLO-World在多个下游任务中表现出色,包括目标检测和开放词汇实例分割。

1. Introduction

        目标检测一直是计算机视觉中一个长期且基础性的重要挑战,它在图像理解、机器人技术和自动驾驶等领域有着广泛的应用。随着深度神经网络的发展,众多研究工作[16, 27, 43, 45]在目标检测领域取得了显著的突破。尽管这些方法取得了成功,但它们仍然存在局限性,因为它们只能处理具有固定词汇表(close-set)的目标检测任务,例如COCO数据集[26]中的80个类别。一旦目标类别被定义并标注后,训练好的检测器只能检测这些特定的类别,从而限制了其在开放场景中的能力和适用性。

        最近的研究工作[8, 13, 48, 53, 58]探索了流行的vision-language模型[19, 39],以解决open- vocabulary检测[58]问题,通过从语言编码器(例如BERT[5])中提取词汇知识。然而,这些基于蒸馏的方法由于训练数据的稀缺性和词汇多样性的限制(例如OV-COCO[58]仅包含48个基础类别),其性能受到很大限制。一些方法[24, 30, 56, 57, 59]将目标检测训练重新定义为区域级视觉-语言预训练,并在大规模数据集上训练开放词汇目标检测器。然而,这些方法在真实世界场景中的检测仍然面临两个挑战:(1)计算负担重;(2)难以部署到边缘设备。以往的研究[24, 30, 56, 57, 59]已经展示了预训练大型检测器的潜力,而预训练小型检测器以赋予其开放识别能力仍然是一个未被探索的方向。

        在本文中,我们提出了YOLO-World,旨在实现高效率的开放词汇目标检测,并探索大规模预训练方案,以将传统的YOLO检测器推向一个新的开放词汇世界。与以往方法相比,YOLO-World在推理速度和下游应用部署方面具有显著优势。具体而言,YOLO-World遵循标准的YOLO架构[20],并利用预训练的CLIP[39]文本编码器来编码输入文本。我们进一步提出了可重参数化的视觉-语言路径聚合网络(RepVL-PAN),以连接文本特征和图像特征,实现更好的视觉-语义表示。在推理阶段,可以移除文本编码器,并将文本嵌入重新参数化为RepVL-PAN的权重,以实现高效的部署。我们还通过在大规模数据集上进行区域-文本对比学习来研究YOLO检测器的开放词汇预训练方案,将检测数据、定位数据和图像-文本数据统一为区域-文本对。预训练的YOLO-World凭借丰富的区域-文本对,展现出强大的大规模词汇检测能力,更多的训练数据能够进一步提升其开放词汇能力。

图2. 与检测范式的比较。(a) 传统目标检测器:这些目标检测器只能检测训练数据集中预定义的固定词汇表内的目标,例如COCO数据集[26]中的80个类别。这种固定的词汇表限制了其在开放场景中的扩展能力。  (b) 以往的开放词汇检测器:以往的方法倾向于开发大型且重型的检测器用于开放词汇检测,这些检测器通常具有较强的能力。此外,这些检测器同时对图像和文本进行编码以进行预测,这在实际应用中非常耗时。  (c) YOLO-World:我们展示了轻量级检测器(例如YOLO检测器[20, 42])的强大开放词汇性能,这对于真实世界的应用具有重要意义。与使用在线词汇不同,我们提出了一个“提示-检测”范式以实现高效的推理。在这种范式中,用户根据需求生成一系列提示,并将这些提示编码为离线词汇表。然后,这些词汇表可以被重新参数化为模型权重,用于部署和进一步加速。 

        此外,我们探索了一种“提示-检测”范式,以进一步提高开放词汇目标检测在真实世界场景中的效率。如图2所示,传统的目标检测器[16, 20, 23, 41–43, 52]专注于固定词汇(close-set)检测,其类别是预先定义并训练好的。而以往的开放词汇检测器[24, 30, 56, 59]通过在线文本编码器对用户提示进行编码,以实现在线词汇检测。值得注意的是,这些方法倾向于使用大型检测器和重型骨干网络(例如Swin-L[32])来增强开放词汇能力。相比之下,我们的“提示-检测”范式(图2(c))首先对用户提示进行编码,以构建一个离线词汇表,该词汇表可以根据不同需求进行调整。然后,高效的检测器可以在推理时动态地检测离线词汇,而无需重新编码提示。对于实际应用,一旦我们训练好了检测器(即YOLO-World),我们可以预先对提示或类别进行编码,构建一个离线词汇表,并将其无缝集成到检测器中。

我们的主要贡献可以总结为以下三点:
- 我们提出了YOLO-World,这是一个具有高效率的先进开放词汇目标检测器,适用于真实世界的应用。
- 我们提出了一个可重参数化的视觉-语言路径聚合网络(RepVL-PAN),用于连接视觉和语言特征,并为YOLO-World设计了一个开放词汇的区域-文本对比预训练方案。
- 在大规模数据集上预训练的YOLO-World展现了强大的零样本性能,并在LVIS数据集上实现了35.4 AP的精度和52.0 FPS的速度。预训练的YOLO-World可以轻松适应下游任务,例如开放词汇实例分割和指代目标检测。此外,YOLO-World的预训练权重和代码将开源,以促进更多实际应用。

2. Related Works

2.1 传统目标检测

        现有的目标检测研究主要集中在固定词汇表(close-set)检测上,其中目标检测器在具有预定义类别的数据集(例如COCO数据集[26]和Objects365数据集[46])上进行训练,然后仅检测固定类别中的目标。在过去几十年中,传统目标检测方法可以大致分为三类,即基于区域的方法、基于像素的方法和基于查询的方法。基于区域的方法[11, 12, 16, 27, 44],例如Faster R-CNN[44],采用两阶段框架进行提议生成[44]以及基于感兴趣区域(RoI)的分类和回归。基于像素的方法[28, 31, 42, 49, 61]倾向于采用单阶段检测器,这些检测器在预定义的锚点或像素上执行分类和回归。DETR[1]首次探索了基于Transformer[50]的目标检测,并启发了大量的基于查询的方法[64]。在推理速度方面,Redmon等人提出了YOLO系列[40–42],它们利用简单的卷积架构实现实时目标检测。一些工作[10, 23, 33, 52, 55]提出了YOLO的各种架构或设计,包括路径聚合网络[29]、跨阶段部分网络[51]和重参数化[6],这些改进进一步提升了速度和精度。与以往的YOLO系列相比,本文提出的YOLO-World旨在检测超出固定词汇表的目标,具备更强的泛化能力。

2.2 开放词汇目标检测

        开放词汇目标检测(OVD)[58]作为现代目标检测的一个新趋势,旨在检测超出预定义类别的目标。早期工作[13]遵循标准的开放词汇设置[58],通过在基础类别上训练检测器并在评估时使用新的(未知的)类别。然而,尽管这种开放词汇设置可以评估检测器检测和识别新目标的能力,但由于训练数据集和词汇的有限性,它在开放场景中的泛化能力仍然受到限制。受视觉-语言预训练[19, 39]的启发,近期工作[8, 22, 53, 62, 63]将开放词汇目标检测重新定义为图像-文本匹配问题,并利用大规模图像-文本数据来扩展训练词汇。OWLViTs[35, 36]在检测和定位数据集上微调简单的视觉Transformer[7],构建了具有潜力的开放词汇检测器。GLIP[24]提出了一个基于短语定位的预训练框架,用于零样本设置下的开放词汇检测。Grounding DINO[30]将定位预训练[24]整合到检测Transformer[60]中,并引入跨模态融合。一些方法[25, 56, 57, 59]通过区域-文本匹配统一了检测数据集和图像-文本数据集,并在大规模图像-文本对上预训练检测器,取得了有希望的性能和泛化能力。然而,这些方法通常使用重型检测器(如ATSS[61]或DINO[60],并以Swin-L[32]作为骨干网络),导致计算需求高且部署困难。相比之下,我们提出了YOLO-World,旨在实现高效的开放词汇目标检测,具备实时推理能力,并且便于下游应用部署。与ZSD-YOLO[54]不同,后者也通过语言模型对齐探索YOLO的开放词汇检测,YOLO-World引入了一个新的YOLO框架和有效的预训练策略,增强了开放词汇性能和泛化能力。

3. Method

3.1 预训练公式化:区域-文本对

       传统的目标检测方法(包括YOLO系列[20])是使用实例标注进行训练的,这些注释由边界框和类别标签组成。在本文中,我们将实例注释重新定义为区域-文本对,其中文本可以是类别名称、名词短语或目标描述。YOLO-World采用图像和文本作为输入,并输出预测的边界框和目标嵌入向量,用于与输入文本中的类别或名词进行匹配。

 图3. YOLO-World的整体架构。 与传统YOLO检测器相比,YOLO-World作为一种开放词汇检测器,采用文本作为输入。文本编码器首先将输入文本编码为文本嵌入。然后,图像编码器将输入图像编码为多尺度图像特征,提出的RepVL-PAN利用多级跨模态融合来处理图像和文本特征。最终,YOLO-World预测回归的边界框和对象嵌入,用于匹配输入文本中出现的类别或名词。

3.2 模型架构

        YOLO-World的整体架构如图3所示,包括一个YOLO检测器、一个文本编码器和一个可重参数化的视觉-语言路径聚合网络(RepVL-PAN)。给定输入文本,文本编码器将文本编码为文本嵌入向量。YOLO检测器中的图像编码器从输入图像中提取多尺度特征。然后,我们利用RepVL-PAN通过图像特征和文本嵌入之间的跨模态融合来增强文本和图像的表示。

YOLO Detector.  YOLO-World主要基于YOLOv8[20]开发,包含一个Darknet骨干网络[20, 43]作为图像编码器,一个路径聚合网络(PAN)用于多尺度特征金字塔,以及一个用于边界框回归和对象嵌入的头部。
  
Text Encoder. 给定文本输入,我们采用预训练的CLIP[39] Transformer文本编码器来提取文本嵌入向量。当输入文本是描述性语句或指代表达时,我们使用n-gram算法提取名词短语,并将其输入到文本编码器中。

Text Contrastive Head. 我们采用解耦head(包含两个3×3卷积)来回归边界框和对象嵌入向量。我们设计了一个文text contrastive head,通过以下公式计算对象-文本相似度:

  其中,L2-Norm(·)表示L2归一化,是第j个文本嵌入向量。我们还添加了仿射变换,其中α是可学习的缩放因子,β是平移因子。这些归一化和仿射变换对于稳定区域-文本训练至关重要。

Training with Online Vocabulary. 在训练阶段,我们为每个马赛克样本(包含4张图像)构建一个在线词汇表T,其中包含所有正样本名词和从数据集中随机采样的负样本名词。每个样本的词汇表最多包含M个名词,M默认设置为80。

Inference with Offline Vocabulary. 在推理阶段,我们提出了一种 prompt-then-detect 策略,使用离线词汇表以提高效率。用户可以根据需要定义一系列自定义提示,我们将这些提示编码为离线词汇嵌入向量。离线词汇表避免了每次输入的计算开销,并可以根据需要灵活调整词汇表。

图4. RepVL-PAN的示意图。本文提出的RepVL-PAN采用了文本引导的CSP层(Text-guided CSPLayer,简称T-CSPLayer),用于将语言信息注入图像特征中,同时还引入了图像池化注意力(Image Pooling Attention,简称I-Pooling Attention),用于增强图像感知的文本嵌入。 

3.3. Re-parameterizable Vision-Language PAN

图4展示了RepVL-PAN的结构,它遵循自顶向下和自底向上的路径,通过多尺度图像特征构建特征金字塔。我们提出了文本引导的CSP层(T-CSPLayer)和图像池化注意力(I-Pooling Attention),以增强图像特征和文本特征之间的交互,从而提高开放词汇检测的视觉-语义表示能力。在推理阶段,离线词汇嵌入向量可以被重参数化为卷积或线性层的权重,以便于部署。

Text-guided CSPLayer.  如图4所示,跨阶段部分层(CSPLayer)在自上而下或自下而上的融合后使用。我们通过将文本引导信息融入到多尺度图像特征中,扩展了[20]中的CSPLayer(也称为C2f),形成了文本引导的CSPLayer。具体来说,给定文本嵌入W和图像特征,我们在最后的深色瓶颈块之后采用最大sigmoid注意力机制,将文本特征与图像特征聚合,通过以下方式进行处理:

  更新后的是与跨阶段特征拼接作为输出,δ表示Sigmoid函数。

Image-Pooling Attention.为了增强带有图像信息的文本嵌入,我们提出了图像池化注意力(Image-Pooling Attention),通过聚合图像特征来更新文本嵌入。不同于直接在图像特征上使用交叉注意力,我们对多尺度特征进行最大池化,以获得3×3的区域,从而生成27个补丁标记X̃ ∈ R27×D。然后,文本嵌入通过以下公式进行更新:

3.4. Pre-training Scheme

在本节中,我们介绍了在大规模检测、定位和图像-文本数据集上预训练YOLO-World的训练方案。

Learning from Region-Text Contrastive Loss. 给定马赛克样本I和文本T,YOLO-World输出K个对象预测,以及标注。我们采用任务对齐标签分配[9]将预测与真实标注匹配,并为每个正预测分配一个文本索引作为分类标签。基于此词汇表,我们通过对象-文本相似度和对象-文本分配之间的交叉熵构建区域-文本对比损失。此外,我们还采用IoU损失和分布式焦点损失进行边界框回归。总训练损失定义为:

其中,是一个指示因子,当输入图像I来自检测或定位数据时,设置为1;当来自图像-文本数据时,设置为0。由于图像-文本数据集中的边界框可能存在噪声,我们仅对具有准确边界框的样本计算回归损失。

Pseudo Labeling with Image-Text Data. 与直接使用图像-文本对进行预训练不同,我们提出了一种自动标签方法来生成区域-文本对。具体来说,标签方法包含三个步骤:(1)提取名词短语:我们首先利用n-gram算法从文本中提取名词短语;(2)伪标签:我们采用预训练的开放词汇检测器(例如,GLIP [24])为每个图像生成给定名词短语的伪框,从而提供粗略的区域-文本对;(3)筛选:我们使用预训练的CLIP [39]来评估图像-文本对和区域-文本对的相关性,并筛选低相关性的伪标注和图像。我们进一步通过整合非极大值抑制(NMS)等方法筛选冗余的边界框。我们建议读者参考附录中的详细方法。通过上述方法,我们从CC3M [47]中采样并标注了246k张图像,获得了821k个伪标注。

4. 实验

在本节中,我们通过在大规模数据集上预训练YOLO-World,并在LVIS基准测试和COCO基准测试中以零样本(zero-shot)方式评估YOLO-World,来展示其有效性。我们还在COCO和LVIS数据集上对YOLO-World进行微调,以评估其在目标检测任务上的性能。

4.1.ImplementationDetails

YOLO-World基于MMYOLO工具箱[3]和MMDetection工具箱[2]开发。我们提供了三种不同延迟需求的YOLO-World变体,分别是小型(S)、中型(M)和大型(L)。除非特别说明,所有模型的推理速度均在单个NVIDIA V100 GPU上测量,且未使用额外的加速机制(例如FP16或TensorRT)。

4.2.Pre-training

Experimental Setup. 在预训练阶段,我们采用AdamW优化器[34],初始学习率为0.002,权重衰减为0.05。YOLO-World在32个NVIDIA V100 GPU上预训练100个周期,总批量大小为512。在预训练过程中,我们采用颜色增强、随机仿射变换、随机翻转和包含4张图像的马赛克数据增强方法。文本编码器在预训练过程中保持冻结状态。

Pre-training Data. 为了预训练YOLO-World,我们主要采用检测或定位数据集,包括Objects365(V1)[46]、GQA[17]和Flickr30k[38],具体信息见表1。我们还通过伪标签方法扩展了预训练数据,使用CC3M†[47]中的图像-文本对,其中246k张图像通过伪标签方法标注了821k个伪注释。

Zero-shot Evaluation. 预训练完成后,我们在LVIS数据集[14]上以零样本方式直接评估YOLO-World。LVIS数据集包含1203个目标类别,远多于预训练检测数据集中的类别数量,可用于衡量大规模词汇检测的性能。我们主要在LVIS minival[21]上进行评估,并报告固定AP[4]以供比较。最大预测数量设置为1000。

Main Results on LVIS Object Detection. 在表2中,我们将YOLO-World与近期最先进的方法[21, 30, 56, 57, 59]进行了比较。考虑到计算负担和模型参数,我们主要与基于较轻量级骨干网络(例如Swin-T[32])的方法进行比较。值得注意的是,YOLO-World在零样本性能和推理速度方面均优于以往的先进方法。与GLIP、GLIPv2和Grounding DINO等方法相比,YOLO-World在预训练数据较少的情况下(仅使用O365和GoldG)取得了更好的性能。与DetCLIP相比,YOLO-World在AP上仅略低(35.4 vs. 34.4),但推理速度提高了20倍。实验结果还表明,即使是最小的模型(例如YOLO-World-S,参数量为13M),也可以通过视觉-语言预训练获得强大的开放词汇能力。

4.3. Ablation Experiments

我们进行了广泛的消融实验,从预训练和架构两个主要方面对YOLO-World进行了分析。除非特别说明,消融实验主要基于YOLO-World-L,并在Objects365上进行预训练,以零样本方式在LVIS minival上进行评估。

Pre-training Data. 在表3中,我们评估了使用不同数据预训练YOLO-World的性能。与仅在Objects365上训练的基线相比,添加GQA可以显著提高性能,AP值提升了8.4。这种提升归因于GQA数据集提供了更丰富的文本信息,能够增强模型对大规模词汇目标的识别能力。添加部分CC3M样本(数据集的8%)可以进一步带来0.5 AP的提升,尤其是在罕见类别(APr)上。表3表明,增加更多数据可以有效提升大规模词汇场景下的检测能力。随着数据量的增加,性能持续提升,这突显了利用更大规模和更多样化的数据集进行训练的好处。

Ablations on RepVL-PAN. 表4展示了所提出的RepVL-PAN(包括文本引导的CSPLayer和图像池化注意力)对于零样本LVIS检测的有效性。具体而言,我们采用了两种设置:(1)仅在O365上预训练;(2)在O365和GQA上预训练。与仅包含类别注释的O365相比,GQA数据集包含丰富的文本信息,尤其是名词短语的形式。如表4所示,RepVL-PAN在AP上比基线(YOLOv8-PAN[20])提升了1.1,并且在LVIS的罕见类别(APr)上表现尤为显著。此外,当YOLO-World在GQA数据集上预训练时,实验结果表明RepVL-PAN与丰富的文本信息结合时效果更好。

Text Encoders.  在表5中,我们比较了使用不同文本编码器的性能,包括BERT-base[5]和CLIP-base(ViT-base)[39]。我们在预训练阶段分别采用了冻结(frozen)和微调(fine-tune)两种设置,微调文本编码器的学习率是基础学习率的0.01倍。如表5所示,CLIP文本编码器比BERT获得了更好的结果(在LVIS的罕见类别上AP提升了10.1),这是因为CLIP是通过图像-文本对预训练的,具有更好的视觉中心嵌入能力。微调BERT在预训练过程中带来了显著的性能提升(+3.7 AP),而微调CLIP则导致了性能下降。我们认为这种下降是由于在仅包含365个类别的O365上进行微调可能会降低预训练CLIP的泛化能力,因为CLIP本身缺乏丰富的文本信息。

4.4.Fine-tuningYOLO-World

        在本节中,我们进一步在COCO数据集和LVIS数据集上对YOLO-World进行微调,以验证预训练的有效性。

ExperimentalSetup.  我们使用预训练权重初始化YOLO-World进行微调。所有模型均使用AdamW优化器微调80个周期,初始学习率设置为0.0002。此外,我们还对CLIP文本编码器进行微调,其学习率因子为0.01。对于LVIS数据集,我们遵循以往的研究[8, 13, 63],在LVIS基础集(常见和频繁类别)上对YOLO-World进行微调,并在LVIS新类别集(罕见类别)上进行评估。

COCOObjectDetection. 我们在表6中将预训练的YOLO-World与以往的YOLO检测器[20, 23, 52]进行了比较。为了在COCO数据集上微调YOLO-World,我们移除了提出的RepVL-PAN以进一步加速推理,因为COCO数据集仅包含80个类别,对视觉-语言交互的依赖较低。如表6所示,YOLO-World在COCO数据集上表现出良好的零样本性能,这表明YOLO-World具有强大的泛化能力。此外,经过在COCO train2017上微调后,YOLO-World相较于以往从零开始训练的方法,展现出更高的性能。

LVIS Object Detection. 我们在表7中评估了YOLO-World在标准LVIS数据集上的微调性能。首先,与在完整LVIS数据集上训练的YOLOv8[20]相比,YOLO-World取得了显著的性能提升,尤其是在较大模型上,例如YOLO-World-L相较于YOLOv8-L提升了7.2 AP和10.2 APr。这些提升表明了所提出的预训练策略在大规模词汇检测中的有效性。此外,YOLO-World作为一种高效的单阶段检测器,在整体性能上优于以往的两阶段方法[8, 13, 22, 53, 63],且无需额外设计,例如可学习的提示[8]或基于区域的对齐[13]。

4.5.Open-Vocabulary Instance Segmentation

在本节中,我们进一步将YOLO-World应用于开放词汇实例分割(Open-Vocabulary Instance Segmentation, OVIS)任务。与传统实例分割不同,开放词汇实例分割的目标是让模型能够识别和分割出在训练阶段未见过的新类别。为了实现这一点,我们直接在包含掩码注释的数据子集上对YOLO-World进行微调,并在大规模词汇设置下评估分割性能。具体来说,我们在以下两种设置下进行基准测试:

  1. 从COCO到LVIS的迁移:我们在包含80个类别的COCO数据集上对YOLO-World进行微调,然后将其迁移到包含1203个类别的LVIS数据集上(80→1203)。

  2. 从LVIS基础集到LVIS全集的迁移:我们在包含866个类别的LVIS基础集(常见和频繁类别)上对YOLO-World进行微调,然后将其迁移到完整的LVIS数据集上(866→1203)。LVIS验证集包含1203个类别,其中337个罕见类别未在训练中见过,可用于衡量开放词汇性能。

Results. 表8展示了将YOLO-World扩展到开放词汇实例分割任务的实验结果。具体来说,我们采用了两种微调策略:(1)仅微调分割头;(2)微调所有模块。在策略(1)下,微调后的YOLO-World仍然保留了预训练阶段获得的零样本能力,使其能够在没有额外微调的情况下泛化到未见过的类别。策略(2)使YOLO-World能够更好地适应LVIS数据集,但可能会导致零样本能力的下降。

        表8展示了在不同设置(COCO或LVIS基础集)和不同微调策略(仅微调分割头或微调所有模块)下YOLO-World的微调结果。首先,在LVIS基础集上进行微调的性能优于基于COCO的微调。然而,AP(平均精度)与AP_{\tau }(罕见类别平均精度)之间的比例(AP_{\tau }/AP)几乎保持不变,例如,YOLO-World在COCO和LVIS基础集上的比例分别为76.5%和74.3%。考虑到检测器被冻结,我们认为性能差距的原因是LVIS数据集提供了更详细、更密集的分割注释,这对学习分割头是有益的。当微调所有模块时,YOLO-World在LVIS上获得了显著的性能提升,例如YOLO-World-L实现了9.6 AP的提升。然而,这种微调可能会降低开放词汇性能,并导致YOLO-World-L的AP_{\tau }下降0.6 box。

4.6. Visualizations

我们提供了预训练的YOLO-World-L在三种设置下的可视化结果:(a)使用LVIS类别进行零样本推理;(b)输入带有属性的细粒度类别自定义提示;(c)指代表检测。这些可视化结果还表明,YOLO-World在开放词汇场景下具有强大的泛化能力以及指代能力。

Zero-shot Inference on LVIS. 图5展示了预训练的YOLO-World-L在零样本情况下基于LVIS类别生成的可视化结果。预训练的YOLO-World展现出强大的零样本迁移能力,能够在图像中尽可能多地检测出目标。

Inference with User’s Vocabulary. 在图6中,我们探索了YOLO-World在我们定义的类别下的检测能力。可视化结果表明,预训练的YOLO-World-L还具备以下能力:(1)细粒度检测(即检测一个目标的各个部分);(2)细粒度分类(即区分目标的不同子类别)。

Referring Object Detection. 在图7中,我们使用一些描述性的(区分性的)名词短语作为输入,例如“站立的人”,以探索模型是否能够定位图像中与我们输入匹配的区域或目标。可视化结果显示了这些短语及其对应的边界框,证明了预训练的YOLO-World具有指代或定位能力。这种能力可以归因于我们提出的预训练策略以及大规模训练数据的使用。

 5. Conclusion

我们提出了YOLO-World,这是一个先进的实时开放词汇检测器,旨在提高实际应用中的效率和开放词汇能力。在本文中,我们将流行的YOLO架构重塑为一个视觉-语言YOLO架构,用于开放词汇预训练和检测,并提出了RepVL-PAN,它通过网络连接视觉和语言信息,并且可以被重参数化以便于高效部署。我们进一步提出了有效的预训练方案,利用检测、定位和图像-文本数据,赋予YOLO-World强大的开放词汇检测能力。实验结果表明,YOLO-World在速度和开放词汇性能方面具有显著优势,并且展示了在小型模型上进行视觉-语言预训练的有效性,这对未来的研究具有启发性。我们希望YOLO-World能够成为解决实际开放词汇检测问题的新基准/==。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/979079.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开放标准(RFC 7519):JSON Web Token (JWT)

开放标准:JSON Web Token 前言基本使用整合Shiro登录自定义JWT认证过滤器配置Config自定义凭证匹配规则接口验证权限控制禁用session缓存的使用登录退出单用户登录Token刷新双Token方案单Token方案 前言 JSON Web Token (JWT) 是一种开放标准…

mysql架构查询执行流程(图解+描述)

目录 mysql架构查询执行流程 图解 描述 mysql架构查询执行流程 图解 描述 用户连接到数据库后,由连接器处理 连接器负责跟客户端建立连接、获取权限、维持和管理连接 客户端发送一条查询给服务器 服务器先检查查询缓存,如果命中缓存,则立…

k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库

至于containerd大家还需要在去学习以下使用的命令。 版本介绍 k8s:v1.28.2containerd:1.6.33 1.配置containerd镜像加速器 [rootmaster ~]# vim /etc/containerd/config.toml ---编辑containerd配置文件找到以下位置新添加 [plugins."io.contain…

【MySql】EXPLAIN执行计划全解析:15个字段深度解读与调优指南

文章目录 一、执行计划核心字段总览二、关键字段深度拆解1. type(访问类型)——查询性能的晴雨表典型场景分析: 2. key_len(索引使用长度)——索引利用率的检测仪计算示例: 3. Extra(附加信息&a…

python-leetcode-最长有效括号

32. 最长有效括号 - 力扣(LeetCode) class Solution:def longestValidParentheses(self, s: str) -> int:stack [-1] # 存储索引,初始值 -1 代表“未匹配起点”max_length 0for i, char in enumerate(s):if char (:stack.append(i)els…

单目摄像头物体深度计算基础原理

三维空间物体表面点位与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数,而相机参数的求解就是相机标定。 相机的参数矩阵包括内参和外参: 外参:决定现实坐标到摄像机坐标。…

CF 106A.Card Game(Java实现)

问题分析 定义一个字符是王牌,打出第一张牌a,第二张牌b。如果只有a是王牌花色直接赢。如果a,b同花色且a>b则a赢;如果只有b是王牌,a输。如果a,b都不是王牌且不同花色,不比较直接输。 思路分析…

在 Vue 组件中,如何确认父组件在 add 模式下传入 value 的情况及其对子组件 getProducts() 方法的触发影响?

文章目录 父组件中 <ave-form> 的使用add 模式下触发逻辑value 的传入情况是否触发 getProducts()&#xff1f; 验证 add 模式下 getProducts() 是否触发结论&#xff1a; 检查父组件传入 value 的完整情况如何明确知道父组件传入的 value最终回答 父组件 index.vue子组件…

Python的那些事第三十四篇:基于 Plotly 的交互式图表与仪表板设计与应用

基于 Plotly 的交互式图表与仪表板设计与应用 摘要: 本文深入探讨了 Plotly 这一强大的交互式图表和仪表板库。首先介绍了 Plotly 的背景与发展历程,随后详细阐述了其核心功能特性,包括丰富的图表类型、高度的自定义能力以及便捷的交互操作。通过实际案例分析和示例代码展示…

瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发

触觉智能分享&#xff0c;瑞芯微RK安卓Android主板GPIO按键配置方法&#xff0c;方便大家更好利用空闲IO&#xff01;由触觉智能Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566四核处理器&#xff0c;树莓派卡片电脑设计&#xff0c;支持安卓Android、开源鸿蒙Open…

树莓百度百科更新!宜宾园区业务再添新篇

树莓集团宜宾园区业务不断拓展&#xff0c;主要体现在以下几个方面&#xff1a; 产业布局 -聚焦数字经济核心领域&#xff1a;涵盖软件开发、人工智能、大数据等&#xff0c;吸引众多上下游企业入驻&#xff0c;形成从芯片研发、软件开发到系统集成的完整产业链条。 -推进“双…

Orange 开源项目 - 集成阿里云大模型

1 阿里云的大模型服务平台百炼 阿里云的大模型服务平台百炼是一站式的大模型开发及应用构建平台。不论是开发者还是业务人员&#xff0c;都能深入参与大模型应用的设计和构建。您可以通过简单的界面操作&#xff0c;在5分钟内开发出一款大模型应用&#xff0c;或在几小时内训练…

rust 前端npm依赖工具rsup升级日志

rsup是使用 rust 编写的一个前端 npm 依赖包管理工具&#xff0c;可以获取到项目中依赖包的最新版本信息&#xff0c;并通过 web 服务的形式提供查看、升级操作等一一系列操作。 在前一篇文章中&#xff0c;记录初始的功能设计&#xff0c;自己的想法实现过程。在自己的使用过…

如何使用Docker一键本地化部署LibrePhotos搭建私有云相册

文章目录 前言1.关于LibrePhotos2.本地部署LibrePhotos3.LibrePhotos简单使用4. 安装内网穿透5.配置LibrePhotos公网地址6. 配置固定公网地址 前言 你是不是也经常对着手机里那一堆珍贵的照片发愁&#xff0c;心里想着&#xff1a;‘这要是被谁偷偷看了可咋办&#xff1f;’别…

PXE批量网络装机与Kickstart自动化安装工具

目录 一、系统装机的原理 1.1、系统装机方式 1.2、系统安装过程 二、PXE批量网络装机 2.1、PXE实现原理 2.2、搭建PXE实际案例 2.2.1、安装必要软件 2.2.2、搭建DHCP服务器 2.2.3、搭建TFTP服务器 2.2.4、挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下 2.2.5、编…

有道云数据下载导出到本地结合Typora-v1.9.5 解锁版解压版构建本地笔记库

1、下载python 导出脚本 脚本下载&#xff1a;yodaonote-pull 2、安装python 依赖包 3、获取有道云cookies 通过有道云网页版登录获取cookies 方式一&#xff1a;浏览器F12 方式二&#xff1a;chrome 浏览器插件Cookie-copy 查看 4、配置导出路径 配置cookies.json {…

【一起学Rust | Tauri2.0框架】单实例应用程序的深入解析:零漏洞实现与优化实战

文章目录 前言一、 单实例应用的意义二、 实现单实例应用的方法1 Windows下的实现1.1 创建命名Mutex1.2 在Tauri应用中集成Mutex检查 2 macOS下的实现2.1 获取Bundle Identifier2.2 检查是否已经有实例在运行 3 Linux下的实现3.1 获取进程列表3.2 检查是否已经有实例在运行 4 在…

和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设

气象领域与农业、能源、交通、环境科学等国计民生关键领域紧密相连&#xff0c;发挥着不可替代的重要作用。人工智能技术的迅猛发展&#xff0c;为气象领域突破困境带来了新的契机。AI 技术能够深度挖掘气象大数据中蕴含的复杂信息&#xff0c;助力人类更精准地把握自然规律&am…

autojs例子之webView的UA切换

/*** 作者: 家* QQ: 203118908* 功能: webViewUA切换*/ "ui"; importClass(java.io.File); importPackage(android.text); importPackage(android.text.style);ui.layout(<vertical id"yidong1" marginTop0 bg"#881e90ff"><text id&q…

HarmonyOS 5.0应用开发——鸿蒙接入高德地图实现POI搜索

【高心星出品】 文章目录 鸿蒙接入高德地图实现POI搜索运行结果&#xff1a;准备地图编写ArkUI布局来加载HTML地图 鸿蒙接入高德地图实现POI搜索 在当今数字化时代&#xff0c;地图应用已成为移动设备中不可或缺的一部分。随着鸿蒙系统的日益普及&#xff0c;如何在鸿蒙应用中…