YOLO-World: Real-Time Open-Vocabulary Object Detection

文章目录

  • 1. Introduction
  • 2. Experiments
    • 2.1 Implementation Details
    • 2.2 Pre-training
    • 2.3 Ablation Experiments
      • 2.3.1 预训练数据
      • 2.3.2 对RepVL-PAN的消融研究
      • 2.3.3 文本编码器
    • 2.4 Fine-tuning YOLO-World
    • 2.5 Open-Vocabulary Instance Segmentation
    • 2.6 Visualizations
  • Reference

在这里插入图片描述

YOLO系列检测器已将自己确立为高效实用的工具。然而,它们依赖于预定义和训练的物体类别,这在开放场景中限制了它们的适用性。针对这一限制,作者引入了YOLO-World,这是一种创新的方法,通过视觉语言建模和在大型数据集上的预训练,将YOLO与开集检测能力相结合。具体来说,作者提出了一种新的可重参化的视觉语言路径聚合网络(RepVL-PAN)和区域文本对比损失,以促进视觉和语言信息之间的交互。作者的方法在以零样本方式检测广泛范围的物体时表现出色,且效率高。

在具有挑战性的LVIS数据集上,YOLO-World在V100上实现了35.4 AP和52.0 FPS,在准确性和速度上都超过了许多最先进的方法。此外,经过微调的YOLO-World在包括目标检测开集实例分割在内的几个下游任务上取得了显著性能。

论文链接:https://arxiv.org/abs/2401.17270

代码链接:https://github.com/AILab-CVC/YOLO-World

1. Introduction

作者的主要贡献可以概括为三个方面:

  1. 作者介绍了YOLO-World,这是一个前沿的开集目标检测器,它具有高效率,适用于实际应用场景。

  2. 作者提出了一个可重新参数化的视觉-语言PAN模型,用以连接视觉和语言特征,并针对YOLO-World设计了一套开集区域文本对比预训练方案。

  3. YOLO-World在大规模数据集上的预训练展示了强大的零样本性能,在LVIS上达到35.4 AP的同时,还能保持52.0 FPS的速度。预训练的YOLO-World可以轻松适应下游任务,例如,开集实例分割和指代目标检测。此外,YOLO-World的预训练权重和代码将开源,以促进更多实际应用。

2. Experiments

在本节中,作者通过在大规模数据集上对所提出的YOLO-World进行预训练,展示了其有效性,并以零样本方式在LVIS基准和COCO基准上评估了YOLO-World(第4.2节)。作者还评估了YOLO-World在COCO、LVIS数据集上进行目标检测的微调性能。

2.1 Implementation Details

YOLO-World是基于MMYOLO工具箱和MMDetection工具箱开发的。遵循,作者为不同的延迟需求提供了YOLO-World的三个变体,例如小型(S)、中型(M)和大型(L)。作者采用了开源的CLIP文本编码器及其预训练权重来编码输入文本。除非特别指明,作者将所有模型的推理速度测量在单个NVIDIA V100 GPU上,且不使用额外的加速机制,例如FP16或TensorRT。

在这里插入图片描述

2.2 Pre-training

实验设置。在预训练阶段,作者采用了AdamW优化器,初始学习率为0.002,权重衰减为0.05。YOLO-World在32个NVIDIA V100 GPU上以总批处理大小512进行预训练,共100个周期。在预训练期间,作者遵循之前的工作,采用了颜色增强、随机仿射变换、随机翻转以及包含4张图片的马赛克数据进行数据增强。在预训练期间,文本编码器被冻结。

在这里插入图片描述

2.3 Ablation Experiments

作者提供了广泛的消融研究,从两个主要方面分析YOLO-World,即预训练和架构。除非另有指定,作者主要基于YOLO-World-L进行消融实验,并使用零样本评估在LVIS minival上预训练Objects365。

2.3.1 预训练数据

在这里插入图片描述

2.3.2 对RepVL-PAN的消融研究

表4展示了所提出的YOLO-World中的RepVL-PAN对于零样本LVIS检测的有效性,包括文本引导的CSPLayers和图像池化注意力。

在这里插入图片描述

2.3.3 文本编码器

在这里插入图片描述

2.4 Fine-tuning YOLO-World

在本节中,作者进一步对YOLO-World进行微调,以在COCO数据集和LVIS数据集上进行闭集目标检测,以展示预训练的有效性。

在这里插入图片描述
在这里插入图片描述

2.5 Open-Vocabulary Instance Segmentation

在这里插入图片描述

2.6 Visualizations

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Reference

论文链接:https://arxiv.org/abs/2401.17270

代码链接:https://github.com/AILab-CVC/YOLO-World

https://mp.weixin.qq.com/s/Fj6wzARTo1l7UEwKxDAh6w

https://mp.weixin.qq.com/s/Mt1Tyo0zj3MZ-LR4HLjtnQ

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode 突然连接不上服务器了(2024年版本 自动更新从1.85-1.86)

vscode日志 ll192.168.103.5s password:]0;C:\WINDOWS\System32\cmd.exe [17:09:16.886] Got some output, clearing connection timeout [17:09:16.887] Showing password prompt [17:09:19.688] Got password response [17:09:19.688] "install" wrote data to te…

Go语言每日一练 ——链表篇(三)

传送门 牛客面试笔试必刷101题 ---------------- 链表中的节点每k个一组翻转 题目以及解析 题目 解题代码及解析 package main import _"fmt" import . "nc_tools" /** type ListNode struct{* Val int* Next *ListNode* }*//*** 代码中的类名、方…

《Python 网络爬虫简易速速上手小册》第1章:Python 网络爬虫基础(2024 最新版)

文章目录 1.1 网络爬虫简介1.1.1 重点基础知识讲解1.1.2 重点案例:社交媒体数据分析1.1.3 拓展案例1:电商网站价格监控1.1.4 拓展案例2:新闻聚合服务 1.2 网络爬虫的工作原理1.2.1 重点基础知识讲解1.2.2 重点案例:股票市场数据采…

运营商数智化缩影:一部哑资源的资源管理史

不知你是否曾经留意过马路边的电杆、路面上的人井、还有路边不知道里面装的是什么的大箱子,稍微观察一下其实就会发现,这些设施上都会刻有产权归属单位,比如中国移动、中国电信、中国联通等等。那么,这些运营商的基础设施都是用来…

TCP TIME_WAIT 过多怎么处理

文章目录 1.什么是 TCP TIME_WAIT?2.为什么要 TIME_WAIT?3.TIME_WAIT 过多的影响4.解决办法4.1 调整短连接为长连接4.2 调整系统内核参数 5.小结参考文献 1.什么是 TCP TIME_WAIT? TCP 断开连接四次挥手过程中,主动断开连接的一方&#xff…

YOLO-World——超级轻量级开放词汇目标检测方法

前言 目标检测一直是计算机视觉领域中不可忽视的基础挑战,对图像理解、机器人技术和自主驾驶等领域具有广泛应用。随着深度神经网络的发展,目标检测方面的研究取得了显著进展。尽管这些方法取得了成功,但它们存在一些限制,主要体…

http伪造本地用户字段系列总结

本篇记录了http伪造本地用户的多条字段,便于快速解决题目 用法举例: 直接把伪造本地用户的多个字段复制到请求头中,光速解决部分字段被过滤的问题。 Client-IP: 127.0.0.1 Forwarded-For-Ip: 127.0.0.1 Forwarded-For: 127.0.0.1 Forwarded…

双非本科准备秋招(17.1)—— 力扣二叉树

1、257. 二叉树的所有路径 要求返回根节点到叶子节点的所有路径,这里用前序遍历就好。 每次递归前,都让字符串s加上当前节点的值和“->”,然后判断是否为叶子节点,如果是的话,说明这条路径是一个答案,因…

【教程】Linux使用支持文件恢复的rm命令

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 首先非常不幸地告诉你:Linux 系统的标准 rm 命令不支持文件恢复功能。一旦使用 rm 删除了文件或目录,它们就会从文件系统中永久删除,除非你使用专门的文件恢复工具尝试…

计算机设计大赛 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &am…

算法学习——LeetCode力扣哈希表篇2

算法学习——LeetCode力扣哈希表篇2 454. 四数相加 II 454. 四数相加 II - 力扣(LeetCode) 描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 …

Java 学习和实践笔记(1)

2024年,决定好好学习计算机语言Java. B站上选了这个课程:【整整300集】浙大大佬160小时讲完的Java教程(学习路线Java笔记)零基础,就从今天开始学吧。 在这些语言中,C语言是最基础的语言,绝大多…

C++ this指针/常量成员函数/const/mutable

目录 1.this 指针2.常量成员函数3.mutable 成员变量4.const 关键字总结5.参考内容 1.this 指针 this 指针,指向成员函数所作用的对象,并且 this 总是指向这个对象,所以 this 是一个常量指针,我们不允许改变 this 中保存的地址。th…

arcgis各种版本下载

arcgic 下载!!! ArcGIS是一款地理信息系统软件,由美国Esri公司开发。它提供了一系列完整的GIS功能,包括地图制作、空间数据管理、空间分析、空间信息整合、发布与共享等。ArcGIS是一个可扩展的GIS平台,提供…

vite+vue3发布自己的npm组件+工具函数

记录一下个人最近一次发布npm组件的过程: 一、创建组件和工具函数 执行命令创建一个空项目: npm create vite 创建过程稍微有些慢,不知何故?其中选择vue , 个人暂时使用的JS 。在 src 目录下面创建一个文件 package 存放组件和公…

Spring Web Header 解析常见错误

在上一章,我们梳理了 URL 相关错误。实际上,对于一个 HTTP 请求而言,URL 固然重要,但是为了便于用户使用,URL 的长度有限,所能携带的信息也因此受到了制约。 如果想提供更多的信息,Header 往往…

CGAL-3D 凸包算法

3D 凸包算法 一、概述二、静态凸包构造1. Traits 特征类2. 极端点3. 半空间相交4. 凸性检验 三、动态凸包构造四、性能 一、概述 一个点集 S∈R3 是凸的,如果对于任意两点 p 和 q 在集合中,具有端点的线段 p 和 q 包含在 S。集合的凸包 P 包含点集 S 的最…

Java笔记 --- 六、IO流

六、IO流 概述 分类 纯文本文件:Windows自带的记事本打开能读懂的 eg:txt文件,md文件,xml文件,lrc文件 IO流体系 字节流 FileOutputStream 操作本地文件的字节输出流,可以把程序中的数据写到本地文件中…

XAI:探索AI决策透明化的前沿与展望

文章目录 📑前言一、XAI的重要性二、为什么需要可解释人工智能三、XAI的研究与应用四、XAI的挑战与展望 📑前言 随着人工智能技术的快速发展,它已经深入到了我们生活的方方面面,从智能手机、自动驾驶汽车到医疗诊断和金融投资&…

备战蓝桥杯---搜索(剪枝)

何为剪枝,就是减少搜索树的大小。 它有什么作用呢? 1.改变搜索顺序。 2.最优化剪枝。 3.可行性剪枝。 首先,单纯的广搜是无法实现的,因为它存在来回跳的情况来拖时间。 于是我们可以用DFS,那我们如何剪枝呢&#…