基于改进的YOLOV11的建筑工地头盔安全检测系统
前言
本系统是基于改进的YOLOV11的建筑工地头盔安全检测系统。
可以实现图片检测、视频检测、摄像头检测三种方式。能够检测出是否佩戴头盔。另外添加区域报警功能,使用YOLO目标检测算法、ByteTrack跟踪算法和多边形区域检测算法对绘制的区域中未佩戴头盔的目标进行语音播报提示以及邮箱报警,并将目标保存至后台。最后使用可视化界面对检测结果进行可视化显示。
技术栈使用YOLOV11目标检测、Pytorch、Vue3、Ts、element-plus、Flask、Echarts、Axios、MySQL等技术。
系统还支持分用户管理。分为管理员和普通用户,管理员可查看所有记录,并管理用户。普通用户只可查看自己的记录。
界面简洁、美观。支持主题色修改、布局样式修改、组件大小修改等。
1.界面功能介绍
1.登陆注册
系统使用MySQL作为数据库实现登陆注册功能。如下:


2.检测结果可视化
登陆成功后来到系统首页,即可看到检测结果的可视化界面。

完整界面展示

3.头盔检测
点击图像检测即可进入检测界面。

在这里可以选择模型、设置最小置信度并上传检测图片完成检测识别功能。
点击开始预测即可检测识别。

4.视频检测
选择视频检测模块即可检测视频。

在这里可以选择模型、设置最小置信度并上传检测视频完成检测识别功能。

点击开始处理后即可检测识别。

处理完成后会显示保存进度。

5.摄像检测
选择摄像检测模块即可检测摄像头实时内容。

在这里可以选择模型、设置最小置信度完成检测识别功能。点击开始录制后即可检测识别。

处理完成后会保存检测内容。

6.视频区域报警
新增视频区域报警功能,使用YOLO目标检测算法、ByteTrack跟踪算法和多边形区域检测算法对绘制的区域中未佩戴头盔的目标进行语音播报提示以及邮箱报警,并将目标保存至后台。

在选择权重、设置最小置信度并上传视频后即可手动绘制检测区域。

绘制完成后点击确认区域即可开始检测。


开始检测后,若检测区域中出现未佩戴头盔的目标就会触发语音提示“检测到为佩戴头盔”并将该画面保存至后台等待管理员处理,同时会将其发送到指定邮箱中。


同样的检测完成后会将检测记录保存到视频检测记录中。

7.摄像区域报警
新增摄像区域报警功能,使用YOLO目标检测算法、ByteTrack跟踪算法和多边形区域检测算法对绘制的区域中未佩戴头盔的目标进行语音播报提示以及邮箱报警,并将目标保存至后台。

与视频报警不同的是,摄像报警功能直接绘制区域。

绘制完检测区域后即可检测。


与视频区域报警功能一样,若检测区域中出现未佩戴头盔的目标就会触发语音提示“检测到为佩戴头盔”并将该画面保存至后台等待管理员处理,同时会将其发送到指定邮箱中。
8.图片识别记录
系统会保存用户识别的记录,包括原始图片、预测图片、识别权重、置信度、最小阈值、总用时、识别用户、识别时间等信息。其中会分别记录检测的结果以及置信度。
这里做了权限管理,每个用户只能查看自己的识别记录。但是管理员可以查看所有记录。

下拉内容即可查看详细识别结果

同时也支持按用户名、检测时间、识别结果进行模糊查询以及批量删除等功能。


9.视频识别记录
系统会保存用户识别的记录,包括原视频、处理结果、识别权重、最小阈值、识别用户、识别时间等信息。
这里做了权限管理,每个用户只能查看自己的识别记录。但是管理员可以查看所有记录。

点击查看详情可以查看更多信息

这里可以开始播放视频、暂停播放。同时也可拖动视频
同样也支持按用户名、检测时间进行模糊查询以及批量删除等功能。

10.摄像识别记录
系统会保存用户摄像识别的记录,包括处理结果、识别权重、最小阈值、识别用户、识别时间等信息。
这里做了权限管理,每个用户只能查看自己的识别记录。但是管理员可以查看所有记录。

同样也支持按用户名、检测时间进行模糊查询以及批量删除等功能。

11.用户管理
管理员可对用户信息进行管理,包括对用户的增删改查。



12.处罚管理
在视频区域报警和摄像区域报警中检测的异常信息会保存在处罚管理中,由管理员进行处罚。

点击去处罚即可对未佩戴头盔的人员进行触发。

同样也支持按用户名、检测时间、状态进行模糊查询以及批量删除等功能。

13.个人中心
用户在个人中心可对自己的信息进行修改

2.代码目录介绍
1.helmet_detect文件
这是系统的整体文件,包含:
1.yolo_helmet_detection_flask文件—具体实现YOLO算法和后端的工程文件,使用python语言。
2.yolo_helmet_detection_vue文件—具体实现系统前端Web界面的共工程文件,使用Vue3框架。
3.ffmpeg-7.1-full_build文件—系统所需出视频处理的软件。
4.helmet.sql文件—系统数据库文件。

2.yolo_helmet_detection_flask文件

这是实现系统算法的工程文件。
1.controller—这是后端的控制类文件。
2.dataset—这是存放系统训练所需的数据集。
3.entity—这是后端的实体类文件。
4.files—这是后端上传的图片、视频文件存放目录。
5.runs–保存训练结果(训练权重和图片信息)以及预测过程中的视频结果(临时文件,会删掉)。
6.ultralytics–这是YOLO核心源码算法以及改进的代码。
7.utils–方法工具类文件。
8.weights–实际使用的训练权重。
9.main.py–主函数。只运行这个即可。
10.train.py–训练文件,可重新训练自己的权重。
3.yolo_helmet_detection_vue文件

node_modules是依赖包,实际源码不包括,需手动npm install。
这是实现系统前端Web界面的共工程文件,具体前端逻辑在src目录中。
3.YOLOV11改进
系统只做了一处改进,需要更多改进可私信我。
yolov11训练200轮的结果。

yolov11训练200轮的结果图。

改进后训练200轮的结果。

改进后训练200轮的结果图。

3.源码获取
更多推荐


所有评论(0)