YOLO | YOLO-World论文详解

news/2024/7/11 1:24:04 标签: YOLO, 人工智能, 深度学习

腾讯出的热气腾腾的论文YOLO-World来啦~

论文:2024.2.2v2_Real-Time Open-Vocabulary Object Detection

代码:AILab-CVC/YOLO-World: Real-Time Open-Vocabulary Object Detection (github.com)

Demo:YOLO-World (yoloworld.cc)

论文详解

简要总结

YOLO-World使用一种名为RepVL-PAN(Pr-parmeteriable Vision-Langeuate Path Aggregation Network)的新网络来促进视觉和语言信息之间的交互,以零样本的方式高效运行。使用开放词汇对象检测更快、更便宜和更广泛可用。YOLO-World保持几乎相同的精度,比之前好的零样本检测器快20倍,小了5倍。

摘要

You Only Look Once (YOLO) 系列探测器已成为高效实用的工具。但是,它们对预定义和训练的对象类别的依赖限制了它们在开放场景中的适用性。为了解决这一局限性,论文引入了YOLO-World,这是一种创新方法,通过视觉语言建模和大规模数据集上的预训练,增强了YOLO的开放词汇检测能力。具体来说,论文提出了一种新的可重参数化的视觉-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失,以促进视觉和语言信息之间的交互。擅长以零样本方式高效检测各种物体。在具有挑战性的LVIS数据集上,YOLO-World在V100上实现了35.4 AP,FPS为52.0 FPS,在准确性和速度方面都优于许多最先进的方法。此外,经过微调的YOLO-World在多个下游任务上取得了卓越的性能,包括对象检测和开放词汇实例分割。

方法

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

传统的YOLO系列(例如YOLOv5,YOLO6,YOLO7,YOLO8),需要有bounding box有instance annotation去训练,但YOLO-World 同时采用图像  和文本 (一组名词)作为输入,输出预测的边界框  及其对应的目标嵌入

模型架构

YOLO-WORLD的骨干采用了YOLO的现有结构,语言模型采用了CLIP模型。使用文本和图像特征中的特征通过区域到文本对比学习连接到 RepVL-PAN。YOLO检测将图像-文本数据集成到区域-文本对中。

YOLO检测器(YOLO Detector)

  • 基于 Ultralytics YOLOv8;
  • 从输入影像中提取多尺度要素。
  • 暗网骨干作为图像编码器
  • 多尺度特征金字塔的路径聚合网络(PAN),
  • head 用于边界框回归和对象嵌入。

文本编码器(Text Encoder):

  • 使用CLIP 预训练的 Transformer 文本编码器;
  • 将文本编码为文本嵌入

文本对比头(Text Contrastive Head)

  • 使用了yolov8的解耦头和俩个3×3卷积
  • 因为要计算目标-文本的相似度,所以提出文本对比头
  • 为了稳定区域-文本训练,目标编码e和文本编码t使用L2-Norm

在线词汇训练(Training with Online Vocabulary)

  • 在训练过程中,为每个包含4幅图像的马赛克样本构建一个在线词汇表 。

离线词汇推理​​​​​​​(Inference with Offline Vocabulary)

  • 提出了一种以“提示后检测”的策略,使用离线词汇以进一步提高效率。

可重新参数化的视觉语言路径聚合网络 (RepVL-PAN)

 - 在图像特征和文本嵌入之间执行多级跨模态融合

  • 提出RepVL-PAN的结构:PAN中的自顶向下和自底向上的路径,建立具有多尺度图像特征的特征金字塔。
  • 提出了文本引导的CSPLayer(T-CSPLayer)和图像池化注意力(I-Pooling Attention),以进一步增强图像特征与文本特征之间的交互,这可以提高开集能力的视觉语义表示。
  • 在推理过程中,离线词汇嵌入可以重新参数化为卷积层或线性层的权重以进行部署。

