CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法

本文主要是介绍CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文分享简介

本推文主要介绍了CVPR 2024上的一篇论文《YOLO-World: Real-Time Open-Vocabulary Object Detection》,论文的第一作者为Tianheng Cheng和Lin Song,该论文提出了一种开放词汇目标检测的新方法,名为YOLO-World。论文通过引入视觉-语言建模和大规模预训练解决了传统YOLO检测器在固定词汇检测中的局限性。论文提出的YOLO-World模型,通过Re-parameterizable Vision-Language Path Aggregation Network(RepVL-PAN)及区域-文本对比损失,增强了视觉与语言信息的交互,从而在零样本检测中表现出色。该方法在LVIS数据集上实现了35.4 AP,并保持了高效的推理速度,且在多个下游任务中表现优异。推文作者为李杨,审校为朱旺和陆新颖。

论文下载地址:

https://arxiv.org/pdf/2401.17270

开源代码地址:

https://github.com/AILab-CVC/YOLO-World

1. 会议介绍

CVPR(IEEE / CVF Computer Vision and Pattern Recognition Conference)是计算机视觉和模式识别领域最具影响力的国际顶级会议之一。该会议由IEEE计算机学会主办,每年都会吸引全球范围内的研究人员、学者和业界专家参与。自1983年创办以来,CVPR已经发展成为展示和分享计算机视觉、深度学习、图像处理等领域最新研究成果的重要平台。该会议论文具有极高的学术质量和影响力,其接受的论文经过严格的同行评审,并往往代表了该领域的前沿研究。CVPR也是中科院JCR一区TOP会议,CCF-A类会议,发表的论文影响因子极高。CVPR每年吸引大量投稿,其激烈的竞争环境使得入选的论文具有较高的学术影响力。

2. 背景与挑战

目标检测是计算机视觉中一个长期存在且基本的挑战,广泛应用于图像理解、机器人和自动驾驶等领域。尽管深度神经网络的发展已使目标检测取得了显著进展,但现有方法主要处理具有固定词汇的目标检测,即只能检测预定义和标注好的类别,难以应对开放场景中的多样化目标检测。

(1)开放词汇目标检测的挑战:当前的目标检测方法在处理开放场景时面临许多挑战,特别是在计算负担和实际设备部署上的困难。大多数方法在固定类别的检测上表现良好,但在识别新类别时存在局限,尤其是词汇多样性不足且训练数据有限的情况下,模型难以进行泛化。

(2)现有方法的局限性:尽管一些方法尝试通过视觉-语言模型解决开放词汇检测问题,但它们通常依赖于大型且复杂的检测器,难以适应实际应用中的高效部署需求。许多方法在训练小型检测器方面表现欠佳,特别是在大规模数据预训练下,这些方法在实际场景中难以实现实时性。

为解决上述问题,论文提出了YOLO-World,旨在提高YOLO检测器在开放词汇下的检测能力,并通过高效的预训练方案来提升检测器的泛化能力,特别是在大规模数据集下的预训练,使其在零样本检测任务中表现优异。

3. 方法

1 YOLO-World的整体架构

图1展示了YOLO-World的整体架构,其核心是通过视觉-语言跨模态融合实现开放词汇目标检测。YOLO-World基于YOLOv8,使用CLIP预训练的Transformer文本编码器将输入文本转化为文本嵌入,并结合YOLO检测器提取的多尺度图像特征。Re-parameterizable Vision-Language Path Aggregation Network(RepVL-PAN)将YOLO检测器生成的多尺度图像特征与文本编码器生成的文本嵌入结合,生成视觉和语言信息的联合特征表示。RepVL-PAN的设计允许在推理阶段将文本编码器移除,并将预计算的文本嵌入重新参数化为网络权重,以提高推理效率。模型在训练阶段采用区域-文本对比损失优化检测性能,而在推理阶段,YOLO-World使用预编码的离线词汇表,通过“提示-然后-检测”的策略实现高效推理和开词汇目标检测,从而在开放场景下表现出色。

