图片有些加载失败,推荐查看原文:https://blog.51cto.com/wzqgzs/12941644
背景:
在现代城市建设和工业发展中,工地安全一直是备受关注的焦点。随着城市化进程的加快,建筑工地数量激增,随之而来的安全事故也时有发生。其中,夜间或光线不足环境下的工地作业安全问题尤为突出。在这样的背景下,工地反光衣作为提高工人可见性、降低事故风险的重要防护装备,其正确使用和有效检测显得尤为重要。
反光衣,也称为高能见度服装,通过特殊的反光材料能够在光线照射下反射强烈的光线,使得穿着者在低光照条件下更容易被车辆和行人识别,从而有效预防交通事故和工地事故。然而,仅仅提供反光衣并不能保证其在所有情况下都能发挥应有的作用。反光衣的破损、污渍遮挡、不当穿着等问题都可能削弱其反光效果,增加安全风险。
因此,开发一个工地反光衣检测系统,对于确保工地安全、提高工作效率、降低事故率具有重要意义。该系统能够自动检测工人是否穿着反光衣、反光衣是否符合安全标准以及是否正确穿着,从而为工地安全管理提供技术支持。通过实时监控和预警,该系统有助于提升工地安全管理水平,保障工人的生命安全,同时也符合国家安全生产的法律法规要求。
软件介绍:
软件由微智启软件工作室基于yolov8目标检测+pyside6可视化源码库开发,运行在window系统,项目的尺寸是固定1489x759像素,推荐在1920x1080像素环境下使用,安装环境后,可以在pycharm或者vscode编辑器运行检测,推荐安装GPU版(有英伟达显卡)环境。可以拖动到Qt编辑器,自定义修改样式。
项目介绍:
该项目文件包含python代码、ui界面源文件、反光衣数据集(数据集详情看下文)+yolov8训练好的模型

①程序中图片和图标的存放位置,可以如果想快速替换里面的图片或者图标。只需把同名(以及后缀名)的图片,放到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】主要是图形化界面的一些方法,负责连接图形界面的一些按钮事件,绑定对应的方法,点击按钮后,执行什么操作由它控制。
为了方便阅读,把模型原有的英文标签名称修改成了中文的,如需原有英文,可以使用原有方案(上方注释的代码)
检测数据类型
- 图片(单图检测)
- 视频(mp4等离线视频)
- 电脑摄像头(例如USB或者笔记本自带摄像头)
- 文件夹(图片批量检测)
项目功能
- 默认提供strawberry.pt模型,该模型是使用yolov8训练了200轮得到的,模型和数据集的具体详情,查看下方介绍
- 支持同时显示检测结果图和原图,方便对比
- 提供了暂停/终止检测功能
- 提供检测进度条显示,掌控检测进度
- 实时统计当前帧检测到的数量
- 实时统计当前帧检测所消耗的时间(毫秒为单位)
- 支持动态调整conf(置信度)、iou的值,以及是否保存检测结果(结果默认生成在runs文件夹)
- 对检测到的类别,会进行分类统计,实时显示在右下角
项目运行指南
一、视频教程
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版环境

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

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轮的结果








