简介

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. dart变量声明和变量类型

    ps==>所有的代码必须放在main方法中 main方法有两种写法 1==> main() { print("你好,dart我们相遇了"); } 2==> voi ...

  2. 搭建基于Grafana+JMeter+InfluxDB的性能监控与分析平台(Linux)

    搭建基于Grafana+JMeter+InfluxDB的性能监控与分析平台(Linux版) 在软件开发和运维领域,性能监控与分析是确保应用稳定性和用户体验的关键环节.随着应用规模的不断扩大和复杂度的增 ...

  3. Linux查看和操作文件内容命令

    Linux查看和操作文件内容命令 文件查看命令 在Linux中,有多种命令可以帮助我们查看文件的内容.以下是其中一些常用的命令及其简要说明: cat命令 cat 命令用于显示文件的内容,特别适用于查看 ...

  4. Huggingface使用

    目录 1. Transformer模型 1.1 核心组件 1.2 模型结构 1.3 Transformer 使用 1.3.1 使用 Hugging Face Transformers 库 1.3.2 ...

  5. 俄罗斯方块-shell脚本写的,学习学习

    #!/bin/bash APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 iSumColor=7 #颜色总数 cR ...

  6. 我们是如何解决abp身上的几个痛点

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. abp框架在.net社区是spring一样的存在,用的人也非常多,毫无疑问,它确实 ...

  7. 多线程之lamda表达式

    代码简化过程  public class TestLambda1 { ​     //3.静态内部类     static class Like2 implements ILike{          ...

  8. [HDU4625] JZPTREE+[国家集训队] Crash 的文明世界 题解

    老师发福利,放了两道一毛一样的题. 考虑无视战术,直接化简: \[\sum_{v=1}^ndis(u,v)^k=\sum_{v=1}^n\sum_{i=0}^k\begin{Bmatrix}k\\i\ ...

  9. Springboot集成Swagger2显示字段属性说明

    新建spring boot工程 添加依赖 <dependency> <groupId>io.springfox</groupId> <artifactId&g ...

  10. typecho引入五秒盾,缓解服务器压力

    功能是:对访客的访问频率会先一步判断,根据用户自定义的范围,将频率过高的访客跳转向127.0.0.1,而没有达到频率的访客则会进行cookies验证,这样更大程序的对恶意流量攻击进行拦截,并且有效缓解 ...