基于YOLOv8的足球赛环境下足球目标检测系统(Python源码+Pyqt6界面+数据集) 《YOLOv8原创自研》

                                                                博主简介

AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8优化创新,轻松涨点和模型轻量化;2)目标检测、语义分割、OCR、分类等技术孵化,赋能智能制造,工业项目落地经验丰富;

原创自研系列,paper级别创新, 2024年计算机视觉顶会创新点

《YOLOv8原创自研》

《YOLOv5原创自研》

《YOLOv7原创自研》

23年最火系列,内涵80+优化改进篇,涨点小能手,助力科研,好评率极高

《YOLOv8魔术师》

 《YOLOv7魔术师》

《YOLOv5/YOLOv7魔术师》

《RT-DETR魔术师》

应用系列篇:

《YOLO小目标检测》

《深度学习工业缺陷检测》

《YOLOv8-Pose关键点检测》

💡💡💡本文主要内容:详细介绍了足球赛环境下足球目标检测系统,在介绍算法原理的同时,给出Pytorch的源码、训练数据集以及PyQt6的UI界面。在界面中可以选择各种图片、视频进行检测识别,可进行置信度、Iou阈值设定,结果可视化等。

1.数据集介绍

数据集大小一共2724张,,按照8:1:1进行训练集、验证集、测试集随机区分。

一共只有一个类别,为football

细节图:

2.基于YOLOv8的球赛环境下足球目标检测

2.1 修改football.yaml


path: ./data/football # dataset root dir
train: train.txt  # train images (relative to 'path') 118287 images
val: val.txt  # val images (relative to 'path') 5000 images
 
# number of classes
nc: 1
 
# class names
names:
  0: football

2.2 开启训练

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/v8/yolov8.yaml')
    model.train(data='data/football/football.yaml',
                cache=False,
                imgsz=640,
                epochs=100,
                batch=16,
                close_mosaic=10,
                workers=0,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

3.训练结果分析 

 

F1_curve.png:F1分数与置信度(x轴)之间的关系。F1分数是分类的一个衡量标准,是精确率和召回率的调和平均函数,介于0,1之间。越大越好。

TP:真实为真,预测为真;

FN:真实为真,预测为假;

FP:真实为假,预测为真;

TN:真实为假,预测为假;

精确率(precision)=TP/(TP+FP)

召回率(Recall)=TP/(TP+FN)

F1=2*(精确率*召回率)/(精确率+召回率)

  PR_curve.png :PR曲线中的P代表的是precision(精准率)R代表的是recall(召回率),其代表的是精准率与召回率的关系。

 R_curve.png :召回率与置信度之间关系

 results.png

 mAP_0.5:0.95表示从0.5到0.95以0.05的步长上的平均mAP.

预测结果:

 

   4. 球赛环境下足球目标检测系统设计

4.1 PySide6介绍

        受益于人工智能的崛起,Python语言几乎以压倒性优势在众多编程语言中异军突起,成为AI时代的首选语言。在很多情况下,我们想要以图形化方式将我们的人工智能算法打包提供给用户使用,这时候选择以python为主的GUI框架就非常合适了。

        PySide是Qt公司的产品,PyQt是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别。PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。

        PySide目前常见的有两个版本:PySide2和PySide6。PySide2由C++版的Qt5开发而来.,而PySide6对应的则是C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致,不会再出现类似PySide2对应Qt5这种容易混淆的情况。

4.2 安装PySide6

pip install --upgrade pip
pip install pyside6 -i https://mirror.baidu.com/pypi/simple

基于PySide6开发GUI程序包含下面三个基本步骤:

  • 设计GUI,图形化拖拽或手撸;
  • 响应UI的操作(如点击按钮、输入数据、服务器更新),使用信号与Slot连接界面和业务;
  • 打包发布;

 4.3 球赛环境下足球目标系统设计

运行

python main.py

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-01 07:18:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 07:18:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 07:18:03       82 阅读
  4. Python语言-面向对象

    2024-02-01 07:18:03       91 阅读

热门阅读

  1. 什么是系统工程(字幕)13

    2024-02-01 07:18:03       40 阅读
  2. 开发中常用的数据结构

    2024-02-01 07:18:03       49 阅读
  3. 36.【TypeScript 教程】tsconfig.json 配置

    2024-02-01 07:18:03       42 阅读
  4. 理解React中的setState()方法

    2024-02-01 07:18:03       55 阅读
  5. pyspark学习-spark.sql.functions normal函数

    2024-02-01 07:18:03       44 阅读
  6. Docker学习笔记:Dockerfile文件的应用

    2024-02-01 07:18:03       55 阅读