YOLO-World: Real-Time Open-Vocabulary Object Detection 简介+安装+运行+训练(持续更新)

前言

YOLO_WORLD太牛了!!众所周知,传统是视觉目标检测一旦训练好后,如果我们需要增加新的识别目标的话,必须得重新训练模型。在生产中如果经常要新增检测目标,对时效性影响很大,而且随着数据量和种类增多,训练时长不可避免增加。
现在YOLO_WORLD提供了一个新玩法。只需修改目标名称,在不重新训练模型的情况下,可以识别到新的物体。并且其识别速度还是YOLOv8的20倍!!!

在这里插入图片描述
备注:以下为个人见解。如有错误,欢迎指出!!Thanks♪(・ω・)ノ

模型简介

一、该模型思路

主干特征网络使用CNN会比Transform架构轻量化许多。YOLO中yolohead的分类器和方框定位中,对分类器进行非常有意思的修改,参考多模态大模型的实现的图文对齐,使其分类器那块不再是每个框的概率,而是变成每个框的特征向量。即每个检测框都有自己的特征向量,通过比对最接近文本类里距离最近的文本特征向量来判断该检测框的类别。

二、大致流程如下:

不用担心文本embedding和图像embedding的问题,大佬们已经对齐啦~~
1、人输入想要检测目标文本(建议不要太口语化)。
2、Text Encoder 切割文本分好类型。
3、文本Embedding把各个类型转成对应特征向量。
4、传入检测图片。
5、YOLO Backbone:模型图片提取特征。
6、Vison-Language:视觉信息和语言信息进行联合处理和分析。
7.1、检测框内图像信息的特征向量通过和文本类向量比对获取相似度最大的。
7.2、检测框坐标数据
在这里插入图片描述

安装流程

为了方便个人建议直接使用ultralytics版本的yolo-world,超级简单。
官方详细教程地址

https://docs.ultralytics.com/models/yolo-world/#set-prompts

下载ultralytics

pip intstall -i https://pypi.tuna.tsinghua.edu.cn/simple  ultralytics==8.1.44

下载权重文件

https://github.com/ultralytics/assets/releases/download/v8.1.0/yolov8l-world.pt

执行以下代码

from ultralytics import YOLO

# Initialize a YOLO-World model
model = YOLO('yolov8s-world.pt的路径')  # or choose yolov8m/l-world.pt

# Define custom classes
model.set_classes(["person", "bus"])# 你要识别的类写英文哦~~

# Execute prediction for specified categories on an image
results = model.predict('图片地址')

# Show results
results[0].show()

怎么样是不是超短实现。

注意第一运行可能会有点卡,因为有些包要自动安装,如果网太卡的话,建议全局~~
在这里插入图片描述

训练

待更新~

个人对该模型的展望(纯属个人臆想,不喜勿喷)

问题:虽然模型通过embedding实现文本和检测框,那就会遇到一个问题。如果想要描述的目标受限于我们个人表述能力不足导致模型无法检测到该目标(也就是还不够便利)。
个人思路:相信不少人玩过stable diffusion这个AI生图的软件吧,我们是否可以借鉴那个图生文的思路,让相关embedding模型识别并生成用户框定目标的名称。理论上,这将进一步降低大家的使用门槛~

接下来就看哪些大佬能实现了O(∩_∩)O~

在这里插入图片描述

问题总结

待更新

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

4G/5G布控球/移动执法仪/智能单兵电力巡检远程视频智能监控方案

一、背景与需求 随着科技的不断进步,视频监控技术已成为电力行业不可或缺的一环。电力行业的巡检及建设工作,因施工现场在人迹罕见的野外或山区,地形复杂多变,安全更是重中之重,现场工作的视频图像需实时传回监管中心…

公司电脑可以监控上网记录吗

电脑和网络已成为企业日常运营不可或缺的工具。然而,这也带来了一系列的安全和管理挑战。 特别是在员工上网行为方面,如何确保工作效率、信息安全和合规性成为了企业关注的重要问题。 在这样的背景下,许多企业考虑使用上网行为监控软件来管理…

cesium加载高层级离线影像地图瓦片(天地图、19级Arcgis)

