简介

YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务。

YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性。在图像检测识别领域yolov8和yolov5是使用较多的两款框架,兼顾精度和速度。

本文讲解yolov8自带的一个实时目标检测页面的使用。页面如下,可以在页面上体验yolov8上所有的模型,包括目标检测、分类、分割、姿态、定向框。

安装

  1. 创建虚拟环境

conda create --name yolov8 python=3.10 -y

conda activate yolov8

  1. 安装pytorch

conda install pytorch2.2.0 torchvision0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia

由于numpy版本会导致报错,需要降低numpy版本

conda install numpy==1.26.2

  1. 下载工程

git clone --branch v8.2.103 https://github.com/ultralytics/ultralytics.git

使用 --branch v8.2.103 选择yolov8版本

  1. 安装工程

pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

  1. 测试推理

yolo predict model=yolov8n.pt source='ultralytics/assets/zidane.jpg' device=0

yolo predict model=yolov8n.pt source='ultralytics/assets/zidane.jpg' device=0
Ultralytics YOLOv8.2.103 Python-3.10.16 torch-2.2.0 CUDA:0 (NVIDIA GeForce RTX 2080 Ti, 11004MiB)
YOLOv8n summary (fused): 168 layers, 3,151,904 parameters, 0 gradients, 8.7 GFLOPs image 1/1 /nfs/user_home/lijinkui/projects/ultralytics/ultralytics/assets/zidane.jpg: 384x640 2 persons, 1 tie, 86.8ms
Speed: 7.0ms preprocess, 86.8ms inference, 209.4ms postprocess per image at shape (1, 3, 384, 640)
Results saved to runs/detect/predict
Learn more at https://docs.ultralytics.com/modes/predict

推理结果在:Results saved to runs/detect/predict

到此为止就说明yolov8安装没有问题了。

训练

使用官方数据测试训练:

yolo detect train data=coco8.yaml model=yolov8n.pt epochs=10 imgsz=640

页面展示

yolov8自带一个推理的前端页面,下面说明开启的步骤。

首先使用 yolo help 这个命令查看yolo的帮助信息

(yolov8) lijinkui@node07:~/$ yolo help

    Arguments received: ['yolo', 'help']. Ultralytics 'yolo' commands use the following syntax:

        yolo TASK MODE ARGS

        Where   TASK (optional) is one of {'segment', 'detect', 'classify', 'pose', 'obb'}
MODE (required) is one of {'predict', 'val', 'train', 'export', 'track', 'benchmark'}
ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.
See all ARGS at https://docs.ultralytics.com/usage/cfg or with 'yolo cfg' 1. Train a detection model for 10 epochs with an initial learning_rate of 0.01
yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01 2. Predict a YouTube video using a pretrained segmentation model at image size 320:
yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320 3. Val a pretrained detection model at batch-size 1 and image size 640:
yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640 4. Export a YOLOv8n classification model to ONNX format at image size 224 by 128 (no TASK required)
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128 5. Explore your datasets using semantic search and SQL with a simple GUI powered by Ultralytics Explorer API
yolo explorer data=data.yaml model=yolov8n.pt 6. Streamlit real-time webcam inference GUI
yolo streamlit-predict 7. Run special commands:
yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg Docs: https://docs.ultralytics.com
Community: https://community.ultralytics.com
GitHub: https://github.com/ultralytics/ultralytics

可以看到yolo出来训练,推理等任务之后还有两个功能,分别是5和6。其中6就是一个可以在前端推理的功能。

启动推理功能,这里需要魔法,从github下载推理模型。或者下载好放在跟目录下也行

yolo streamlit-predict

打开浏览器页面

参数包括:

  • Video: 选择推理源摄像头或视频
  • Model: 选择模型,yolov8的所有模型都能选择,包括检测、分类、分割、姿态、角度,甚至yolo-word
  • Classes: 选择推理的类别
  • 下面还有置信度控制。

点击Start就可以看到推理结果了。

演示视频

检测:

分割:

姿态:

角度:

