基于YOLOv8+PyQt5开发的行人过马路危险行为检测告警系统(附数据集和源码下载)

在这里插入图片描述

系列文章目录

文章目录

  • 系列文章目录
  • 前言
    • 欢迎来到我的博客!我很高兴能与大家分享关于基于YOLOv8的行人过马路危险行为检测告警系统的内容。
  • 一、系统特点
    • 1. 采用最新最优秀的目标检测算法YOLOv8
    • 2. 系统分别基于PyQt5开发了两种GUI图形界面,供大家学习使用
    • 3. 系统可以检测本地图片或者视频,也可以实时检测网络视频流,另外可调整IUO阈值,置信度阈值等参数
    • 4. 系统可升级,带有语音提醒功能,告警抓拍上传,发送告警邮件等功能
    • 5. 部署简单,适合windows、Linux、Mac系统,安装好requirement.txt中的包即可
    • 6. 系统带有本人训练好的YOLOv8模型,可直接调用使用,另外附有训练得的评估指标曲线PR_curve、F1_curve、R_curve、训练日志等,无需自己训练
    • 7. 带有训练部分标注好的数据集,训练集、验证集
  • 二、环境配置
    • 1.anaconda中安装requirements.txt中的软件包
    • 2.anaconda环境导入pycharm
  • 三、数据准备
    • 1.收集制作图片数据
    • 2.labelImg标注工具标注为voc格式或yolo格式标签
  • 四、开始训练模型
    • 1.修改train.py文件
    • 2.运行train.py开始训练
    • 3.训练好的模型及评估指标
  • 五、PyQt5开发系统GUI界面对接YOLOv8算法模型
    • 1.界面开发关键步骤如下:
    • 2.GUI界面a示例代码如下
    • 3.GUI界面b示例代码如下:
  • 六、YOLOv8+GUI界面检测演示
    • 1.GUI界面a界面效果(高级)
    • 2.GUI界面b界面效果(丐版)
  • 七、基于YOLOv8+PyQt5的行人过马路危险行为检测告警系统源码
    • GUI界面a(高级)系统源码
    • GUI界面b(丐版)系统源码
  • 总结


前言

欢迎来到我的博客!我很高兴能与大家分享关于基于YOLOv8的行人过马路危险行为检测告警系统的内容。

交通安全一直是一个备受关注的重要议题。每年都有大量的交通事故发生,其中很多都与行人在过马路时的危险行为有关。
故我开发了一种基于YOLOv8的行人过马路危险行为检测告警系统。它能够快速准确地识别图像或视频中的行人,并判断他们是否存在危险行为。通过结合计算机视觉和深度学习技术,该系统能够实时监测行人在过马路时的行为,并及时发出警报,以提醒行人和驾驶员注意交通安全。


提示:以下是本篇文章正文内容

一、系统特点

1. 采用最新最优秀的目标检测算法YOLOv8

2. 系统分别基于PyQt5开发了两种GUI图形界面,供大家学习使用

3. 系统可以检测本地图片或者视频,也可以实时检测网络视频流,另外可调整IUO阈值,置信度阈值等参数

4. 系统可升级,带有语音提醒功能,告警抓拍上传,发送告警邮件等功能

5. 部署简单,适合windows、Linux、Mac系统,安装好requirement.txt中的包即可

6. 系统带有本人训练好的YOLOv8模型,可直接调用使用,另外附有训练得的评估指标曲线PR_curve、F1_curve、R_curve、训练日志等,无需自己训练

7. 带有训练部分标注好的数据集,训练集、验证集

二、环境配置

建议
1、在anaconda中安装必要的软件包
2、安装pycharm,在pycharm中运行项目
3、以下内容都是在完成1、2两步的基础上进行,很多博客有介绍,在此不必赘述

1.anaconda中安装requirements.txt中的软件包

requirements.txt如下:

# Usage: pip install -r requirements.txt

# Base ----------------------------------------
matplotlib>=3.2.2
opencv-python>=4.6.0
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.64.0
pandas>=1.1.4
seaborn>=0.11.0
psutil  # system utilization

