Skip to content

Repository files navigation

基于YOLOv11的安全装备检测与违规预警系统

本项目为 2026 届本科毕业设计实现版本
检测类别:helmet(安全帽)、vest(反光衣)

1. 项目简介

本系统基于 YOLOv11n 实现安全装备实时检测,并结合规则引擎完成违规预警。系统具备以下能力:

  • 实时视频检测(摄像头/视频文件)
  • 违规状态判定(未戴安全帽 / 未穿反光衣)
  • 声音报警
  • 违规截图自动保存
  • SQLite 日志存证
  • PyQt5 可视化控制界面

2. 项目结构

YOLOv11-Safety-Equipment-Detection/
├─ datasets/
│  └─ helmet-vest.v2i.yolov11/
│     ├─ train/
│     ├─ valid/
│     ├─ test/
│     └─ data.yaml
├─ runs/
│  └─ train/
│     └─ yolov11_ppe_v1002/
│        ├─ weights/
│        │  ├─ best.pt
│        │  └─ last.pt
│        └─ results.csv
├─ violations/               # 违规截图目录
├─ main.py                   # PyQt5 主程序(推荐运行)
├─ train.py                  # 训练脚本
├─ val.py                    # 验证脚本
├─ safety_logs.db            # 违规事件数据库
└─ README.md

3. 环境依赖

  • Python 3.8+
  • PyTorch(CUDA)
  • ultralytics
  • opencv-python
  • pyqt5
  • sqlite3(Python内置)

安装示例:

conda activate yolo_env
pip install ultralytics opencv-python pyqt5

4. 数据集配置

data.yaml 示例:

path: D:/Code/PycharmProjects/Practice/YOLOv11-Safety-Equipment-Detection/datasets/helmet-vest.v2i.yolov11
train: train/images
val: valid/images
test: test/images

nc: 2
names:
  0: helmet
  1: vest

5. 模型训练

python train.py

或命令行:

yolo detect train data=.../data.yaml model=yolo11n.pt epochs=100 imgsz=640 batch=8 device=0

6. 模型验证

python val.py

7. 运行系统(推荐)

python main.py

功能流程:

  1. 加载模型(best.pt)
  2. 导入视频源(默认摄像头)
  3. 开始检测
  4. 发生违规时触发:
    • UI日志提示
    • 声音报警
    • 截图保存到 violations/
    • 数据写入 safety_logs.db

8. 违规判定逻辑

  • COMPLIANT:检测到 helmet + vest
  • NO_HELMET:检测到 vest 但未检测到 helmet
  • NO_VEST:检测到 helmet 但未检测到 vest
  • NO_PPE_DETECTED:两者均未检测到

注:本项目为两类数据集,采用画面级规则判定。


9. 数据库表结构

表名:warning_events

字段名 类型 说明
id INTEGER 主键自增
event_time TEXT 事件时间
status TEXT 违规状态
confidence REAL 置信度
image_path TEXT 截图路径

10. 常见问题

Q1: yolo 命令无法识别

使用 Python API 运行(python main.py / python val.py)即可,不影响系统功能。

Q2: 摄像头打不开

检查 video_path=0 是否正确,或尝试更换为 1

Q3: 模型路径报错

确认 main.pymodel_path 对应真实 best.pt 路径。


11. 后续可扩展方向

  • 增加 person 类实现“人-装备关联判定”
  • 增加邮件/微信告警
  • 增加违规统计可视化报表
  • 接入多路摄像头与边缘部署

12. 版权与说明

本项目用于本科毕业设计学习与研究,数据集遵守原始来源授权协议。

About

Desktop PPE detection and violation warning system based on YOLOv11 (camera/video/image, alert logging, SQLite, CSV export).

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages