基于yolo5工地安全帽和禁入危险区域识别系统,附数据集

基于yolo5工地安全帽和禁入危险区域识别系统,附数据集

机器学习AI算法工程 10月8日

图片

向AI转型的程序员都关注了这个号👇👇👇

机器学习AI算法工程   公众号:datayx

 


该项目是使用 YOLOv5 来训练在智能工地安全领域中头盔目标检测的应用

 

图片

 

图片

 

图片

 

代码及运行教程,训练模型,数据集  获取:

关注微信公众号 datayx  然后回复  安全帽  即可获取。

AI项目体验地址 https://loveai.tech

 

创建自己的数据集配置文件

因为我这里只是判断 【人没有带安全帽】、【人有带安全帽】、【人体】 3个类别 ,基于 data/coco128.yaml 文件,创建自己的数据集配置文件 custom_data.yaml

图片

 

创建每个图片对应的标签文件

使用标注工具类似于 Labelbox 、CVAT 、精灵标注助手 标注之后,需要生成每个图片对应的 .txt 文件,其规范如下:

  • 每一行都是一个目标

  • 类别序号是零索引开始的(从0开始)

  • 每一行的坐标 class x_center y_center width height 格式

  • 框坐标必须采用归一化的 xywh格式(从0到1)。如果您的框以像素为单位,则将x_centerwidth除以图像宽度,将y_centerheight除以图像高度。代码如下:

 

图片

 

生成的 .txt 文件放置的名字是图片的名字,放置在 label 文件夹中,例如:

 

图片

 

聚类得出先验框(可选)

图片

 

 

选择一个你需要的模型

在文件夹 ./models 下选择一个你需要的模型然后复制一份出来,将文件开头的 nc = 修改为数据集的分类数,下面是借鉴 ./models/yolov5s.yaml来修改的

 

图片

 

图片

 

开始训练

这里选择了 yolov5s 模型进行训练,权重也是基于 yolov5s.pt 来训练

图片

 

其中,yolov5s.pt 需要自行下载放在本工程的根目录即可,下载地址 官方权重

看训练之后的结果

训练之后,权重会保存在 ./runs 文件夹里面的每个 exp 文件里面的 weights/best.py ,里面还可以看到训练的效果 

 

侦测图片会保存在 ./inferenct/output/ 文件夹下

运行命令:

图片

 

 

检测危险区域内是否有人

 

危险区域标注方式,

我这里使用的是 精灵标注助手 标注,生成了对应图片的 json 文件

侦测图片会保存在 ./inferenct/output/ 文件夹下

运行命令:

图片

效果:在危险区域里面的人体会被 红色框 选出来

 

生成 ONNX

安装 onnx 库

pip install onnx

 

执行生成

图片

 

增加数据集的分类

关于增加数据集分类的方法:

SHWD 数据集里面没有 person 的类别,先将现有的自己的数据集执行脚本生成 yolov5 需要的标签文件 .txt,之后再用 yolov5x.pt 加上 yolov5x.yaml ,使用指令检测出人体

python detect.py --save-txt --source ./自己数据集的文件目录 --weights ./weights/yolov5x.pt

yolov5 会推理出所有的分类,并在 inference/output 中生成对应图片的 .txt 标签文件;

修改 ./data/gen_data/merge_data.py 中的自己数据集标签所在的路径,执行这个python脚本,会进行 person 类型的合并

posted @   水木清扬  阅读(1080)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2018-12-22 faster rcnn 源码学习-------数据读入及RoIDataLayer相关模块解读
点击右上角即可分享
微信分享提示