当前位置: 首页 > news >正文

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

目录

摘要

Abstract

YOLO-World

1 模型架构

1.1 Text Encoder

1.2 YOLO Backbone

2 RepVL-PAN

2.1 T-CSPLayer

2.2 I-Pooling Attention

2.3 预测

3 消融实验

3.1 预训练数据

3.2 RepVL-PAN的消融实验

3.3 文本编码器

4 效果展示

4.1 零样本

4.2 根据词汇表检测

4.3 根据参考对象检测

总结


摘要

YOLO-World通过视觉-语言建模,以及在大规模数据集上的预训练,增强了YOLO-World的开放词汇检测能力,展现出强大的零镜头能力。YOLO-World遵循标准的YOLO架构,并利用预训练的CLIP文本编码器来编码输入文本。该模型提出了可重参数化视觉-语言路径聚合网络(RepVL-PAN),以连接文本特征和图像特征,实现更好的视觉语义表示。该模型在LVIS数据集上以52.0FPS达到35.4AP,在准确性和速度方面都超过了许多最先进的方法。

Abstract

YOLO-World enhances YOLO-World's open-vocabulary detection capabilities through vision-language modeling and pre-training on large-scale datasets, demonstrating strong zero-shot capabilities. YOLO-World adheres to the standard YOLO architecture and utilizes the pre-trained CLIP text encoder to encode input text. The model introduces the Re-parameterizable Vision-Language Path Aggregation Network (RepVL-PAN) to connect text features and image features for better visual-semantic representation. Achieving 35.4 AP at 52.0 FPS on the LVIS dataset, it surpasses many state-of-the-art methods in terms of both accuracy and speed.

YOLO-World

论文链接:arxiv.org/pdf/2401.17270

开源代码地址:YOLO-World

1 模型架构

YOLO-World是由文本编码器、YOLO检测器(YOLOv8骨干网络)和RepVL-PAN组成。整体架构如下图所示:

1.1 Text Encoder

文本编码器采用的是CLIP,给定文本输入Text Encoder将文本编码T转换为文本嵌入W,CLIP文本编码器能够将视觉对象与文本连接起来,提供更好的视觉语义功能。

W=TextEncoder(T)

如上图架构图中输入文本是一个完整句子时,采用n-gram算法提取名词短语后,再将其送入文本编码器。

n-gram算法:将文本拆分成若干个连续的n个词的序列,并统计这些序列在文本中出现的频率。

例如:A man and a woman are skiing with a dog.

  • 1-gram是单个词,如“man”、“woman”等;
  • 2-gram是相邻的两个词组成的词组,如“a man”、“a woman”等;

1.2 YOLO Backbone

YOLO-World采用的是YOLOv8的骨干网络,YOLOv8网络结构图如下所示:

上图红色框部分主要用于多尺度特征提取, 蓝色框部分就是YOLO-World架构图中Multi-scale Image Features多尺度特征输入部分,我们假设YOLO-World中特征输入也是 20x20x512 、40x40x512 、 80x80x512 ,如下图所示:

2 RepVL-PAN

了解了YOLO-World的全部输入之后,我们来看看该模型最重要的模块是如何跨模态融合文本和图像特征的。RepVL-PAN结构图如下所示:

C_{5}C_{4}C_{3}就是上面假设的多尺度特征输入 20x20x512 、40x40x512 、 80x80x512 。通过T-CSPLayer使图像特征将文本特征融合;再通过I-Pooling Attention使文本特征又带有图像特征;反复这两个步骤,最后输出的P_{5}P_{4}P_{3}和文本嵌入都带有相互的信息。

2.1 T-CSPLayer

该模块会先将输入的图像特征在通道维度上做一个切分,例如 40x40x512 分为两个 40x40x256 。其中一个 40x40x256 的图像特征会先经过Dark Bottleneck做两个卷积操作,再经过Max-Sigmoid注意力更新图像上与需要预测目标最相关的区域的权重值。最后,再与另一个 40x40x256 的图像特征进行Concat,这样图像特征就融合了文本特征的信息。

Max-Sigmoid:

X_{l}^{'}=X_{l}\cdot \delta (max(X_{l}W_{j}^{T}))^{T}j\epsilon \left \{ 1...C \right \}

将文本特征融合到图像特征中,X_{l}^{'}作为跨模态连接的输出。图像对目标区域的权重值增大,对最后预测结果有重大影响。

2.2 I-Pooling Attention

在完成文本信息的融合之后,输出的X_{5}^{'}X_{4}^{'}X_{3}^{'}带有文本特征信息,再通过I-Pooling Attention模块更新文本嵌入使其带有图像特征。

首先I-Pooling Attention模块会将输入的X_{5}^{'}X_{4}^{'}X_{3}^{'} 3 个尺度的图像特征进行自适应池化为 3x3 的特征图像,然后拼接为 1x27x512 的块特征。再与文本嵌入 1x3x512 进行多头自注意力技术,以更新文本特征,使其带有图像信息。

W^{'}=W+MultiHeaf-Attention(W,\tilde{X},\tilde{X})

\tilde{X}\epsilon R^{27xD},将所有多尺度特征图像展开为27个区域,D为通道数。

因为博客开头提到有3个检测目标:man、woman、dog。假设通道数量为512,便于我们举例说明。 

通过上述步骤,最终输出的P_{5}P_{4}P_{3}拥有文本信息,同时文本嵌入也带有图像特征。

2.3 预测

在输出的P_{5}P_{4}P_{3}后接YOLO Head预测头,输出在图像上的预测框。因为在模型训练时,并没有像传统的对象检测方法那样使用边界框和类别组成的实例注释进行训练,所以YOLO-World与输入文本特征进行对比分类。

因为输出的P_{5}P_{4}P_{3}都带有文本特征,将其传入Text Contrastive Haed模块会得到每个预测框的Object Embedding。将此Embedding与输入文本的Image-aware Embedding进行匹配,即架构图中Region-Text Matching部分,选择匹配度最高的作为该预测框的类别。如下图所示:

3 消融实验

3.1 预训练数据

如上表,作者评估了使用不同数据预训练YOLO-World的性能。与在Objects365上训练的基线相比,添加GQA可以显著提高性能,在LVIS上获得了8.4 AP的增益。这种改进可以归因于GQA数据集提供的更丰富的文本信息,这可以增强模型识别大词汇量对象的能力。添加部分CC3M样本可以进一步带来0.5 AP的增益,以及在稀有对象上获得1.3 AP。上表表明,添加更多数据可以有效地提高在大词汇量场景中的检测能力。此外,随着数据量的增加,性能持续提高,突出了利用更大更多样化的数据集进行训练的好处。

3.2 RepVL-PAN的消融实验

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

作者采用了两种设置:

  • 在O365上预训练和
  • 在O365和GQA上预训练。

与仅包含类别注释的O365相比,GQA包含了丰富的文本,特别是名词短语的形式。如上表所示,提出的RepVL-PAN将YOLOv8-PAN在LVIS上提高了1.1 AP,并且在LVIS的稀有类别AP_{r}方面改进显著,这些类别难以检测和识别。此外,当YOLO-World使用GQA数据集进行预训练时,改进变得更加显著,实验表明提出的RepVL-PAN在丰富的文本信息下工作得更好。

3.3 文本编码器

上表中比较了使用不同文本编码器的性能,即BERT-base和CLIP-base。作者在预训练期间利用两种设置,即冻结和微调,微调文本编码器的学习率是基础学习率的0.01倍。

上表所示,CLIP文本编码器比BERT在LVIS的稀有类别上获得了更好的结果,因为这是用图像-文本对预训练的,具有更好的视觉中心嵌入能力。在预训练期间微调BERT带来了显著的改进(+3.7 AP),而微调CLIP导致了严重的性能下降。作者将这种下降归因于在O365上微调可能会降低预训练CLIP的泛化能力,O365仅包含365个类别,缺乏丰富的文本信息。

4 效果展示

4.1 零样本

4.2 根据词汇表检测

4.3 根据参考对象检测

总结

YOLO-World是一个实时开放词汇检测器,提高了实际应用中的效率和开放词汇能力。该论文将流行的YOLOs重塑为一种视觉语言YOLO架构,用于开放词汇预训练和检测,并提出了RepVL-PAN,它将视觉和语言信息与网络连接,并可以重参数化以实现高效部署。并且进一步提出了有效的预训练方案,结合检测、基础和图像-文本数据,赋予YOLO-World强大的开放词汇检测能力。实验证明YOLO-World在速度和开放词汇性能方面的优越性,并表明视觉-语言预训练对小型模型的有效性,这对未来的研究方向具有启发性。

论文核心部分:

相关文章:

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

目录 摘要 Abstract YOLO-World 1 模型架构 1.1 Text Encoder 1.2 YOLO Backbone 2 RepVL-PAN 2.1 T-CSPLayer 2.2 I-Pooling Attention 2.3 预测 3 消融实验 3.1 预训练数据 3.2 RepVL-PAN的消融实验 3.3 文本编码器 4 效果展示 4.1 零样本 4.2 根据词汇表检…...

Fastjson <= 1.2.47 反序列化漏洞复现

0x01 前言 Fastjson 是一个 Java 语言编写的高性能功能完善的 JSON 库&#xff0c;可以将 Java 对象转换为 JSON 格式&#xff0c;也可以将 JSON 字符串转换为 Java 对象&#xff0c;在中国和美国使用较为广泛。 0x02 漏洞成因 Fastjson < 1.2.68 版本在处理反序列化对象时…...

鸿蒙项目云捐助第二十一讲云捐助项目物联网IoT模拟器的使用

鸿蒙项目云捐助第二十一讲云捐助项目物联网IoT模拟器的使用 在前面的内容中&#xff0c;已经实现了云捐助物联网IoT的产品及设备设置&#xff0c;并且使用华为云Iot设备的在线调试工具进行命令下发的调试&#xff0c;这里也可以通过华为Iot物联网提供的MQTT模拟器进行连接。 …...

大数据技术原理与应用期末复习-知识点(二)

HBASE Hbase与传统关系数据库的对比分析 1.数据类型&#xff1a; 关系型数据库采用关系模型 Hbase采用更简单的数据模型&#xff08;把数据存储为未经解释的字符串&#xff09; 2.数据操作&#xff1a; 关系数据库&#xff1a;增删改查等 Hbase&#xff1a;插入 查询 删…...

高效准确的PDF解析工具,赋能企业非结构化数据治理

目录 准确性高&#xff1a;还原复杂版面元素 使用便捷&#xff1a;灵活适配场景 贴心服务&#xff1a;快速响应机制 在数据为王的时代浪潮中&#xff0c;企业数据治理已成为组织优化运营、提高竞争力的关键。随着数字化进程的加速&#xff0c;企业所积累的数据量呈爆炸式增长…...

C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码

一、介绍 栈和队列是限定插入和删除只能在表的“端点”进行的线性表&#xff0c;是线性表的子集&#xff0c;是插入和删除位置受限的线性表。 &#xff08;操作受限的线性表&#xff09; 二、栈 1&#xff09;概念&#xff1a; 栈(stack)是一个特殊的线性表&#xff0c;是限…...

读书笔记~管理修炼-缄默效应

缄默效应&#xff1a;学会正确批评下属 员工明明犯了错误&#xff0c;却不及时告知你&#xff0c;总是拖到最后一刻无法弥补时才不得不承认出了问题——你遇到过这样的问题吗&#xff1f; 这其实是缄默效应在发挥作用。 在职场中&#xff0c;即使再扁平化的环境&…...

视频会议系统会前预约模块必须包含哪些功能?

视频会议系统会前预约模块必须包含哪些功能&#xff1f; 视频会议系统的会前预约模块是企业高效管理会议资源、提升会议效率的重要工具。一个完善的会前预约模块必须包含一系列功能&#xff0c;以确保会议的顺利进行和资源的合理分配。以下是对视频会议系统会前预约模块必须包…...

RabbitMQ中的Topic模式

在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个广泛使用的开源消息代理&#xff0c;支持多种消息传递模式&#xff0c;其中 Topic 模式 是一种灵活且强大的模式&#xff0c;允许生产者…...

tslib(触摸屏输入设备的轻量级库)的学习、编译及测试记录

目录 tslib的简介tslib的源码和make及make install后得到的文件下载tslib的主要功能tslib的工作原理tslib的核心组成部分tslib的框架和核心函数分析tslib的框架tslib的核心函数ts_setup()的分析(对如何获取设备名和数据处理流程的分析)函数ts_setup()自身的主要代码ts_setup()对…...

Ubuntu vi(vim)编辑器配置一键补全main函数

1.打开对应的配置文件 vi ~/.vim/snippets/c.snippets 2.按G将光标定位到文件末尾 3.按i进入插入模式 以tab键开头插入下的内容&#xff0c;空行也要加 tab键 4.:wq保存退出 5.再打开任意一个新的 .c文件后&#xff0c;插入模式输入 main 然后按tal键就能补全了...

验证码机制

偶然间看到了验证码机制&#xff0c;顺便总结一下&#xff1a; 首先&#xff0c;验证码是从后端生成的&#xff0c;随机生成&#xff1b; 【后端永远认为前端有可能会被伪造】 1.后端调用相关的绘图第三方类库&#xff0c;或是&#xff08;平台PHP、.NET、java&#xff09;系…...

【CVE-2024-56145】PHP 漏洞导致 Craft CMS 出现 RCE

大多数开发人员都同意,与 15 年前相比,PHP 是一种更加理智、更加安全和可靠的语言。PHP5早期的不良设计已让位于更好的开发生态系统,其中包括类、自动加载、更严格的类型、更理智的语法以及一大堆其他改进。安全性也没有被忽视。 register_globals一些老读者可能还记得和的…...

使用FakeSMTP创建本地SMTP服务器接收邮件具体实现。

以下代码来自Let’s Go further节选。具体说明均为作者本人理解。 编辑邮件模版 主要包含三个template: subject&#xff1a;主题plainBody&#xff1a; 纯文本正文htmlBody&#xff1a;超文本语言正文 {{define "subject"}}Welcome to Greenlight!{{end}} {{def…...

【网络安全】逆向工程 练习示例

1. 逆向工程简介 逆向工程 (RE) 是将某物分解以了解其功能的过程。在网络安全中&#xff0c;逆向工程用于分析应用程序&#xff08;二进制文件&#xff09;的运行方式。这可用于确定应用程序是否是恶意的或是否存在任何安全漏洞。 例如&#xff0c;网络安全分析师对攻击者分发…...

Oracle Database 21c Express Edition数据库 和 Sqlplus客户端安装配置

目录 一. 前置条件二. Win10安装配置Oracle数据库2.1 数据库获取2.2 数据库安装2.3 数据库配置确认2.4 数据库访问 三. Win10配置Oracle数据库可对外访问3.1 打开文件和打印机共享3.2 开放1521端口 四. 端口与地址确认4.1 查看监听器的状态4.2 Win10查看1521端口是否被监听4.3 …...

arcgisPro将面要素转成CAD多段线

1、说明&#xff1a;正常使用【导出为CAD】工具&#xff0c;则导出的是CAD三维多线段&#xff0c;无法进行编辑操作、读取面积等。这是因为要素面中包含Z值&#xff0c;导出则为三维多线段数据。需要利用【复制要素】工具禁用M值和Z值&#xff0c;再导出为CAD&#xff0c;则得到…...

相机内外参知识

已知相机的内外参数矩阵&#xff0c;可以求得相机在世界坐标系下的原点坐标。这里需要理解几个概念&#xff1a; 内参数矩阵&#xff08;Intrinsic Matrix&#xff09;: 描述相机本身的属性&#xff0c;比如焦距、主点位置等。外参数矩阵&#xff08;Extrinsic Matrix&#xf…...

从代币角度介绍solana账户体系

1、solana 的账户概念介绍 Solana的账户体系是其区块链的核心组成部分&#xff0c;它允许数据和价值在链上存储和转移。以下是Solana账户体系的一些关键特点&#xff1a; • 账户模型&#xff1a; • 在Solana上&#xff0c;所有数据都存储在所谓的“账户”中&#xff0c;类似…...

前端引入字体文件

1. 字体下载 阿里矢量图图标库地址 https://www.iconfont.cn/&#xff0c;页面打开后选中&#xff0c;素材库 > 字体库 左侧两个标签页可以切换&#xff0c;右侧放大镜图标可以搜索自己需要的字体 字体预览区域可以自行调整进行字体预览 右上角点击字体包下载&#xff0c;下…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...