实际加载效果如图: 1、下载离线地图瓦片方式(多种任选其一,个人倾向于Qgis工具): 方式1、采用第三方下载工具如:91卫图、水经注、全能电子地图下载器、bigemap等等。(这些有的下载层级不够&…

C#通用类库封装实战

数据库查询 特性方式获取数据库列的别名 数据库更新 使用简单工厂配置的方式

浅析MySQL 8忘记密码处理方式

对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净。在操作系统…

YOLOV9目标检测-训练、验证、推理

目录 一、模型介绍 1.1摘要 1.2模型概要 1.2.1Programmable Gradient Information (1)Auxiliary Reversible Branch (2)Multi-level Auxiliary Information 1.2.2Generalized ELAN 二、环境配置 三、数据集准备 四、预训练权重下载 五、训练 六、模型评估 ​七、模…

图论:一文教你读懂常见的图遍历算法

一文教你读懂常见的图遍历算法 深度优先搜索(DFS): 从一个起始节点开始,访问该节点并将其标记为已访问。递归地访问所有与当前节点直接相连且未被访问过的节点。重复上述步骤,直到所有节点都被访问过或没有未访问的节…

【分享 网络墙测试】检测当前网络是否能用于其他平台,速度检测

文章日期:2024.04.17 类型:软件分享 兼容:win10 / win11 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法&#xff09…

为什么科拓停车选择OceanBase来构建智慧停车SaaS应用

本文来自OceanBase的客户——拓客停车的实践分享 科拓停车简介与业务背景 作为智慧停车行业的佼佼者,科拓停车致力于提供全方位的智慧停车解决方案。服务涵盖车场运营管理、互联网智慧停车平台以及停车场增值服务等。通过不断研发创新,打造出了多样化的…

国内最具有影响力的三个 3D 视觉方向平台!

3D视觉工坊 我的朋友创办的「3D视觉工坊」公众号,由多名名校硕博士和大厂算法工程师共同运营,博主及合伙人参与研发过多种3D视觉产品,包括割草机、自动驾驶、工业3D相机等,有着非常丰富的落地经验。主要专注于3D高斯、工业3D视觉…

【Excel2LaTeX】复杂表格制作的解决方案

刚开始用LaTeX写论文,遇到的第一道坎就是绘制表格,较小的普通表格可以通过简单的语法实现,但是较大的复杂的表格却让我无从下手。 Excel2LaTeX插件 这里介绍一种我用到非常顺手的工具:Excel2LaTeX插件,下载地址&#x…

SSH协议的优缺点

SSH(Secure Shell)是一种用于在计算机网络上进行安全远程访问和执行命令的协议。提供加密通信通道,防止敏感信息在传输过程中被窃听或篡改。SSH还支持文件传输和端口转发等功能,使其成为广泛使用的安全远程管理工具。 1. 安全远程…

对桥接模式的理解

目录 一、背景二、桥接模式的demo1、类型A(形状类型)2、类型B(颜色类型)3、需求:类型A要使用类型B(如:红色的方形)4、Spring的方式 一、背景 在《对装饰器模式的理解》中&#xff0…

MySQL 基础使用

文章目录 一、Navicat 工具链接 Mysql二、数据库的使用1.常用数据类型2. 建表 create3. 删表 drop4. insert 插入数据5. select 查询数据6. update 修改数据7. delete 删除记录truncate table 删除数据 三、字段约束字段1. 主键 自增delete和truncate自增长字段的影响 2. 非空…

CS学习(九)—— 分支实现

if-else 18&#xff1a;若y<x&#xff0c;跳转L2 22&#xff1a;否则&#xff0c;跳转L3。 goto 可见&#xff0c;与if-else类似。但是用goto很low。 条件表达式 又是与if类似&#xff0c;那有没有区别&#xff1f; 当然&#xff0c;条件表达式两个式子都会计算&…

html、css、京东移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示

CSDN将我上传的免费资源私自变成VIP专享资源&#xff0c;且作为作者的我不可修改为免费资源&#xff0c;不可删除&#xff0c;寻找客服无果&#xff0c;很愤怒&#xff0c;&#xff08;我发布免费资源就是希望大家能免费一起用、一起学习&#xff09;&#xff0c;接下来继续寻找…

Leetcode 15. 三数之和(暴力->双指针)

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 示例 1…

git clone报错:error invalid path ‘dorisdockerthirdpartiesdocker-composexxxx‘

git clone报错&#xff1a;error: invalid path ‘doris/docker/thirdparties/docker-compose/xxxx’ 在周日晚上&#xff0c;我尝试从GitHub上克隆Doris的代码库&#xff0c;以便进行学习。在使用IntelliJ IDEA进行克隆时&#xff0c;我遇到了一个Git错误。具体操作如下&…

UbuntuServer22.04安装docker

通过ubuntuserver安装docker是搭建开发环境最便捷的方式之一。下面介绍一下再ubuntu22.04上如何安装docker。相关内容参考官网链接&#xff1a;Install Docker Engine on Ubuntu 根据官网推荐&#xff0c;利用apt命令的方式安装&#xff0c;首先需要设置docker仓库&#xff0c…

✌粤嵌—2024/4/3—合并K个升序链表

代码实现&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* merge(struct ListNode *l1, struct ListNode *l2) {if (l1 NULL) {return l2;}if (l2 NULL) {return l1;}struct Lis…