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

news2024/11/24 16:53:35

前言

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

下载权重文件

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.coloradmin.cn/o/1591623.html

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

相关文章

【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】

一、token验证过程 用户登录:用户提供用户名和密码进行登录。服务器验证:服务器接收到用户提供的用户名和密码,进行验证。生成token:如果用户名和密码验证通过,服务器会生成一个token,通常包含一些加密的信…

代码随想录阅读笔记-回溯【复原IP地址】

题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201…

最新AI模型与Python技术处理和分析气候数据:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作

本文深度探讨人工智能在大气科学中的应用,特别是如何结合最新AI模型与Python技术处理和分析气候数据。课程介绍包括GPT-4等先进AI工具,旨在帮助大家掌握这些工具的功能及应用范围。课程内容覆盖使用GPT处理数据、生成论文摘要、文献综述、技术方法分析等…

力扣2923、2924.找到冠军I、II---(简单题、中等题、Java、拓扑排序)

目录 一、找到冠军I 思路描述: 代码: 二、找到冠军II 思路描述: 代码: 一、找到冠军I 一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足…

DNF手游攻略:2024新手攻略大全

在《DNF手游》的世界中,前期阶段对于新手玩家来说至关重要。以下是一份综合整理的新手攻略,帮助玩家快速适应游戏并取得进展。 1. 角色建立策略: 在前期,建议玩家建立3个角色,包括1个大号和2个小号。大号可以根据个人喜…

从电子病历(EMRs)构建医学知识图谱

从电子病历 EMRs 构建医学知识图谱 提出背景传统的三元组结构本研究采用的四元组结构第四元作用第四元类型以往的方法本研究的方法 大威天龙八 论文:Real-world data medical knowledge graph: construction and applications 提出背景 本研究在中国一家三甲医院的…

【GD32】MQ-5液化气检测传感器

2.33 MQ-5液化气检测传感器 MQ-5气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(Sno2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为该气体浓度相对应的输出信号。…

ExpressLRS硬件实测性能分析

ExpressLRS硬件实测性能分析 1. 源由2. 远航测试3. 实验室测试3.1 芯片RSSI与实测功率差异3.2 SNR信噪比稳定3.3 140db衰减器衰减,40个频点信号稳定 4. 外场测试4.1 无屏蔽样品4.2 有屏蔽样品4.3 有屏蔽vs无屏蔽样品 5. 估算6. 总结7. 补充说明 -- 50mW视频 1. 源由…

1.3 字符设备驱动

1、字符设备驱动工作原理 2、file_operations结构体 struct file_operations { struct module *owner; //拥有该结构的模块的指针,一般为THIS_MODULES loff_t (*llseek) (struct file *, lof…

【日常记录】【CSS】生成动态气泡小球

文章目录 1、分析2、实现 1、分析 核心有两点&#xff0c;通过这两个不一样就可以实现每个小球的颜色、动画时间不一致 给每个元素都设置一个css 变量 bgc 用于控制每一个小球的颜色给每个元素都设置一个css 变量 duration 用于控制每一个小球的时间 2、实现 <!DOCTYPE ht…

java中的线程通讯和线程池,Callable任务

线程通讯&#xff1a; 在多线程中&#xff0c;某个线程进入“等待状态”时&#xff0c;需要某个线程来唤醒 等待方法&#xff1a; wait()//无线等待 wait(long 毫秒)//计时等待 注意&#xff0c;调用wait方法&#xff0c;会自动释放掉锁资源 处于wait状态只能由其他线程唤醒 唤…

信创产品适配的前因后果

“信创”的本意是指“信息技术应用创新”。这个概念最早来源于“信创工委会”&#xff08;信息技术应用创新工作委员会&#xff09;&#xff0c;一个由24家专业从事软硬件关键技术研究及应用的国内单位&#xff0c;在2016年共同发起成立的非营利性社会组织。近些年来&#xff0…

GitHub repository - commits - branches - releases - contributors

GitHub repository - commits - branches - releases - contributors 1. commits2. branches3. releases4. contributorsReferences 1. commits 在这里可以查看当前分支的提交历史。左侧的数字表示提交数。 2. branches 可以查看仓库的分支列表。左侧的数字表示当前拥有的分…

android studio 网络请求okhttp3、okgo

一、在build.gradle文件里添加 implementation com.squareup.okhttp3:okhttp:4.9.0 implementation com.squareup.okhttp3:okhttp:3.12.0 implementation com.squareup.okio:okio:1.17.4 implementation com.lzy.net:okgo:3.0.4 implementation com.alibaba:fastjson:1.2.57 i…

25、链表-环形链表

思路&#xff1a; 这道题就是判断链表中是否有环&#xff0c;首先使用集合肯定可以快速地解决&#xff0c;比如通过一个set集合遍历&#xff0c;如果遍历过程中有节点在set中已经存在那么说明存在环。 第二种方式就是通过快慢指针方式寻找环。具体思路就是一个慢指针每次直走一…

Android适配平板屏幕尺寸

一、划分手机和平板 人为判断方法: 大于6英寸的就是平板。小于6英寸的都是手机 平板尺寸&#xff1a; 6英寸、7英寸、10英寸、14英寸… Android系统支持多配置资源文件&#xff0c;我们可以追加新的资源目录到你的Android项目中。命名规范&#xff1a; 资源名字-限制符 l…

2024年MathorCup数学建模B题甲骨文智能识别中原始拓片单字自动分割与识别研究解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 B题 甲骨文智能识别中原始拓片单字自动分割与识别研究 原题再现&#xff1a; 甲骨文是我国目前已知的最早成熟的文字系统&#xff0c;它是一种刻在龟甲或兽骨上的古老文字。甲骨文具有极其重要的研究价值&#xff0c;不仅对中国文…

Go程序设计语言 学习笔记 第十一章 测试

1949年&#xff0c;EDSAC&#xff08;第一台存储程序计算机&#xff09;的开发者莫里斯威尔克斯在他的实验室楼梯上攀登时突然领悟到一件令人震惊的事情。在《一位计算机先驱的回忆录》中&#xff0c;他回忆道&#xff1a;“我突然完全意识到&#xff0c;我余生中的很大一部分时…

2024妈妈杯mathorcup数学建模C题 物流网络分拣中心货量预测及人员排班

一、数据预处理 数据清洗是指对数据进行清洗和整理&#xff0c;包括删除无效数据、缺失值填充、异常值检测和处理等。数据转换是指对数据进行转换和变换&#xff0c;包括数据缩放、数据归一化、数据标准化等。数据整理是指对数据进行整理和归纳&#xff0c;包括数据分组、数据聚…

一文读懂Java中的WebEndpointProperties类(附Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 对于Java的相关知识&#xff0c;推荐阅读&#xff1a;java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; 1. 基本知识 Spring Boot 的配置类 WebEndpointProperties&#xff0c;用于配置 Web 端…