项目简介
基于 YOLO 的智能安全帽佩戴检测平台,面向施工现场图片识别、检测记录管理与安全宣传信息展示等业务场景。系统后端采用 Flask 搭建 RESTful API 服务,结合数据库进行业务数据持久化存储,并通过 JWT 实现用户身份认证与接口访问控制。
在核心识别能力方面,系统集成了训练完成的 YOLOv8 安全帽检测模型 best.pt。用户上传现场图片后,后端首先完成文件格式与大小校验,将原始图片保存到本地媒体目录,然后调用 YOLO 模型执行目标检测,识别图片中的 person、head、helmet 等目标信息。检测完成后,系统会自动生成带标注框的结果图片,并提取检测框坐标、类别名称、置信度和统计结果,形成结构化检测数据返回前端展示。
训练过程
整体流程可以概括为“数据集转换与划分 -> YOLOv8 模型训练 -> 验证集与测试集评估 -> 可视化推理 -> 佩戴状态规则化判断”五个阶段。与直接调用开源模型不同,本项目首先根据原始标注数据重新整理出适配 YOLOv8 的检测数据集结构,再使用 yolov8n.pt 进行迁移学习训练,最后加载训练得到的权重完成预测与展示。
预测过程
- 懒加载
best.pt模型,避免每次请求重复初始化 - 接收用户上传图片并调用
model.predict() - 提取检测框坐标、类别编号和置信度
- 生成带标注框的结果图片并保存到本地
- 将检测统计结果返回给前端显示