2 YOLO8的使用

news2024/9/22 19:43:38

1 介绍 

        YOLOv8是YOLO (You Only Look Once) 目标检测模型系列的最新版本,由Ultralytics公司开发和维护。YOLOv8是在先前版本的基础上进行的重大更新,不仅提升了性能,还增加了更多的功能,它不仅能够进行目标检测,还能完成实例分割、姿态估计、跟踪和图像分类等多种计算机视觉任务。由于其高效性和多功能性,YOLOv8在多个行业和领域都有广泛的应用

YOLOv8的主要特点

  1. 无锚框(Anchor-Free)

    • YOLOv8抛弃了之前版本中使用的锚框(anchor boxes),这有助于简化模型,并可能提高检测速度和准确性。
  2. 统一框架

    • 提供一个统一的框架来执行目标检测、实例分割等多种任务,这意味着用户可以使用相同的代码库进行不同的计算机视觉任务。
  3. 新的骨干网络

    • YOLOv8采用了新的网络结构,这有助于提高模型的检测精度和速度。
  4. 多尺度特征融合

    • 通过融合不同层次的特征来提高模型对不同大小物体的检测能力。
  5. 改进的特征提取

    • 包括更复杂的网络架构和更优化的训练流程,从而增强特征提取能力。
  6. 新的激活函数和Attention机制

    • 通过采用新的激活函数和注意力机制来改善模型的表现力。
  7. 灵活的训练和部署

    • 可以在大型数据集上进行训练,并且能够在各种硬件平台上运行,包括CPU和GPU。
  8. 支持多种任务

    • YOLOv8不仅可以进行目标检测,还可以进行实例分割、图像分类、姿态识别和跟踪等任务。

以下是一些主要的应用场景:

目标检测

  • 安防监控:实时监测并识别出异常行为或入侵者。
  • 交通监控:检测道路上的车辆、行人以及其他障碍物,用于智能交通系统的管理。
  • 零售分析:监控顾客流量,分析顾客行为,提高店铺布局效率。
  • 自动化生产线:检测产品缺陷,确保产品质量控制。
  • 无人机应用:用于无人机上的目标检测,如农田监测、野生动物保护等。

实例分割

  • 医疗图像分析:精确地分割出医学图像中的特定组织或器官,辅助医生进行诊断。
  • 农业领域:作物健康状况评估,病虫害监测。
  • 工业检测:精细地检测零件表面的瑕疵或损伤。

图像分类

  • 自动图像排序:根据图像内容进行分类和组织。
  • 内容发现与推荐系统:基于图像内容推荐相关的产品或服务。

姿态估计

  • 体育分析:分析运动员的动作和姿势,帮助教练和运动员提高训练效果。
  • 人机交互:识别人体姿态,实现手势控制等交互方式。
  • 动作识别:用于视频游戏、虚拟现实和增强现实等应用中的用户动作识别。

跟踪

  • 自动驾驶:追踪道路上的动态对象,如行人、车辆等。
  • 视频监控:持续跟踪特定个体或物体。

其他应用场景

  • 机器人导航:为机器人提供环境感知能力,帮助它们避开障碍物。
  • 仓库管理:自动识别和定位货物,提高物流效率。
  • 质量控制:在制造过程中快速识别不合格产品。
  • 无人机巡检:用于电力线路巡检、建筑物检查等。

 2 目标检测简单的案例

数据集的准备:

2.1 准备自己的数据

        基于labelme进行制造自己的训练数据。本文主要使用的数据集合来源于此。参考上一篇文章;

https://github.com/TommyZihao/Train_Custom_Dataset/tree/main/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B%E6%95%B0%E6%8D%AE%E9%9B%86icon-default.png?t=N7T8https://github.com/TommyZihao/Train_Custom_Dataset/tree/main/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B%E6%95%B0%E6%8D%AE%E9%9B%86

2.2 使用现有的

在很多网站都存在。

2.3 下载模型: YOLOV8训练模型下载_yolov8下载-CSDN博客

Models Supported by Ultralytics - Ultralytics YOLO Docs

按照需要下载自己的即可: 

2.3 配置yaml

看一下文件结构:

data.yaml: 保存训练数据的路径;

train: bvn/images/train # 训练数据
val: bvn/images/val # 验证数据
# test: # test fiel
nc: 4 # 几个类别
names: ['Angle','Ruler','Triangle_30','Triangle_45'] # 类别的名称

yolov8n.pt: 模型文件;

datasets: 必须要有,保存训练的数据集合;

datasets:

注意: images\ labels 文件名称要一一对应起来。

 

2.4 训练

command 命令搞定:

yolo task=detect mode='train' model=./yolov8n.pt data=./data.yaml epochs=5 batch=4

每个epoch的产出:

最终的结果:多了一个 run文件;

代码版本

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official model
#model = YOLO("path/to/best.pt")  # load a custom model
model.train(data='./data.yaml',workers=1,epochs=4,batch=4)

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

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

相关文章

构建智慧水利系统,优化水资源管理:结合物联网、云计算等先进技术,打造全方位、高效的水利管理系统,实现水资源的最大化利用

本文关键词:智慧水利、智慧水利工程、智慧水利发展前景、智慧水利技术、智慧水利信息化系统、智慧水利解决方案、数字水利和智慧水利、数字水利工程、数字水利建设、数字水利概念、人水和协、智慧水库、智慧水库管理平台、智慧水库建设方案、智慧水库解决方案、智慧…

RBAC权限管理设置

RBAC权限管理设置 RBAC(Role-Based Access Control,基于角色的访问控制)是一种常用的访问控制机制,用于管理系统中的用户权限。RBAC通过将用户分配给角色,并将权限授予角色,从而控制用户对资源的访问。 基…

BUU [BSidesCF 2020]Cards

BUU [BSidesCF 2020]Cards 开题: 做题目之前先了解一下21点的规则: 二十一点玩法规则和概率在二十一点游戏中,拥有最高点数的玩家获胜,其点数必须等于或低于21点;超过21点的玩家称为爆牌。 2点至10点的牌以牌面的点数…

谷歌新的网站索引策略:将来可能不再为您的网站编制索引

10 年前,在 WordPress 上推出新博客的同时,Google 上的内容几乎是即时索引。 搜索引擎试图尽快向用户提供所有信息,这对内容创作者也有利。 然而,随着时间的推移,情况发生了变化,现在谷歌在索引方面变得极…

RPA软件-影刀使用

流程自动化 影刀将操作进行抽象,分为一下几个对象: 网页自动化 (1) 网页自动化应用场景:网页操作、数据抓取 (2) 网页操作:基础操作-指令操作,智能操作-关联元素&#…

Redis-数据的极速之旅(一)

Redis基础篇 Redis的自我介绍我的核心数据结构1.字符串(String)2.哈希(Hash)3.列表(List)4.集合(Set)5.有序集合(Sorted Set) 高性能原理1.Redis为什么快&…

C# VS2019 Form 图标的修改

一、 窗口的左上角图标 1、Form的属性中找到Icon项直接选择图标(.ico)路径,窗口左上角会自动更新选择更新的图标。 Form属性 2.发布后的exe图标

日常开发记录分享-SQL中的partition分区功能使用

文章目录 需求来源实现思路实施SQL 语句结构内部查询(子查询)外部查询 结果 partition的升级使用解释 验证一下看看分区 分区的一些操作1. 普通查询2. 分区表上的查询优化3. 插入数据4. 删除分区中的数据5. 分区维护操作添加新的分区删除分区重组分区 6.…

Mongodb入门介绍

文章目录 1、Mongodb:NoSQL数据库,分布式的文档型数据库2、适合场景:3、不适合场景:4、概念5、总结 1、Mongodb:NoSQL数据库,分布式的文档型数据库 2、适合场景: 1、web网站数据存储&#xff…

Live555源码阅读笔记:哈希表的实现

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

星环科技携手东华软件推出一表通报送联合解决方案

随着国家金融监督管理总局“一表通”试点工作的持续推进,星环科技携手东华软件推出了基于星环科技分布式分析型数据库ArgoDB和大数据基础平台TDH的一表通报送联合解决方案,并已在多地实施落地中得到充分验证。 星环科技与东华软件作为战略合作伙伴&…

功能性的安全性保障:TOKEN鉴权校验

1. 引言 在软件开发过程中,确保系统的安全性是至关重要的一环。它不仅关乎保护用户数据的完整性和隐私性,也是维护系统稳定运行的基石。我认为,从宏观角度审视,软件开发的安全性保障主要可分为两大类:功能性的安全性保…

昇思MindSpore 应用学习-DCGAN生成漫画头像-CSDN

日期 心得 昇思MindSpore 应用学习-DCGAN生成漫画头像(AI代码学习) DCGAN生成漫画头像 在下面的教程中,我们将通过示例代码说明DCGAN网络如何设置网络、优化器、如何计算损失函数以及如何初始化模型权重。在本教程中,使用的动…

Python从0到100(四十六):实现管理员登录及测试功能

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

-XX:MaxDirectMemorySize和-Dio.netty.maxDirectMemory区别

-XX:MaxDirectMemorySize是java运行参数,用户控制java程序可以使用的最大直接内存(堆外/本地); -Dio.netty.maxDirectMemory是netty运行参数,用户控制netty程序可以使用的最大直接内存(堆外/本地&#xff…

SQLynx数据库管理工具

背景:业主对网络安全要求比较高,不提供VPN等远程工具,也不能开放3306端口到互联网。那怎么样运维数据库就是个难题?找到了SQLynx这个可以网页访问的数据库管理工具,给大家分享一下。 1.介绍 SQLynx原名SQL Studio&…

如何优化 Selenium 和 BeautifulSoup 的集成以提高数据抓取的效率?

摘要 在互联网时代,数据的价值日益凸显。对于电商网站如京东,其商品信息、用户评价等数据对于市场分析、产品定位等具有重要意义。然而,由于这些网站通常使用 JavaScript 动态生成内容,传统的爬虫技术难以直接获取到完整数据。本…

Vue 实现电子签名并生成签名图片

目录 前言项目结构代码实现 安装依赖创建签名画布组件生成签名图片 总结相关阅读 1. 前言 电子签名在现代Web应用中越来越普遍,例如合同签署、确认表单等。本文将介绍如何使用Vue.js实现一个简单的电子签名功能,并将签名生成图片。 2. 项目结构 项…

基于 LlamaIndex 构建自己的 RAG 知识库

创建虚拟环境用于运行 运行 InternLM 的基础环境,命名为 llamaindex conda create -n llamaindex python3.10 查看存在的环境 conda env list 激活刚刚创建的环境 conda activate llamaindex 安装基本库pytorch,torchvision ,torchaudio,pytorch-cuda 并指定通道&…

动态代理更改Java方法的返回参数(可用于优化feign调用后R对象的统一处理)

动态代理更改Java方法的返回参数(可用于优化feign调用后R对象的统一处理) 需求原始解决方案优化后方案1.首先创建AfterInterface.java2.创建InvocationHandler处理代理方法3. 调用 实际运行场景拓展 需求 某些场景,调用别人的方法&#xff0…