2.anaconda环境导入pycharm

可参考的博客很多,主要针对该工程导入刚安装的python环境(如envs/YOLOv8/python.exe)


三、数据准备

1.收集制作图片数据

可网络爬取,或者自己模拟拍摄制作
本系统训练的数据集部分图片如下所示:
在这里插入图片描述
在这里插入图片描述

2.labelImg标注工具标注为voc格式或yolo格式标签

voc格式和yolo格式都可以互相转换,标注任意格式都可以
voc格式如下:
描述
yolo格式如下:
在这里插入图片描述
标注的类别有:【斑马线, 人形,手机,没手机,提袋子,车辆,玩手机或打电话,不玩手机,其他】

训练模型是yolov8算法中的yaml配置文件cross_line.yaml如下图所示:
红色框为数据集图片与标签保存路径,names为数据类别
可以按照该方式训练其他模型,训练模型的方法基本与YOLOv5一样。

在这里插入图片描述

四、开始训练模型

放置好标注好的数据集(图片和标签文件),在yaml文件中配置对存放路径,以及数据集类别信息。

1.修改train.py文件

找到ultralytics-main/ultralytics/yolo/v8/detect文件夹,打开train.py,如下图所示:
在这里插入图片描述

2.运行train.py开始训练

在这里插入图片描述
注意: YOLOv8训练过程与YOLOv5、YOLOv7有一点不同,在训练模型时,起始设定训练100个epoch,当训练到60epoch时,精度基本稳定,评估指标不在提升,则训练会提前结束,保存当前最好的模型。

3.训练好的模型及评估指标

训练结束后,保存模型的文件夹包含:weights、args.yaml、confusion_matrix.png、confusion_matrix_normalized.png、F1_curve.png、labels.jpg、labels_correlogram.jpg、P_curve.png、PR_curve.png、R_curve.png、results.csv、results.png等等。

这些评估指标曲线和表可以用于论文或者报告中,也可以通过曲线评比模型训练好坏,掌握数据分布情况等。
在这里插入图片描述

五、PyQt5开发系统GUI界面对接YOLOv8算法模型

1.界面开发关键步骤如下:

  • 安装PyQt5:首先,确保你已经安装了Python和PyQt5库。你可以使用pip命令在终端中安装PyQt5:pip install pyqt5
  • 设计GUI界面:使用Qt Designer工具来设计GUI界面。Qt Designer是一个可视化界面设计工具,可以帮助你创建GUI界面并生成.ui文件。你可以在终端中运行designer命令来启动Qt Designer。
  • 创建主窗口类:在Python代码中创建一个主窗口类,继承自QtWidgets.QMainWindow。在类中,你可以定义界面的布局、按钮、标签等控件,并连接它们的信号和槽函数。
  • 加载.ui文件:使用QtUiTools模块中的QUiLoader类来加载之前设计好的.ui文件。这将把.ui文件中的控件转换为Python对象。
  • 实现目标检测算法:在Python代码中实现YOLOv8目标检测算法。你可以使用OpenCV库加载图像或视频,并将其传递给YOLOv8模型进行目标检测。根据检测结果,你可以在GUI界面上绘制边界框或显示检测结果。
  • 连接信号和槽函数:在主窗口类中,使用QtCore.QObject.connect()函数将控件的信号连接到槽函数。例如,你可以将一个按钮的点击信号连接到一个槽函数,以触发目标检测算法的执行。
  • 运行应用程序:在Python代码的主函数中,创建一个QApplication对象,并实例化主窗口类。最后,调用QApplication对象的exec_()方法来运行应用程序。
  • 通过按照以上步骤,你可以开发一个基于PyQt5的YOLOv8目标检测算法GUI界面。这样,用户可以通过界面加载图像或视频,并实时进行目标检测,从而更方便地使用该算法。

2.GUI界面a示例代码如下

在这里插入图片描述

3.GUI界面b示例代码如下:

在这里插入图片描述

六、YOLOv8+GUI界面检测演示