与传统的YOLO检测器相比,YOLO-World是一个开放的词汇检测器,它使用文本作为输入,而文本编码器首先将输入文本编码为嵌入。然后,图像编码器将输入图像编码为多层图像特征,RepVL-PAN对图像和文本特征进行多层跨模态融合。最后,YOLO-World 预测与输入文本中出现的类别或名词匹配的校准边界框和对象嵌入。

YOLO-World提供三种型号:小型13M(重新参数化77M),中型29M(重新参数化92M)和大型48M(重新参数化110M)参数。

在LVIS数据集上对模型进行了基准测试,YOLO-World达到了35.4 AP和52.0 FPS之间的大版本和26.2 AP和74.1 FPS的小版本。

参考文献

【1】YOLO-World: Real-Time, Zero-Shot Object Detection (roboflow.com)

【2】[Paper Review] YOLO-World: Real-Time Open-Vocabulary Object Detection 리뷰 (velog.io) 

【3】 拯救大兵YOLO!爆款YOLO-World :开集检测速度提升20倍!-CSDN博客


http://www.niftyadmin.cn/n/5377849.html

相关文章

Node.js开发-path模块

path模块 path 模块提供了 操作路径 的功能,将介绍如下几个较为常用的几个 API: API说明path.resolve拼接规范的绝对路径 常用path.sep获取操作系统的路径分隔符path.parse解析路径并返回对象path.basename获取路径的基础名称path.dirname获取路径的目…

尚硅谷最新Node.js 学习笔记(三)

目录 六、Node.js 模块化 6.1、介绍 什么是模块化与模块? 什么是模块化项目? 模块化好处 6.2、模块暴露数据 模块初体验 暴露数据 6.3、导入(引入)模块 6.4、导入模块的基本流程 6.5、CommonJS规范 七、包管理工具 7…

尚硅谷最新Node.js 学习笔记(四)

目录 八、express框架 8.1、express介绍 8.2、express使用 express下载 express初体验 8.3、express路由 什么是路由? 路由的使用 获取请求参数 获取路由参数 8.4、express响应设置 8.5、express中间件 什么是中间件? 中间件的作用 中间件…

蓝桥杯刷题--python-6

0最大距离 - 蓝桥云课 (lanqiao.cn) n=int(input()) nums=list(map(int,input().split()))max_=float(-inf) for i in range (n):for j in range (i+1,n):tmp=abs(i-j)+abs(nums[i]-nums[j])max_=max(tmp,max_) print(max_) 0最长递增 - 蓝桥云课 (lanqiao.cn) import os im…

Python dict函数

Python中的字典(dict)是一种非常重要且灵活的数据结构,它提供了键值对的存储和访问机制。字典函数(dict())作为创建字典的工具之一,可以从多种数据结构中创建字典对象。在本文中,将深入探讨dict…

HTML5 Canvas与JavaScript携手绘制动态星空背景

目录 一、程序代码 二、代码原理 三、运行效果 一、程序代码 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>星空背景</title> </head> <body style"overflow-x:hidden;"><canvas …

【解决(几乎)任何机器学习问题】:超参数优化篇(超详细)

这篇文章相当长&#xff0c;您可以添加至收藏夹&#xff0c;以便在后续有空时候悠闲地阅读。 有了优秀的模型&#xff0c;就有了优化超参数以获得最佳得分模型的难题。那么&#xff0c;什么是超参数优化呢&#xff1f;假设您的机器学习项⽬有⼀个简单的流程。有⼀个数据集&…

18.谈谈你对JSON的理解

JSON 是一种基于文本的轻量级的数据交换格式。它可以被任何的编程语言读取和作为数据格式来传递。 在项目开发中&#xff0c;使用 JSON 作为前后端数据交换的方式。在前端通过将一个符合 JSON 格式的数据结构序列化为 JSON 字符串&#xff0c;然后将它传递到后端&#xff0c;后…