首页 > 其他分享 >YOLO-World环境搭建&推理测试

YOLO-World环境搭建&推理测试

时间:2024-05-06 17:33:16浏览次数:16  
标签:ultralytics YOLO results world World model 搭建

一、引子 CV做了这么多年,大多是在固定的数据集上训练,微调,测试。突然想起来一句话,I have a dream!就是能不能不用再固定训练集上捣腾,也就是所谓的开放词汇目标检测(OVD)。偶尔翻翻AI新闻,发现现在CV领域有在卷开集目标检测的趋势。刚好翻到,YOLO-World这一开源项目。OK,让我们开始吧。 二、模型介绍 目标检测一直是计算机视觉中一个长期而基础性的挑战,在图像理解、机器人学和自动驾驶车辆等领域有着众多的应用。随着深度神经网络的发展,大量的研究工作在目标检测领域取得了显著的突破。尽管这些方法取得了成功,但它们仍然有限,因为它们只处理具有固定词汇量的目标检测,例如,COCO 数据集中的80个类别。一旦定义并标记了目标类别,训练出的检测器只能检测那些特定的类别,这样就限制了在开放场景中的能力和适用性。 作者探索了一种“提示后检测”范式,以进一步改进实际场景中开集目标检测的效率。传统的目标检测器专注于固定词汇(封闭集)的检测,这些词汇是预定义且经过训练的类别。而之前的开集检测器则使用文本编码器对用户提示进行编码,以实现在线词汇的检测目标。值得注意的是,这些方法往往采用带有重型 Backbone 网络的大型检测器,例如Swin-L,以增加开集的容量。相比之下,“提示后检测”范式首先对用户的提示进行编码以构建离线词汇,该词汇根据不同的需求而变化。然后,高效的检测器可以在不重新编码提示的情况下即时推理离线词汇。对于实际应用,一旦作者训练了检测器,即YOLO-World,作者可以预先编码提示或类别以构建离线词汇,然后无缝地将其整合到检测器中。 作者的主要贡献可以概括为三个方面: 作者介绍了YOLO-World,这是一个前沿的开集目标检测器,它具有高效率,适用于实际应用场景。 作者提出了一个可重新参数化的视觉-语言PAN模型,用以连接视觉和语言特征,并针对YOLO-World设计了一套开集区域文本对比预训练方案。 YOLO-World在大规模数据集上的预训练展示了强大的零样本性能,在LVIS上达到35.4 AP的同时,还能保持52.0 FPS的速度。预训练的YOLO-World可以轻松适应下游任务,例如,开集实例分割和指代目标检测。此外,YOLO-World的预训练权重和代码将开源,以促进更多实际应用。 三、安装环境 官方YOLO-World是基于mmyolo, mmdetection实现的,但U1S1,mm系列对于入门确实不错,但对于新开源算法上手测试真心难用,听说ultralytics支持YOLO-World了,可以直接通过ultralytics库来玩YOLO-world了使用方式简单到了极致,几行命令即可,还不需要安装一大堆的mm包,不需要编译各种无关op。 拉取镜像 docker pull ultralytics/ultralytics:latest docker run -it --rm -v /datas/work/zzq:/workspace ultralytics/ultralytics:latest bash 四、推理测试 cd /workspace/YOLO-World 1、普通检测

from ultralytics import YOLOWorld  
  
# Initialize a YOLO-World model  
model = YOLOWorld('yolov8s-world.pt')    

# Execute inference with the YOLOv8s-world on the specified image  
results = model.predict('bus.jpg')  
  
# Show results  
results[0].show() 
results[0].save("result.jpg")
python test_yolo_world.py 0 2、行人检测
from ultralytics import YOLOWorld  
  
# Initialize a YOLO-World model  
model = YOLOWorld('yolov8s-world.pt')    

Define custom classes  
model.set_classes(["person"]) 

# Execute inference with the YOLOv8s-world on the specified image  
results = model.predict('bus.jpg')  
  
# Show results  
results[0].show() 
results[0].save("result.jpg")
安装CLIP https://github.com/ultralytics/CLIP pip install ftfy regex tqdm cd CLIP-main pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple python test_yolo_world.py from ultralytics import YOLOWorld # Initialize a YOLO-World model model = YOLOWorld('yolov8s-world.pt') Define custom classes model.set_classes(["person"]) # Execute inference with the YOLOv8s-world on the specified image results = model.predict('bus.jpg') # Show results results[0].show() results[0].save("result.jpg") 运行过程中需要下载模型 0 最终结果: 0  

