基于YOLOv8,YOLO新作来了!

news/2024/7/10 23:50:00 标签: YOLO, 计算机视觉
  • B站:啥都会一点的研究生
  • 公众号:啥都会一点的研究生
    在这里插入图片描述

本月初,腾讯人工智能实验室发布了real-timeopen-vocabularyzero-shot物体检测模型 YOLO-World旨在提升开放词汇检测能力以及解决现有zero-shot目标检测模型的限制:速度

与其他使用Transformer这种功能强大但速度慢的架构不同的是,YOLO-World基于CNN

paper | https://arxiv.org/abs/2401.17270
code | https://github.com/AILAB-CVC/YOLO-World

我们知道传统的对象检测模型,如 Faster R-CNN、SSD 和 YOLO(老演员了),旨在识别其预定义好的数据集内的对象,如PASCAL、COCO等,这就限制了在与训练数据范围相匹配的场景中的泛化性。要扩展或改变可识别类别集,就必须在为新类别量身定制的数据集上重新训练或微调模型

Open-Vocabulary Object Detection干了啥?

由于fixed-vocabulary 检测器的局限,Open-Vocabulary Object Detection(OVD)模型旨在识别预定义类别之外的物体。如 GLIPGrounding DINO等早期方法,侧重于利用大规模图像文本数据来扩展训练词汇,从而实现对新物体的检测。所要做的就是提示模型并指定要寻找的对象

GroundingDINO“椅子”与“狗尾巴”提示

然而这些早期方法往往体积较大,计算密集度较高,需要同时对图像和文本进行编码以进行预测,带来的延迟会妨碍实际应用

YOLO-World可以在提示中理解上下文以提供检测,不需要在特定类别上训练模型,因为该模型已使用图像文本对(image-text pairs)和基础图像( grounded images)进行了训练,模型学会了如何接受任意提示,例如“穿白衬衫的人”,并将其用于检测

不同对象检测推理范例的比较

YOLO-World 引入了 "先提示后检测 "模式,一种避免实时文本编码的新方法,允许用户生成提示,然后将其编码为离线词汇。通过将一系列用户生成的提示预先编码到离线词汇表中,绕过了实时文本编码的需要,从而实现了更快、适应性更强的检测

YOLO-World模型结构是啥样的?其主要包含三个关键部分

  • YOLO Detector - 基于Ultralytics YOLOv8,从输入图像中提取多尺度特征
  • 文本编码器 - 由OpenAI CLIP预训练的Transformer文本编码器,将文本编码为文本嵌入
  • Re-parameterizable Vision-Language Path Aggregation Network(RepVL-PAN)- 在图像特征和文本嵌入之间执行多级跨模态融合,促进多尺度图像特征与文本嵌入之间的交互。RepVL-PAN 可将用户的离线词汇重新参数化为模型参数,以便快速推理和部署

在这里插入图片描述

YOLO-World 提供三种模型largemediumsmall,在 LVIS 数据集上对模型进行了基准测试,在没有任何性能加速机制(如量化或 TensorRT)的情况下基于 V100 测试了性能。结果表明YOLO-World 的large版本达到了 35.4 AP(52.0 FPS),small版本达到了 26.2 AP(74.1 FPS)

在这里插入图片描述

感兴趣的可在如下地址进一步体验与了解

https://huggingface.co/spaces/stevengrove/YOLO-World

我是啥都生,下次再见~


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

相关文章

【STM32】1.8寸LCD显示实验

目录 一、硬件介绍 1. STM32F03C8T6 2. 1.8寸LCD 二、STM32CubeMX配置 1. 接口配置 ​编辑 2. 其他配置 三、LCD图片取模 1. 打开图片(.bmp格式) 2. 设置 3. 点击保存数组。 4. 将生成的数组复制到lcd_picture.h文件中。 四、代码测试&…

网络爬虫基础(上)

1. 爬虫的基本原理 爬虫就是在网页上爬行的蜘蛛,每爬到一个节点就能够访问该网页的信息,所以又称为网络蜘蛛; 网络爬虫就是自动化从网页上获取信息、提取信息和保存信息的过程; 2. URL的组成部分 URL全称为Uniform Resource L…

springboot访问webapp下的jsp页面

一,项目结构。 这是我的项目结构,jsp页面放在WEB-INF下的page目录下面。 二,file--->Project Structure,确保这两个地方都是正确的,确保Source Roots下面有webapp这个目录(正常来说,应该本来就有&#…

运维:自主编码实现运维自动化的转型之旅

引言 随着业务系统和底层中间件服务的复杂度不断增加,传统手工运维方式面临着诸多挑战和限制。人工编写运维脚本显得非常低效,同时手动执行运维操作存在着巨大风险。在此情况下,推动运维自动化成为运维人员必须落地实施的工作。运维同学如果…

Java面向对象案例之家禽对象Poultry(3)

类主要结构图 抽象类:Poultry(家禽作为父类)子类:Chook(鸡类)、Duck(鸭子类)测试类:PoultryTest 类的方法图 代码示例 /*** 测试类*/ public class PoultryTest {public…

JQuery简介与解析

jQuery是一个快速、小巧、功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax等操作。自从2006年由John Resig创建以来,jQuery已经成为Web开发中最受欢迎的JavaScript库之一。以下是对jQuery的简介和一些关键特性的解析,以及…

js设计模式:组合模式

作用: 可以用来将数据组合成树形的数据,可以像操作单独的对象一样去操作整个树形结构 树是相对复杂的数据,使用组合模式去封装树形的组件,是很重要的,可以对外暴露很多树的操作方法 示例: //一个树型的对象数据class Organ {constructor(label, value, parentName) {this.la…

构造函数,原型,实例,类的关系整理

视频来源js原型链、构造函数和类_哔哩哔哩_bilibili 如视频所说,构造函数的prototype指向原型,实例化的对象的__proto__指向原型,原型通过constructor指向构造函数,正如class里面的constructor方法就相当于Person构造函数一样&am…