yolov8 框架自带模型体验功能

简介

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就可以看到推理结果了。

演示视频

检测:

录屏_选择区域_20250418164111

分割:

录屏_选择区域_20250418164208

姿态:

录屏_选择区域_20250418164304

角度:

录屏_选择区域_20250418164359

### 使用YOLOv8训练模型教程 #### 环境搭建 为了顺利运行YOLOv8,需先安装Python以及必要的库文件。推荐使用Anaconda来管理虚拟环境和依赖包。创建并激活一个新的Conda环境后,通过pip工具安装`ultralytics`库,这是官方支持的YOLOv8实现框架。 ```bash conda create -n yolov8 python=3.9 conda activate yolov8 pip install ultralytics ``` #### 数据准备 数据集对于任何机器学习项目都是至关重要的资源之一。针对目标检测任务而言,通常需要收集带有标注框的对象图片集合。这些数据应该被整理成特定格式以便于后续处理;例如COCO风格的数据集结构就非常适合YOLO算法[^1]。 #### 模型加载与配置 可以基于预定义好的架构模板(`yolov8n.yaml`)从零开始构建新的神经网络实例,也可以直接加载已经过良好初始化权重参数的现成模型(`weights/yolov8n.pt`)来进行微调操作。后者往往能够带来更快捷有效的收敛效果,因此更受青睐[^2]。 ```python from ultralytics import YOLO model = YOLO("weights/yolov8n.pt") # 加载预训练模型 ``` #### 开始训练过程 设定好所有前提条件之后就可以启动正式的学习流程了。这里可以通过调整超参数如迭代次数(epochs),批次大小(batch size)等选项来自定义具体的优化策略。同时指定要使用的数据源路径作为输入给定至`.train()`方法内完成整个周期内的样本遍历工作。 ```python model.train(data="path/to/dataset.yaml", epochs=100, batch=16) ``` #### 验证与测试 当一轮完整的训练结束后应当立即执行验证环节以检验当前版本下的泛化能力表现如何。这一步骤可通过调用对象自带的方法快速获得各项指标统计结果,帮助开发者及时发现问题所在进而采取相应措施加以改进。 ```python metrics = model.val() print(metrics.box.map) # 输出mAP值 ``` #### 导出最终成果 最后还可以考虑将训练完毕后的最佳状态保存下来供以后部署时调用。目前支持多种常见的序列化格式比如ONNX、TorchScript等等,方便移植到不同的计算平台上继续发挥作用。 ```python success = model.export(format="onnx") if success: print("Model successfully exported to ONNX format.") else: print("Failed to export the model.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值