标签:ultralytics,YOLO,results,world,World,model,搭建
From: https://www.cnblogs.com/nick-algorithmer/p/18175487

相关文章

  • YOLOV8训练自定义数据集
    一、仓库地址YOLOV8二、数据预处理2.1将标注数据按照类别划分到不同的文件目录#单独筛选某一类缺陷importnumpyasnpimportos#shutil:操作多文件或者文件集合(复制、移除等)importshutil#------------------------------------------------------------------##作......
  • m基于Yolov2深度学习网络的螺丝检测系统matlab仿真,带GUI界面
    1.算法仿真效果matlab2022a仿真结果如下:         2.算法涉及理论知识概要        基于YOLOv2(YouOnlyLookOnceversion2)深度学习网络的螺丝检测系统,是一种高效的目标检测方法,它在计算机视觉领域被广泛应用,尤其适合于实时检测和定位图像中的......
  • yum配置及仓库搭建
    yum实现YUM是一个在Linux系统中用于管理软件包的工具,可以在服务器和客户端之间跨网络使用。在这种系统中,服务器上通常会存储软件包(RPM包)和相应的元数据(repodata文件夹中的内容)。RPM包:这些是实际的软件包文件,它们包含了应用程序、库文件、配置文件等。这些包被存储在服务......
  • 搭建自己的博客
    基于github和Hexo搭建自己的博客【摘要】该教程基于个人的虚拟机和个人的GitHub,过程会详细注明对应的安装包的版本。1、搭建hexo环境环境配置本地虚拟机:ubuntu20.4(也可以基于对应的服务器)Hexo搭建步骤1.安装nodejs和npm由于Ubuntu20通过apt安装nodejs默认只能到10.xxx版......
  • 【转载】Godot-GDExtension C++ 环境搭建 (Docker+MinGW/跨平台)
    本文原链接见 Godot-GDExtensionC++环境搭建(Docker+MinGW/跨平台)|Convexwf'sKirakiraBlog。Godot在4.X之后推出了GDExtension,通过第三方绑定扩展功能,目前官方支持的语言只有C++。通过使用GDExtensionC++编写扩展插件,可以作为库文件在Godot中交互使用。GDExten......
  • 接口自动化测试框架搭建的思路
    参数替换的思路为什么替换参数:请求参数不一定全部都是写死的,有可能存在接口之间的数据依赖在Excel中写入特殊标记(如#key#),说明写了特殊标记的地方需要做替换处理读取Excel中的参数,通过正则表达式提取出来需要被替换的key,得到一个list遍历list,根据list中不同的参数,去不同的地方......
  • 【YoloDeployCsharp】基于.NET Framework的YOLO深度学习模型部署测试平台
    1.项目介绍  基于.NETFramework4.8开发的深度学习模型部署测试平台,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等应用场景,同时支持图像与视频检测。模型部署引擎使用的是OpenVINO™、TensorRT、ONNXruntime以及OpenCVDNN,支持CP......
  • 图床搭建(零成本)
    图床搭建(零成本)基于博客园搭建图床,目前最好的,最简便以及无成本的性价比最高的方法前言:使用typora发布博客以及发送给朋友md文档需要打包成压缩包,csdn还无法解码url,于是搭建免费版github+pic图床,但github图床限制1G,超过就会有人工审核,并且传输不稳定,时好时坏七牛虽然高速,但免......
  • Halo博客搭建小记
    准备工作阿里云服务器,操作系统为CentOS7.9.2009x86_64(Py3.7.9)宝塔面板Nginx1.24.0(用于反向代理)已备案的域名ssl证书(https访问)参考官方文档,这里使用DockerCompose进行部署官方文档:使用DockerCompose部署|Halo文档一、安装Docker和DockerCompose1、使用宝......
  • 从零搭建Prometheus监控报警系统
    从零开始搭建Prometheus自动监控报警系统 从零搭建Prometheus监控报警系统什么是Prometheus?Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是GoogleBorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗......