基于yolov8工地反光衣穿戴检测UI界面+python代码目标检测系统

作品简介

图片有些加载失败,推荐查看原文:https://blog.51cto.com/wzqgzs/12941644


背景:

在现代城市建设和工业发展中,工地安全一直是备受关注的焦点。随着城市化进程的加快,建筑工地数量激增,随之而来的安全事故也时有发生。其中,夜间或光线不足环境下的工地作业安全问题尤为突出。在这样的背景下,工地反光衣作为提高工人可见性、降低事故风险的重要防护装备,其正确使用和有效检测显得尤为重要。

反光衣,也称为高能见度服装,通过特殊的反光材料能够在光线照射下反射强烈的光线,使得穿着者在低光照条件下更容易被车辆和行人识别,从而有效预防交通事故和工地事故。然而,仅仅提供反光衣并不能保证其在所有情况下都能发挥应有的作用。反光衣的破损、污渍遮挡、不当穿着等问题都可能削弱其反光效果,增加安全风险。

因此,开发一个工地反光衣检测系统,对于确保工地安全、提高工作效率、降低事故率具有重要意义。该系统能够自动检测工人是否穿着反光衣、反光衣是否符合安全标准以及是否正确穿着,从而为工地安全管理提供技术支持。通过实时监控和预警,该系统有助于提升工地安全管理水平,保障工人的生命安全,同时也符合国家安全生产的法律法规要求。


软件介绍:



软件由微智启软件工作室基于yolov8目标检测+pyside6可视化源码库开发,运行在window系统,项目的尺寸是固定1489x759像素,推荐在1920x1080像素环境下使用,安装环境后,可以在pycharm或者vscode编辑器运行检测,推荐安装GPU版(有英伟达显卡)环境。可以拖动到Qt编辑器,自定义修改样式。


项目介绍:

该项目文件包含python代码、ui界面源文件、反光衣数据集(数据集详情看下文)+yolov8训练好的模型

基于yolov8草莓叶片病虫害UI界面+python代码可视化检测系统_数据集_02

①程序中图片和图标的存放位置,可以如果想快速替换里面的图片或者图标。只需把同名(以及后缀名)的图片,放到icon中替换即可。

②运行检测后结果的保存位置,每启动检测一次,就会在runs文件夹中生成一个新的文件夹

③yolov8的核心检测代码(官方原版代码)

④当程序启动时,会从config.json中加载数据,里面存放着上一次的测试信息(包含conf、iou、weights权重的路径,是否保存结果)。当程序关闭时,也会把当前的配置信息,重新存入config.json中。

⑤运行项目所需python库版本信息

⑥wzq.py是程序启动的入口,安装好环境依赖后,右键运行wzq.py启动程序

⑦它是ui文件(yolov8Qt.ui)通过pyside6转换成python代码得到的,也是图形化界面的代码

⑧图形化界面的ui源文件,可以拖动到qt编辑器修改界面,修改保存后,通过pyside6转成python代码(也就是替换之前的⑦的yolov8Qt.py文件),重新运行wzq.py就能看到新的图形界面

⑨和⑩是程序⑥(wzq.py)的两个类,它们分别是

  • 【class MyThread】,它负责进行对测试资源进行推理,画框等操作,也就是检测的主要逻辑代码,检测完毕后通过信号槽发送数据给【class MainWindow】类显示到窗口。
  • 【class MainWindow】主要是图形化界面的一些方法,负责连接图形界面的一些按钮事件,绑定对应的方法,点击按钮后,执行什么操作由它控制。


为了方便阅读,把模型原有的英文标签名称修改成了中文的,如需原有英文,可以使用原有方案(上方注释的代码)



检测数据类型

  1. 图片(单图检测)
  2. 视频(mp4等离线视频)
  3. 电脑摄像头(例如USB或者笔记本自带摄像头)
  4. 文件夹(图片批量检测)



项目功能

  1. 默认提供strawberry.pt模型,该模型是使用yolov8训练了200轮得到的,模型和数据集的具体详情,查看下方介绍
  2. 支持同时显示检测结果图和原图,方便对比
  3. 提供了暂停/终止检测功能
  4. 提供检测进度条显示,掌控检测进度
  5. 实时统计当前帧检测到的数量
  6. 实时统计当前帧检测所消耗的时间(毫秒为单位)
  7. 支持动态调整conf(置信度)、iou的值,以及是否保存检测结果(结果默认生成在runs文件夹)
  8. 对检测到的类别,会进行分类统计,实时显示在右下角


项目运行指南

一、视频教程

anaconda和pycharm加载项目视频教程:  https://www.bilibili.com/video/BV1Q96NYkEQM/

项目环境依赖视频教程:  https://www.bilibili.com/video/BV19ez1YREdF/


二、图文教程

1、在anaconda创建独立虚拟环境


conda create -n strawberry python=3.8


2、在pycharm加载项目,添加刚刚创建的解释器,在终端运行如下代码

注:如想安装GPU版环境,需要先删除requestments.txt里面的torch和torchvision项,否则默认是CPU版环境

基于yolov8草莓叶片病虫害UI界面+python代码可视化检测系统_数据集_05


pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

基于yolov8草莓叶片病虫害UI界面+python代码可视化检测系统_可视化_06

3、安装完环境后,右键运行wzq.py文件启动(如果是安装GPU版,需要执行第4步才能运行)


4、如果在上述步骤2中删除了torch和torchvision项,想安装GPU版环境,执行下方命令安装GPU版pytorch


conda install pytorch==1.11.0 torchvisinotallow==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch


运行检测效果图

界面样式修改

提供了ui源文件,可以拖动到Qt编辑器中自定义修改颜色界面样式,具体的修改方法,可以参考:https://blog.51cto.com/wzqgzs/9845010​


数据集介绍:

这个是反光衣检测数据集,数据集内标注了反光衣和非反光衣(普通衣服)2种,已经划分好训练集和验证集分别是1857和531,共计2388张

全部数据集已经标注并且是txt格式,可以直接用于yolo目标检测的训练。

nc: 2

names: 

0: reflective_clothes

1: other_clothes


下方是yolov8训练200轮的结果


创作时间: