YOLO-World——S(cvpr2024)

news2024/11/23 3:38:21


文章目录

  • Abstract
    • 成果
  • Method
    • Pre-training Formulation: Region-Text Pairs
    • Model Architecture
      • YOLO Detector
      • Text Encoder
      • Text Contrastive Head
      • Training with Online Vocabulary
      • Inference with Offline Vocabulary
    • Re-parameterizable Vision-Language PAN
      • Text-guided CSPLayer
      • Image-Pooling Attention
    • Pre-training Schemes
      • Learning from Region-Text Contrastive Loss
      • Pseudo Labeling with Image-Text Data
  • Experiment

原文
代码

Abstract

YOLO系列检测器对预定义和训练对象类别的依赖限制了它们在开放场景中的适用性。(简单来说就是一旦对象类别被定义和标记,经过训练的检测器只能检测到那些特定的类别)为了解决这个限制,作者提出了YOLO-World——通过视觉语言建模和大规模数据集的预训练,增强了YOLO的开放词汇检测能力
具体来说,作者提出了一种新的可重参数化视觉-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失,以促进视觉和语言信息之间的交互。

成果

在具有挑战性的LVIS数据集上,YOLO-World在V100上实现了35.4 AP和52.0 FPS,在精度和速度方面都优于许多最先进的方法。此外,微调YOLO-World在目标检测和开放词汇实例分割等几个下游任务上取得了显著的性能

Method

Pre-training Formulation: Region-Text Pairs

以往的目标检测方法实例注释是Ω={Bi,ci},由边界框{Bi}和类别标签{ci}组成。本文中,作者将实例注释重新表述为区域-文本对Ω= {Bi,ti},ti是区域Bi的对应文本,可以是类别名称、名词短语或对象描述。此外,YOLO-World同时采用图像I和文本T作为输入,输出预测框{bk}和对应的目标嵌入{ek} (ek∈RD)

Model Architecture


它由一个YOLO检测器、一个文本编码器和一个可重新参数化的视觉语言路径聚合网络(RepVL-PAN)组成。
文本编码器将输入文本转换为文本嵌入,图像编码器(也就是YOLO Backbone)从输入图像中提取多尺度特征,然后利用RepVL-PAN通过利用图像特征和文本嵌入之间的跨模态融合来增强文本和图像的表示,最后YOLO-World预测回归的边界框和目标嵌入,以匹配输入文本中出现的类别或名词

YOLO Detector

主要是基于YOLOv8开发的,它包含了一个Darknet骨架作为图像编码器,一个用于多尺度特征金字塔的路径聚合网络(PAN),以及一个用于边界盒回归和对象嵌入的头部

Text Encoder

给定文本T,采用CLIP预训练的Trans- former文本编码器提取相应的文本嵌入W = TextEncoder(T)∈RC×D,其中C是名词的数量,D是嵌入维度。
当输入文本为标题或引用表达式时,采用简单的n-gram算法提取名词短语,然后将其输入文本编码器。

Text Contrastive Head

作者采用解耦头部和两个3×3卷积来回归边界框{bk}Kk=1和对象嵌入{ek}K k =1,其中K表示对象的数量,提出了一个文本对比头来获得对象-文本相似度sk,j
将文本嵌入ek与分类器权重wj之间的相似度定义为它们的L2范数的乘积,并加入了具有可学习缩放因子α和移位因子β的仿射变换
(L2范数和仿射变换对于稳定区域文本训练都很重要)

Training with Online Vocabulary

在训练过程中,作者为每个包含4张图像的Mosaic样本构建一个在线词汇T。具体来说,对拼接图像中涉及的所有正面名词进行抽样,并从相应的数据集中随机抽样一些负面名词,每个Mosaic样本的词汇表最多包含M个名词,M被默认设置为80

Inference with Offline Vocabulary

在推理阶段,作者提出了一种基于离线词汇的“提示-然后检测”策略,以提高推理效率。如图3所示,用户可以定义一系列自定义提示,其中可能包括标题或类别。然后,利用文本编码器对这些提示进行编码,并获得离线词汇嵌入。离线词汇表允许避免对每个输入进行计算,并提供根据需要调整词汇表的灵活性。

Re-parameterizable Vision-Language PAN

提出的RepVL-PAN采用文本引导CSPLayer(T-CSPLayer)将语言信息注入图像特征,并采用图像池化注意力(I-Pooling Attention)增强图像感知文本嵌入

本文提出的RepVL-PAN遵循文献自顶向下和自底向上的路径,通过多尺度图像特征{C3,C4,C5}建立特征金字塔{P3,P4,P5}。此外,本文还提出了文本引导的CSP层(T-CSPLayer)和图像池化注意力(I-Pooling Attention),以进一步增强图像特征和文本特征之间的交互,从而提高开放词汇表的视觉语义表示能力。在推理过程中,离线词汇嵌入可以重新参数化为卷积层或线性层的权重,以便部署。

Text-guided CSPLayer

扩展了CSPLayer,将文本引导纳入多尺度图像特征,形成文本引导CSPLayer
具体来说,给定文本嵌入W和图像特征Xl∈RH×W×D (l∈{3,4,5}),作者采用最后一个黑瓶颈块后的max-sigmoid关注将文本特征聚合为图像特征:
Xl '与跨阶段特征连接作为输出, δ表示sigmoid函数

Image-Pooling Attention

为了利用图像感知信息增强文本嵌入,作者通过提出图像池关注聚合图像特征来更新文本嵌入
作者不是直接在图像特征上使用交叉关注,而是利用多尺度特征上的最大池化来获得3 × 3区域,从而得到总共27个tokenX ~ ∈R27×D

Pre-training Schemes

Learning from Region-Text Contrastive Loss

给定马赛克样本I和文本T,YOLO-World输出K个对象预测{ Bk,sk} Kk=1,以及注释Ω= { Bi,ti} Ni=1。遵循YOLOv8,并利用任务对齐标签分配将预测与地面真实性注释匹配,并为每个正预测分配一个文本索引作为分类标签基于这个词汇表,我们通过对象-文本(区域-文本)相似性和对象-文本分配之间的交叉熵,构建了区域-文本对的区域-文本对比损失Lcon。此外,我们采用IoU损失和分布式焦点损失进行边界盒回归,并将总训练损失定义为

λI为指示因子,当输入图像I来自检测或接地数据时设为1,当输入图像I来自图像-文本数据时设为0

Pseudo Labeling with Image-Text Data

作者提出了一种自动标记方法来生成区域文本对,而不是直接使用图像文本对进行预训练
包含三个步骤:
(1)名词短语提取:首先利用n-gram算法从文本中提取名词短语
(2)伪标注:采用预训练的开放词汇检测器,为每张图像的给定名词短语生成伪框,从而提供粗糙的区域-文本对
(3)过滤:使用预训练的CLIP来评估图像-文本对和区域-文本对的相关性,并过滤低相关性的伪注释和图像

Experiment

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaSE 有这一篇就够(呕心狂敲41k字,只为博君一点赞!)

目录 一. 基础语法 1. 数据类型 2. 基本数据类型转换 3. 运算符 3. 循环语句 5. 定义方法 6. 数组 二. 面向对象 1. 类和对象 2. 构造方法 3. 方法的重载 4. this关键字 5. static关键字 6. 代码块 7. 访问权限修饰符 8. 面向对象的三大特征 封装 继承…

开关到模拟量全覆盖钡铼IOy系列模块集成热电阻、热电偶等传感器

钡铼IOy系列模块作为一种创新的工业自动化解决方案,以其灵活的自由拼接设计和丰富的接口类型,在工业级DI/DO/AI/AO集成方案中扮演着重要角色。其中,其在集成热电阻、热电偶等传感器方面的能力更是为工业控制系统带来了全新的可能性。 开关到…

BNB链融合

BNB Chain融合 BNB Chain目前有BNB智能链(BSC),BNB信标链 BNB信标链:用作质押和投票的治理层,采用BEP-2代币标准BNB智能链(BSC):用作EVM兼容层,提供DApp、DeFi服务、共识层、多链支持和其他Web3…

NVIDIA NCCL 源码学习(十四)- NVLink SHARP

背景 上节我们介绍了IB SHARP的工作原理,进一步的,英伟达在Hopper架构机器中引入了第三代NVSwitch,就像机间IB SHARP一样,机内可以通过NVSwitch执行NVLink SHARP,简称nvls,这节我们会介绍下NVLink SHARP如…

EasyExcel追加写入数据,分批查询多次写入场景下,注意使用方式【OOM警告】

