YoloV8实战:YoloV8-World应用实战案例

news2024/11/26 0:46:43

摘要

YOLO-World模型确实是一个突破性的创新,它结合了YOLOv8框架的实时性能与开放式词汇检测的能力,为众多视觉应用提供了前所未有的解决方案。以下是对YOLO-World模型的进一步解读:

模型架构与功能

YOLO-World模型充分利用了YOLOv8框架的先进特性,并引入了开放式词汇检测功能。这一创新使得模型能够识别并检测图像中任何由描述性文本指定的物体,无需预先定义对象类别。这一功能使得YOLO-World模型在动态和不确定的场景中具有极高的实用性。

在架构上,YOLO-World模型采用了视觉语言建模和预训练的方法,以优化在大量数据集上的性能。这种方法不仅提高了模型的准确性,还使得模型能够在零拍摄场景中快速识别大量物体。此外,YOLO-World模型还利用了CNN的计算速度,提供了实时的开放词汇检测解决方案,满足了各行业对即时结果的需求。

效率与性能

YOLO-World模型在效率和性能上取得了显著的进步。通过优化算法和降低计算要求,该模型能够在不牺牲性能的前提下,大幅度减少计算和资源需求。这使得YOLO-World模型成为一种可替代其他大型模型(如SAM)的强大工具,但计算成本仅为它们的一小部分。这种优势使得YOLO-World模型在实时应用中具有更高的竞争力。

离线词汇推理

为了进一步提高效率,YOLO-World模型引入了“先提示后检测”的策略。这一策略利用离线词汇嵌入来简化检测过程。具体来说,模型可以使用预先计算的自定义提示(如标题或类别),并将其编码和存储为离线词汇嵌入。在检测时,模型可以直接利用这些嵌入信息,从而避免了实时计算的复杂性,进一步提高了检测速度。

基准测试与应用

在基准测试中,YOLO-World模型展示了出色的速度和效率表现。与现有的开放词汇检测器相比,如MDETR和GLIP系列,YOLO-World模型在速度和效率上都取得了显著的优势。这一优势使得YOLO-World模型在实时应用中具有更高的竞争力。

此外,YOLO-World模型的应用范围非常广泛。它不仅可以用于传统的图像识别和物体检测任务,还可以扩展到更复杂的视觉任务中。与现有方法相比,YOLO-World模型的速度提高了几个数量级,为众多视觉应用带来了新的可能性。
在这里插入图片描述

YOLO-World模型是一个具有突破性创新的实时开放词汇检测模型。它通过结合YOLOv8框架的实时性能和开放式词汇检测能力,为众多视觉应用提供了高效、准确的解决方案。

下载安装CLip

执行命令:

pip install --no-cache "git+https://github.com/openai/CLIP.git"

在这里插入图片描述

下载yolo-world权重

All the YOLOv8-World weights have been directly migrated from the official YOLO-World repository, highlighting their excellent contributions.

模型预训练权重支持的任务推理验证训练导出
YOLOv8s-worldyolov8s-world.ptObject Detection
YOLOv8s-worldv2yolov8s-worldv2.ptObject Detection
YOLOv8m-worldyolov8m-world.ptObject Detection
YOLOv8m-worldv2yolov8m-worldv2.ptObject Detection
YOLOv8l-worldyolov8l-world.ptObject Detection
YOLOv8l-worldv2yolov8l-worldv2.ptObject Detection
YOLOv8x-worldyolov8x-world.ptObject Detection
YOLOv8x-worldv2yolov8x-worldv2.ptObject Detection

按照自己的需求下载预训练权重!

运行

代码如下:

from ultralytics import YOLOWorld

# Initialize a YOLO-World model
model = YOLOWorld('yolov8x-world.pt')  # or select yolov8m/l-world.pt for different sizes

# Execute inference with the YOLOv8s-world model on the specified image
results = model.predict('11.jpg')

# Show results
results[0].show()

初次运行需要下载模型
在这里插入图片描述
识别结果:

11.jpg: 448x640 1 cat, 2 dogs, 1 couch, 20.0ms

效果图:

在这里插入图片描述
YOLO-World 框架允许通过自定义提示动态指定类别,使用户能够根据自己的特定需求定制模型,而无需重新训练。这一功能对于调整模型以适应新领域或特定任务(这些任务最初并不属于训练数据的一部分)尤其有用。通过设置自定义提示,用户基本上可以引导模型关注感兴趣的对象,从而提高检测结果的相关性和准确性。

例如,如果您的应用程序只需要检测 "人 "和 "公共汽车 "对象,您可以直接指定这些类:

from ultralytics import YOLO

# Initialize a YOLO-World model
model = YOLO('yolov8x-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('path/to/image.jpg')

# Show results
results[0].show()

设置自定义类后保存模型。

可以创建一个YOLO-World 模型版本,专门用于您的特定用例。此过程将您的自定义类定义直接嵌入模型文件,使模型无需进一步调整即可与您指定的类一起使用。代码如下:

from ultralytics import YOLO

# Initialize a YOLO-World model
model = YOLO('yolov8s-world.pt')  # or select yolov8m/l-world.pt

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

# Save the model with the defined offline vocabulary
model.save("custom_yolov8s.pt")

保存后,custom_yolov8s.pt 模型的行为与其他预训练的YOLOv8 模型无异,但有一个关键区别:它现在经过优化,只能检测您定义的类别。针对您的特定应用场景,这种定制可以大大提高检测性能和效率。

from ultralytics import YOLO

# Load your custom model
model = YOLO('custom_yolov8s.pt')

# Run inference to detect your custom classes
results = model.predict('path/to/image.jpg')

# Show results
results[0].show()

使用自定义词汇保存的好处:

  • 效率:通过关注相关对象、减少计算开销和加快推理速度,简化检测过程。
  • 灵活性:可使模型轻松适应新的或特殊的检测任务,而无需进行大量的再培训或数据收集。
  • 简单:无需在运行时重复指定自定义类,从而简化了部署,使模型可直接使用其嵌入式词汇。
  • 性能:通过将模型的注意力和资源集中在识别已定义的对象上,提高指定类别的检测准确性。

这种方法为特定任务定制最先进的物体检测模型提供了强有力的手段,使高级人工智能更容易获得并适用于更广泛的实际应用。

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

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

相关文章

剑指offer面试题34:在二叉树中和为某一值的路径

面试题34:在二叉树中和为某一值的路径 题目: LCR 153. 二叉树中和为目标值的路径 - 力扣(LeetCode) 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路…

C语言 - 各种自定义数据类型

1.结构体 把不同类型的数据组合成一个整体 所占内存长度是各成员所占内存的总和 typedef struct XXX { int a; char b; }txxx; txxx data; typedef struct XXX { int a:1; int b:1; …

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:RichText)

富文本组件,解析并显示HTML格式文本。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。该组件无法根据内容自适应设置宽高属性,需要开发者设置显示布局。 子组件 不包含子组…

封装的echarts子组件使用watch监听option失效的问题

项目场景: 我在项目里面封装了一个echarts组件,组件接收一个来自外部的option,然后我用了一个watch函数去监听这个option的变化,option变化之后,销毁,然后再新建一个charts表 碎碎念 问题如标题所示,这篇…

ubuntu 安装 infiniband 和 RoCE 驱动

下载驱动程序 驱动程序地址 https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 安装 安装参考文档 https://docs.nvidia.com/networking/display/mlnxofedv24010331/installing+mlnx_ofed#src-2571322208_InstallingMLNX_OFED-InstallationProced…

十五、计算机视觉-sobel算子

文章目录 前言一、sobel算子的概念二、sobel算子的计算方式三、具体实现 前言 上节课我们学习了梯度的知识,学习了如何去计算梯度,本节我们继续学习计算梯度的方法,本节我们学习使用Sobel算子计算梯度,这与上节课梯度计算方法有所…

Java客户端调用elasticsearch进行深度分页查询 (search_after)

Java客户端调用elasticsearch进行深度分页查询 (search_after) 一. 代码二. 测试结果 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 具体的Search_after解…

科技回顾,飞凌嵌入式受邀亮相第八届瑞芯微开发者大会「RKDC2024」

2024年3月7日~8日,第八届瑞芯微开发者大会(RKDC2024)在福州举行,本届大会以“AI芯片AI应用AloT”为主题,邀请各行业的开发者共启数智化未来。 本届大会亮点颇多,不仅有13大芯片应用展示、9场产品和技术论坛…

28 批量归一化【李沐动手学深度学习v2课程笔记】(备注:这一节讲的很迷惑,很乱)

目录 1.批量归一化 1.1训练神经网络时出现的挑战 1.2核心思想 1.3原理 2.批量规范化层 2.1 全连接层 2.2 卷积层 2.3 总结 3. 代码实现 4. 使用批量规范化层的LeNet 5. 简明实现 1.批量归一化 现在主流的卷积神经网络几乎都使用了批量归一化 批量归一化是一种流行且…

面向对象【static关键字】

文章目录 Java中的static关键字1. 静态变量2. 静态方法的特点3. 静态块4. 静态导入5. 单例模式中的应用 Java中的static关键字 在Java中,static是一个关键字,用于定义类级别的成员,这些成员与类的实例无关。static成员属于类而不是类的实例&…

怎么查看电脑是不是固态硬盘?简单几个步骤判断

随着科技的发展,固态硬盘(Solid State Drive,简称SSD)已成为现代电脑的标配。相较于传统的机械硬盘,固态硬盘在读写速度、稳定性和耐用性等方面都有显著优势。但是,对于不熟悉电脑硬件的用户来说&#xff0…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水下目标检测系统(深度学习模型+UI界面+训练数据集)

摘要:本研究详述了一种采用深度学习技术的水下目标检测系统,该系统集成了最新的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等早期算法进行了性能评估对比。该系统能够在各种媒介——包括图像、视频文件、实时视频流及批量文件中——准确地识别水…

唯众物联网+地理科学交付云南师范大学地理学部教学实验室项目

近日,云南师范大学地理学部教学实验室建设项目顺利交付。该项目的成功落地,标志着物联网技术与地理科学教育的深度融合,为云南师范大学的地理教学提供了全新的教学平台与资源。该项目以物联网技术为核心,结合地理科学的特点&#…

新一代实时数据集成框架 Flink CDC 3.0 —— 核心技术架构解析

本文整理自阿里云开源大数据平台吕宴全关于新一代实时数据集成框架 Flink CDC 3.0 的核心技术架构解析,内容主要分为以下四部分: Flink CDC 演进历程 Flink CDC 3.0 的架构设计 Flink CDC 3.0 的核心实现 未来规划 一、Flink CDC 演进历程 Flink CD…

Web——HTML

一.HTML概述 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。 二.…

相机模型Omnidirectional Camera(全方位摄像机)

1. 背景 大多数商用相机都可以描述为针孔相机,通过透视投影进行建模。然而,有些投影系统的几何结构无法使用传统针孔模型来描述,因为成像设备引入了非常高的失真。其中一些系统就是全方位摄像机。 有几种方法可以制作全向相机。屈光照相机(D…

【Linux】yum及vim

目录 在Linux中安装软件(以centos7为例) Linux中的安装方式 安装的理解 什么是软件包? yum的一般使用流程 Linux开发工具 vi/vim 什么是vi/vim? vim的三大主要模式(实际上还有很多模式,此篇不做介绍…

一款好用的AI工具——边界AICHAT(三)

目录 3.23、文档生成PPT演示3.24、AI文档翻译3.25、AI翻译3.26、论文模式3.27、文章批改3.28、文章纠正3.29、写作助手3.30、文言文翻译3.31、日报周报月报生成器3.32、OCR-DOC办公文档识别3.33、AI真人语音合成3.34、录音音频总结3.35、域方模型市场3.36、模型创建3.37、社区交…

焦点调制网络

摘要 https://arxiv.org/pdf/2203.11926.pdf 我们提出了焦点调制网络(简称FocalNets),其中自注意力(SA)被焦点调制模块完全取代,用于在视觉中建模令牌交互。焦点调制包含三个组件:(…

使用html+css制作一个发光立方体特效

使用htmlcss制作一个发光立方体特效 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Documen…