4. 实验结果及可视化

1. 实验结果

表1展示了YOLO-World在LVIS数据集上的零样本检测性能,与其他最新的开词汇目标检测模型相比,YOLO-World表现出卓越的效率和准确性。不同规模的YOLO-World模型(S、M、L)在速度(FPS)和精度(AP)方面均超越了许多大型模型。例如,YOLO-World-L模型在LVIS数据集上达到了35.4的AP,并保持了52.0 FPS的推理速度,明显优于GLIP、Grounding DINO等模型的性能,尤其是在轻量化设计和高效推理上实现了突破。相比于依赖更大模型的DetCLIP,YOLO-World不仅在AP上接近(35.4 vs 34.4),而且推理速度快了约20倍。总的来看,表1的结果表明,YOLO-World在保持较高检测精度的同时,大幅提升了推理速度,尤其适用于实际部署中的实时应用。

1 YOLO-WorldLVIS数据上的零样本评估结果

表2展示了YOLO-World在COCO数据集上与其他YOLO系列模型的比较结果,分别对从头训练和零样本迁移的情况进行了评估。在从头训练的情况下,YOLO-World-L模型的性能达到53.3 AP,优于YOLOv8-L的52.9 AP,展示了其在COCO目标检测上的出色性能。在零样本迁移方面,YOLO-World在不经过额外微调的情况下,表现出了极强的泛化能力,YOLO-World-L模型通过预训练后达到44.4 AP,并通过微调进一步提升至53.3 AP。此外,YOLO-World在保持较高检测性能的同时,也兼顾了推理速度,其推理速度

接近其他高效的YOLO系列模型。表2的结果表明,YOLO-World不仅能够在固定词汇任务中取得良好的结果,还具备强大的零样本迁移能力,适用于广泛的应用场景。

2 YOLO-WorldCOCO数据集上的比较结果

2. 可视化

图2展示了YOLO-World在LVIS数据集上的零样本推理结果,模型能够精准检测出图片中的多种物体,证明了其强大的泛化能力。

2 YOLO-WorldLVIS数据集上的零样本推理结果

图3展示了YOLO-World在自定义词汇下的检测能力,模型能够根据用户定义的词汇进行细粒度的目标检测,显示出其灵活适应不同检测需求的能力。

3 YOLO-World在自定义词汇下的检测结果

图4体现了YOLO-World在指代目标检测中的表现,能够根据用户提供的描述性短语准确定位图片中的相关物体,表明其在跨模态理解方面的卓越性能。

4 YOLO-World在描述性短语下的检测结果

5. 总结

该论文提出了一种面向开放词汇目标检测的高效模型,名为YOLO-World。通过融合视觉和语言模态,提升了YOLO系列检测器在零样本场景中的泛化能力。YOLO-World采用了Re-parameterizable Vision-Language Path Aggregation Network (RepVL-PAN) 和区域-文本对比损失,成功实现了高效的视觉-语义交互,并在大规模数据集上进行了预训练,使其在LVIS和COCO等数据集上的零样本检测和迁移学习任务中表现出色。实验结果表明,YOLO-World不仅在检测精度上超越了许多现有方法,还显著提升了推理速度,具备实际应用中的实时性和部署优势。总体而言,YOLO-World为开放词汇目标检测提供了一种高效且可扩展的解决方案。

这篇关于CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145005

相关文章

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

Python处理函数调用超时的四种方法

《Python处理函数调用超时的四种方法》在实际开发过程中,我们可能会遇到一些场景,需要对函数的执行时间进行限制,例如,当一个函数执行时间过长时,可能会导致程序卡顿、资源占用过高,因此,在某些情况下,... 目录前言func-timeout1. 安装 func-timeout2. 基本用法自定义进程subp

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那