使用.withTemplate(file) 将临时数据文件和真实数据文件合并的方式,在生产环境大批量数据下,完全不可取,有很高的内存溢出风险 伪代码 public static void writeAppend(String fileName) {String filePath "tempDir".concat(Fil…

linux_python源码安装及基础设置odoo安装

python源码安装及基础设置 1、资源下载2、源码安装3、 yum安装pip4、pip安装虚拟环境1、安装虚拟环境库2、配置环境变量3、创建自己的虚拟环境 5、安装升级pip的两种方式1、get-pip.py升级2、安装源码升级 6、odoo部署 1、资源下载 python3.13 python版本库 2、源码安装 yum…

5款开源、美观、强大的WPF UI组件库

前言 经常看到有小伙伴在DotNetGuide技术社区微信交流群里提问:WPF有什么好用或者好看的UI组件库?,今天大姚给大家分享5款开源、美观、强大、简单易用的WPF UI组件库。 WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面…

C++-结构体-指针-地址-指针的指针-地址的地址

经验证&#xff0c;仿真结果与预期一致。 #include <QDebug> struct test_years {int year;};//定义结构体 int main() {//定义三个结构体&#xff0c;s01,s02,s03test_years s01,s02,s03;s01.year 1000;//给s01结构体中year赋值s02.year 2000;//给s02结构体中year赋值…

OpenHarmony实战开发-Web自定义长按菜单案例。

介绍 本示例介绍了给Webview页面中可点击元素&#xff08;超链接/图片&#xff09;绑定长按/鼠标右击时的自定义菜单的方案。 效果预览图 使用说明 长按Web页面中的图片或者链接元素&#xff0c;弹出自定义的Menu菜单&#xff0c;创建自定义的操作&#xff0c;如复制图片、使…

如何使用 Cloudflare 和 Mailgun 设置自定义电子邮件

作为一名软件工程师&#xff0c;您可能考虑拥有一个专业的电子邮件账户&#xff0c;以及自己的网站&#xff0c;比如 “infoexample.com”. 但这可能会花费一定金额&#xff0c;您可能不愿意支付。 但您知道您可以免费做到吗&#xff1f;事实上&#xff0c;有一种方法可以做到…

牛客2024 【牛客赛文X】春招冲刺 ONT34 加油站【中等 贪心 C++、Java、Go、PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/a013a0691a0343aeb262ca1450d2fe4e 思路 贪心&#xff1a; 如果总的gas小于走完全程的cost&#xff0c;直接返回-1不需要再找了 如果确保了可以走完一圈之后&#xff0c;那么从index 0开始找&#xff0c; 当g…

lua 环境安装

下载地址&#xff1a; https://luabinaries.sourceforge.net/download.html 安装环境变量 检查一下是否安装成功&#xff0c;有版本号&#xff0c;打印一句话&#xff0c;如下表示成功 idea 安装插件&#xff0c;方便编写lua脚本 配置一下idea 运行测试 local function m…

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台级联时,下级平台未发流是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

破解费用管理迷局,企业费用管理从不止于报销

数字化变革浪潮下&#xff0c;各种企业费用报销软件如雨后春笋般不断涌现&#xff0c;企业报销效率大幅提升&#xff0c;部分财务处理流程得到固化和优化&#xff0c;报销早已不再是企业费时费力的财务难题。那么&#xff0c;企业费用管里如何实现呢&#xff1f; 企业费用贯穿于…

免费在线OCR识别工具TextIn Tools,开启智能学习新时代

传统的学习方式&#xff0c;笔记必须手写摘抄&#xff1b;带字照片只能插入文档&#xff1b;PDF转换要花钱买会员…… 而在线OCR识别工具tools.textin.com&#xff0c;既好用又免费&#xff0c;它不仅仅具有文字和表格识别工具&#xff0c;还包含PDF转文件等工具&#xff0c;能…

JSON驱动的动态SQL查询:实现灵活条件筛选的查询

当我们构建动态 SQL 查询功能时&#xff0c;需要考虑到安全性和灵活性的平衡。本文将讨论如何通过 JSON 数据和 FreeMarker 模板构造动态 SQL 查询&#xff0c;以及如何减少 SQL 注入的风险。 JSON 数据与动态 SQL JSON 是一种常用的数据交换格式&#xff0c;它的灵活性和易读…

正则表达式(Regular Expression)

正则表达式很重要&#xff0c;是一个合格攻城狮的必备利器&#xff0c;必须要学会&#xff01;&#xff01;&#xff01; &#xff08;参考视频&#xff09;10分钟快速掌握正则表达式&#xff08;奇乐编程学院&#xff09;https://www.bilibili.com/video/BV1da4y1p7iZ在线测试…

07.QT信号和槽-2

一、自定义信号和槽 在Qt中&#xff0c;允许⾃定义信号的发送⽅以及接收⽅&#xff0c;即可以⾃定义信号函数和槽函数。但是对于⾃定义的信号函数和槽函数有⼀定的书写规范。 1.基本语法 1.1 自定义信号 &#xff08;1&#xff09;⾃定义信号函数必须写到"signals"…

GCC/G++详解

文章目录 GCC/G编译gcc是如何完成的预处理编译汇编链接 编译流程 GCC/G 编译 C语言源文件可以使用gcc和g编译&#xff08;优先选择gcc&#xff09; gcc test.c -o mybin / gcc -o mybin test.c 基于test.c文件生成可执行程序mybing tes.c -o mybin / g -o mybin test.c 基于te…

【C语言】多字节字符、宽字符(涉及字符集和编码)

字符集、编码&#xff1a; 字符集&#xff1a;一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称&#xff0c;包括各国家文字、标点符号、图形符号、数字等。例如&#xff1a;ASCII、Unicode、GB2312、GBK、GB18030、BIG5(繁体中文) ... 编码方式&#xff1a;符号…