yolov8 框架自带模型体验页面的更多相关文章

  1. TinkPHP框架学习-03模型类

    1-----数据访问 2-----数据查询 3-----数据添加 4-----数据修改 5-----数据删除 创建一张nation表并写入三条测试数据 create table nation( `co ...

  2. JEECG前后端分离UI框架实战版本抢先体验(ng2-admin+Angular4+AdminLTE+WebStorm)

    JEECG前后端分离UI框架实战版本 - 抢先体验 (ng2-admin+Angular4+AdminLTE) 关键词: ng2-admin.Angular4.AdminLTE.Nodejs.Jeec ...

  3. CI框架自带的验证工具及汉化

    本人自己还是很喜欢CI框架自带的验证工具的,使用方式如下: /** *@blog<http://www.phpddt.com> */ public function do_login() ...

  4. 带你体验Android自定义圆形刻度罗盘 仪表盘 实现指针动态改变

    带你体验Android自定义圆形刻度罗盘 仪表盘 实现指针动态改变 转 https://blog.csdn.net/qq_30993595/article/details/78915115   近期有 ...

  5. 不需内测账号,带你体验微信小程序完整开发过程

    不需内测账号,带你体验微信小程序完整开发过程 2016年09月24日 - 作者: SwiftCafe 微信小程序还没正式发布就已经迅速成为大家讨论的焦点,那么大家可能觉得只有收到内测邀请才能体验小程序 ...

  6. TP框架自带的正则验证的规则(转载)

    thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint?01static $regex ...

  7. 利用Div+CSS(嵌套+盒模型)布局页面完整实例流程

    Div+CSS(嵌套+盒模型)布局页面完整实例流程: <!DOCTYPE html><html> <head>  <meta charset="UT ...

  8. TP框架自带的正则验证的规则

    thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint? 01 static $reg ...

  9. Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验

    Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...

  10. 一个标准的,兼容性很好的div仿框架的基础模型!

    <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type" conten ...

随机推荐

  1. Spring AI 提交 PR 实战指南:避免常见坑

    今天,我们将简单地了解如何向 Spring AI 提交 PR(Pull Request).在这个过程中,有一些常见的坑需要大家注意和避免,特别是在 Git 操作方面.我们会重点关注提交信息的规范,如何 ...

  2. 彰显科技硬实力!天翼云论文在国际顶刊JoCCASA发表!

    近日,由天翼云科技有限公司云网产品事业部混合云团队完成的论文<Multivariate Time Series Collaborative Compression for Monitoring ...

  3. Rocksdb原理简介

    本文分享自天翼云开发者社区<Rocksdb原理简介>,作者:l****n Rocksdb作为当下nosql中性能的代表被各个存储组件(mysql.tikv.pmdk.bluestore)作 ...

  4. Apache Camel系列(4)----Akka Camel

    Akka是一个高性能,高容错的的分布式框架,并且对Camel也提供了很好的支持,下面创建一个Akka Camel的demo,运行环境:CentOS7 + IntelliJ + JDK8.这个demo分 ...

  5. DeepSeek+Zotero

    技术背景 在DeepSeek系列文章中,我们已经分别介绍过关于DeepSeek在Ubuntu Linux平台和Windows平台上的本地部署方案,以及Ollama.ChatBox和AnythingLL ...

  6. 管理虚拟机(libvirt)

    给我的理解就是与用户交互的"显示器" [root@kvm1 ~]# systemctl status libvirtd [root@kvm1 ~]# virsh virsh # l ...

  7. Vue3响应式编程三剑客:计算属性、方法与侦听器深度实战指南

    在Vue3开发中,计算属性.方法和侦听器是处理数据逻辑的核心工具.它们各自有不同的作用和适用场景,合理使用这些工具可以显著提升代码的可读性和性能.本篇将深入探讨这三者的定义.使用场景以及实际案例,并通 ...

  8. 用于敏捷开发的最佳免费 UML 工具 2022

    Table of Contents  hide  1 最好的在线免费 UML图工具 2 免费的 UML Visual Paradigm 在线平台 3 其他福利 4 用于正式和大规模可视化建模的 Vis ...

  9. DW001 - 数据仓库理论知识

    数据仓库概念 数据仓库基本架构 数据集市概念 数据湖概念 数据仓库概念 数据仓库(Data Warehouse,DW)是一个面向主题的.集成的.非易失的.反映历史变化的.用来支持企业管理决策的数据集合 ...

  10. Sqoop1的导入导出

    Sqoop1 和 Sqoop2 的区别 # 版本上 Sqoop1: 1.4.x Sqoop2: 1.99.x # 架构上 Sqoop1 使用 Sqoop客户端直接提交的方式(命令.将命令封装在脚本中) ...