2 YOLO8的使用

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.rhkb.cn/news/383081.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

职业教育综合布线实验实训室建设应用案例

在信息技术迅猛发展的今天,综合布线技术已成为智能建筑、数据中心等基础设施不可或缺的一部分。唯众,作为职业教育领域的先行者,早在多年前便洞悉行业趋势,率先涉足综合布线实训室的建设,凭借丰富的经验和持续的创新&a…

phpstorm配置xdebug3

查看php路径相关信息 php --ini安装xdebug https://www.jetbrains.com/help/phpstorm/2024.1/configuring-xdebug.html?php.debugging.xdebug.configure php.ini 配置 在最后添加,以下是我的配置 [xdebug] zend_extension/opt/homebrew/Cellar/php8.1/8.1.29/p…

决策树 和 集成学习、随机森林

决策树是非参数学习算法,可以解决分类问题,天然可以解决多分类问题(不同于逻辑回归或者SVM,需要通过OVR,OVO的方法),也可以解决回归问题,甚至是多输出任务,并且决策树有非…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十一章 添加设备树节点

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

通过4G模块EC600N向阿里云物联网平台物模型上面发送字符串,现在发送int数据是成功的,发送字符串就是不成功

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

轻量化YOLOv7系列:结合G-GhostNet | 适配GPU,华为诺亚提出G-Ghost方案升级GhostNet

轻量化YOLOv7系列:结合G-GhostNet | 适配GPU,华为诺亚提出G-Ghost方案升级GhostNet 需要修改的代码models/GGhostRegNet.py代码 创建yaml文件测试是否创建成功 本文提供了改进 YOLOv7注意力系列包含不同的注意力机制以及多种加入方式,在本文…

【Python】Facebook开源时间序列数据预测模型Prophet

文章目录 一、简介二、项目的文件解读三、Prophet类主要方法和参数3.1 主要参数3.2 主要方法 四、用法示例 一、简介 Prophet 是由 Facebook 开发的一个开源工具,用于时间序列数据的预测。它特别适用于处理具有强季节性和趋势的时间序列数据,并且对节假…

大数据之Oracle同步Doris数据不一致问题

数据同步架构如下: 出现的问题: doris中的数据条数 源库中的数据条数 总数完全不一致。 出现问题的原因: 在Dinky中建立表结构时,缺少对主键属性的限制 primary key(ID) not enforced 加上如上语句,数据条数解决一致 …

App Instance 架构示例

前言 在Unity程序设计过程中,我们处理的第一个对象是Application Instance。 它的主要职责是启动流程管理、卸载流程管理,次要职责是管理在内部的子系统生命周期。其他职责,提供或桥接应用程序的配置信息、及其他第三方接口。 它通常以单例的…

51单片机嵌入式开发:18、STC89C52RC嵌入式DS1302实时时钟实验及数码管显示

STC89C52RC嵌入式DS1302实时时钟实验及数码管显示 STC89C52RC嵌入式DS1302实时时钟实验及数码管显示1 概述1.1 DS1302简介1.2 DS1302功能和特点1.3 DS1302工作原理1.4 DS1302应用领域 2 DS1302设计原理2.1 引脚说明2.2 寄存器说明及使用(1)命令cmd字节说…

【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法(sci论文图片清晰度)

【PPT把当前页输出为图片】及【PPT导出图片模糊】的解决方法 内容一:ppt把当前页输出为图片:内容二:ppt导出图片模糊的解决方法:方法:步骤1:打开注册表编辑器步骤2:修改注册表: 该文…

【BUG】已解决:SyntaxError:positional argument follows keyword argument

SyntaxError:positional argument follows keyword argument 目录 SyntaxError:positional argument follows keyword argument 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰&#xff0c…

jupyter_contrib_nbextensions安装失败问题

目录 1.文件路径长度问题 2.jupyter不出现Nbextensions选项 1.文件路径长度问题 问题: could not create build\bdist.win-amd64\wheel\.\jupyter_contrib_nbextensions\nbextensions\contrib_nbextensions_help_item\contrib_nbextensions_help_item.yaml: No su…

西蒙学习法

西蒙学习法 一根筋,挖死坑;会思考,持续不断的思考;会问问题,有深度的问题;一直想一个问题的解决办法; 资料 《世界十大学习方法》之西蒙学习法

创建线程的几种方式

严格来讲,创建线程只有一种方式,就是实现Runnable接口,其他创建线程的方式也是对其封装。 继承Thread方式 public class Thread extends java.lang.Thread {Overridepublic void run() {super.run();} } 进入Thread可以看到,也是…

数学建模学习(112):FAHP模糊层次分析法

文章目录 一、FAHP方法由来二、模糊层次分析法原理2.1 AHP缺陷2.2 模糊集理论2.3 模糊层次分析法(FAHP)三、模糊层次分析法步骤3.1 问题定义与层次结构建立3.2 构造模糊判断矩阵3.2.1 计算模糊判断矩阵的列和向量3.2.2 计算模糊综合向量3.2.3 计算模糊权重向量3.3 解模糊数3.…

2个案例区分是平行眼还是交叉眼,以及平行眼学习方法

案例一: 交叉眼:看到凸出的“灌水”,是交叉眼。PS:看的时候,眼是斗鸡眼,眼睛易疲劳 平行眼:看到凹陷的“灌水”,是平行眼。PS:看的时候眼睛是平视,不容易疲…

centos系统mysql数据库压缩备份与恢复

文章目录 压缩备份一、安装 xtrabackup二、数据库中创建一些数据三、进行压缩备份四、模拟数据丢失,删库五、解压缩六、数据恢复 压缩备份 一、安装 xtrabackup 确保已经安装了 xtrabackup 工具。可以从 Percona 的官方网站 获取并安装适合你系统的版本。 # 添加…

一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

原文链接:一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置 本期教程 获得本期教程文本文档,在后台回复:20240724。请大家看清楚回复关键词,每天都有很多人回复错误关键词&#xf…

Redisson分布式锁使用详解

引言 日常开发中,难免遇到一些并发的场景,为了保证接口执行的一致性,通常采用加锁的方式,因为服务是分布式部署模式,本地锁Reentrantlock和Synchnorized这些就先放到一边了,Redis的setnx锁存在无法抱保证原…