1.GUI界面a界面效果(高级)

运行main.py自动弹出界面
在这里插入图片描述

2.GUI界面b界面效果(丐版)

运行main_b.py自动弹出界面
在这里插入图片描述

七、基于YOLOv8+PyQt5的行人过马路危险行为检测告警系统源码

GUI界面a(高级)系统源码

下载地址:https://download.csdn.net/download/DeepLearning_/88206346
包含:GUI界面+YOLOv8源码+训练好模型+部分数据集+各种评估指标及训练日志+部署操作说明文档

GUI界面b(丐版)系统源码

下载地址:https://download.csdn.net/download/DeepLearning_/88206347
包含:GUI界面+YOLOv8源码+训练好模型+部分数据集+各种评估指标及训练日志+部署操作说明文档

总结

在本博客中,我们介绍了基于YOLOv8和PyQt5的行人过马路危险行为检测告警系统。通过结合计算机视觉和深度学习技术,我们开发了一个实时监测行人过马路行为的系统,并及时发出警报,以提醒行人和驾驶员注意交通安全。通过结合先进的目标检测算法和强大的GUI开发库,我们可以创建一个功能强大的系统,为交通安全做出贡献。并附上了项目开发的源代码和部署文档,欢迎大家提问交流,互相学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/72555.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

consul安装启动流程

普通软件包安装 首先cd /opt ,将安装包放到该目录下 下载consul安装包 进入consul官网找到自己开发平台对应的安装包下载 https://www.consul.io/downloads.html 或使用命令 wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zip (如果…

解决lldb调试时可能出现的personality set failed: Function not implemented

最近在尝试使用Visual Studio 2022远程连接Linux进行C/C的开发,由于CentOS风波不断,所以现在的开发基本上都是使用ubuntu了,但是目前VS2022有一些BUG,就是远程调试时,如果目标系统是ubuntu则会出现启动调试器很慢的问题…

js设置css变量控制页面一行展示指定个数的元素

前置知识: CSS变量之var()函数的应用——动态修改样式 & root的使用 flex相关知识 场景: 动态设置给父元素内子元素设置每行排列几个 通过 document.body.style.setProperty(--itemNum, 5)设置样式变量,然后通过给父元素设置display: f…

PyQt5的信号与槽函数

目录 一、介绍 二、一个信号连接一个槽 三、一个信号连接多个槽 四、多个信号连接一个槽 五、自定义信号 1、创建自定义信号 2、让自定义信号携带值 一、介绍 在下图中 (1)widget就是PyQt中的控件对象。其实就是组件(2)…

uniapp 用 hbuilderx下载 uview

uView2.0重磅发布,利剑出鞘,一统江湖 - DCloud 插件市场 1.uniapp官网下载资源 2按下载 3.官网安装文档 要按 这个红色圈错了 然后看他的配置步骤 第四easycom 就可以 不用配了

Linux MQTT智能家居(温度,湿度,环境监测,摄像头等界面布局设置)

文章目录 前言一、温度湿度曲线布局二、环境监测界面布局三、摄像头界面布局总结 前言 本篇文章来完成另外三个界面的布局设置。 这里会使用到 feiyangqingyun的一些控件库。 一、温度湿度曲线布局 TempHumtiy.h: #ifndef TEMPHUMTIY_H #define TEMPHUMTIY_H#include <…

Java-运算符和控制语句(上)(基于c语言的补充)

算术运算符 关于求余 不管分子&#xff0c;分母是正还是负&#xff0c;对于分母&#xff0c;直接取正&#xff1b;对于分子若有负号&#xff0c;则先提取出来&#xff1b;剩下两个正的分子分母运算&#xff1b;最后&#xff0c;若刚才的分子有负号&#xff0c;对最后的结果添加…

[C语言] 指针

1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 目录 1. 指针是什么&#xff1f; 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 指针运算 4.1 指针…

第三课-界面介绍SD-Stable Diffusion 教程

前言 我们已经安装好了SD&#xff0c;这篇文章不介绍难以理解的原理&#xff0c;说使用。以后再介绍原理。 我的想法是&#xff0c;先学会画&#xff0c;然后明白原理&#xff0c;再去提高技术。 我失败过&#xff0c;知道三天打鱼两天晒网的痛苦&#xff0c;和很多人一样试了…

Windows - UWP - 网络不好的情况下安装(微软商店)MicrosoftStore的应用

Windows - UWP - 网络不好的情况下安装&#xff08;微软商店&#xff09;MicrosoftStore的应用 前言 UWP虽然几乎被微软抛弃了&#xff0c;但不得不否认UWP应用给用户带来的体验。沙箱的运行方式加上微软的审核&#xff0c;用户使用起来非常放心&#xff0c;并且完美契合Wind…

一百四十九、Kettle——Linux上安装的kettle8.2创建共享资源库时遇到的问题(持续更新中)

一、目的 在kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后开始创建共享资源库&#xff0c;但是遇到了一些问题 二、Linux系统以及kettle版本 &#xff08;一&#xff09;Linux&#xff1a;CentOS 7 英文的图形化界面模式 &#…

加载并绘制时间域内的心电图信号,并实施Q因子为1的陷波滤波器以去除50 Hz频率研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

国产数据库-内核特性-低基数全局字典

国产数据库-内核特性-StarRocks低基数全局字典 StarRocks2.0引入了低基数全局字典&#xff0c;可以通过全局字典将字符串的相关操作转换成整型相关操作&#xff0c;大大提升查询性能。 1、低基数字典 对于利用整型替代字符串进行处理&#xff0c;通常使用字典编码进行优化。Sta…

UML—浅谈常用九种图

目录 概述: 1.用例图 2.静态图 3.行为图&#xff1a; 4.交互图&#xff1a; 5.实现图&#xff1a; 概述: UML的视图是由九种视图组成的&#xff0c;分别是用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、实施图。我们可以根据这9种图的功能和实现的目的…

计算机视觉中的特征检测和描述

一、说明 这篇文章是关于计算机视觉中特征检测和描述概念的简要理解。在其中&#xff0c;我们探讨了它们的定义、常用技术、简单的 python 实现和一些限制。 二、什么是特征检测和描述&#xff1f; 特征检测和描述是计算机视觉中的基本概念&#xff0c;在图像识别、对象跟踪和图…

wpf控件上移下移,调整子集控件显示顺序

页面代码: <!-- 导出A2,自定义导出设置列,添加时间:2023-8-9 14:14:18,作者:whl; --><Window x:Class="WpfSnqkGasAnalysis.WindowGasExportA2"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http:/…

计算机组成原理-笔记-汇总

&#x1f4da; 前言 本人在备考408&#xff0c;王道讲得的确不错&#xff0c;本人之前也看过哈工大【刘宏伟老师】的课&#xff0c;两者对比下来。 王道——更加基础&#xff0c;对小白更加友好哈工大——偏实践偏硬件&#xff08;会将更多的代码硬件设计&#xff09; PS&#…

JZ39 数组中出现次数超过一半的数字

目录 一、题目 二、代码 一、题目 数组中出现次数超过一半的数字_牛客题霸_牛客网 二、代码 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param numbers int整型vector * return int…

vulnhub靶机Deathnote

难度&#xff1a;easy 下载地址&#xff1a;https://download.vulnhub.com/deathnote/Deathnote.ova 主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.140 进一步查看目标的端口的服务和版本 nmap -sV -sT -O -p22,80 192.168.21.140 扫描端口的漏洞…

j东h5st参数多局部ob加密(js_security_v3_0.1.4.js)加密分析

j东h5st参数多局部多次ob加密&#xff08;js_security_v3_0.1.4.js&#xff09; 大家好呀&#xff0c;我是你们的好兄弟&#xff0c;【星云horseAK】&#xff0c;今天的主题真的是千呼万唤始出来&#xff0c;某东东的h5st参数&#xff0c;这个加密的js文件使用了obfuscator进行…
最新文章