YOLO 施工安全帽目标检测模型

简介: 建筑工地的工人安全是许多建筑行业日益关注的问题。佩戴安全帽可以减少建筑工地工人的伤害,但由于各种原因,安全帽并不总是正确佩戴。因此,基于计算机视觉的自动安全帽检测系统极为重要。许多研究人员已经开发了基于机器和深度学习的头盔检测系统,但很少有人专注于建筑工地的头盔检测。
在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 -   3D模型预览图生成服务

头盔自动检测基本上是一个物体检测问题,可以使用深度学习和基于计算机视觉的方法来解决。由于深度学习在目标检测领域的计算方法和精度,深度学习及其在计算机视觉中的应用取得了突破性进展。目标识别方法一直是近年来计算机视觉领域的研究热点。目前有两种用于目标检测的先进深度学习方法:基于R-CNN(卷积神经网络)的目标检测算法,该算法首先生成候选区域,然后执行分类或回归,以及You Only Look Once(YOLO)和Single Shot MultiBox Detector(SSD)算法,仅使用一个 CNN 执行分类或回归。基于 R-CNN 的方法实现了相对较高的准确率,但缺点是执行时间较长,因此不适合实时场景。SSD算法运行速度更快,但在检测小物体方面存在问题,这在头盔自动检测中可能是个问题。因此,本研究使用具有不同架构的YOLO来自动检测建筑工地上的安全帽。

本文介绍了一种基于YOLO的实时计算机视觉自动安全帽检测系统。YOLO架构速度快,每秒可处理45帧,使基于YOLO的架构可用于实时安全帽检测。本研究使用包含 5000 张安全帽图像的基准数据集,分别以 60:20:20 (%) 的比例进一步划分,用于训练、测试和验证。实验结果表明,YOLOv5x架构实现了92.44%的最佳平均精度(mAP),即使在弱光条件下也能显示出优异的安全帽检测效果。

在本文章,将使用UnrealSynth虚幻合成数据生成器 来生成训练所需要的数据集,用户只需要将安全帽的3D模型导入UnrealSynth中,经过简单的配置就可以自动生成数据集,非常的简单方便:

基于YOLO的实时计算机视觉自动安全帽检测:

1. 场景准备

  • 将戴有安全帽和未戴安全帽的工人模型导入到场景。
  • 配置场景先关参数,如:生成的图片数据集的图片分辨率、生成的图片的数量等。

2. 生成数据集

设置参数后,点击【确定】后会在本地目录中...\UnrealSynth\Windows\UnrealSynth\Content\UserData 生成本地合成数据集,本地数据包含两个文件夹以及一个 yaml 文件:images、labels、test.yaml 文件;images中存放着生成的图片数据集,labels中存放着生成的标注数据集。

images和labels目录下各有两个目录:train 和 val,train 目录表示训练数据目录,val 表示验证数据目录,标注数据的格式如下所示:

0 0.68724 0.458796 0.024479 0.039815
0 0.511719 0.504167 0.021354 0.034259
0 0.550781 0.596759 0.039062 0.04537
0 0.549219 0.368519 0.023438 0.044444
0 0.47526 0.504167 0.009896 0.030556
0 0.470313 0.69537 0.027083 0.035185
0 0.570052 0.499074 0.016146 0.040741
0 0.413542 0.344444 0.022917 0.037037
0 0.613802 0.562037 0.015104 0.027778
0 0.477344 0.569444 0.017188 0.016667

synth.yaml是数据的配置文件,数据格式如下:

path:
train: images
val: images
test:
names:
 0: Safety helmet

3、YOLOv5模型训练

生成数据集后,下一步就是利用Yolo来训练模型,第一步,打开 ultralytics hub 在线训练工具,将刚才生成的数据集上传到ultralytics hub

将合成数据上传后,选择YOLO模型版本,确定好YOLO模型版本后,点击【continue】就可以开始使用ultralytics来训练集我们的模型了,如下所示:

选择YOLO模型后点击下一步将会生成用户key值,这个key值将在下一步模型训练时用到

复制【step1】中中的内容,点击【step2】进入到google Colab页面,如下所示:

首先,先点击step中的播放按钮,安装环境依赖,如上图所示;环境安装成功后,接下来将【Start】中的整个内容给都换掉,用在上一步中复制的key值整体替换里面原来的信息,如图:

然后点击播放按钮,开始训练模型,如下图所示:

模型训练需要一段时间...

4、训练模型验证

模型训练完成之后,可以用训练好的模型验证一下,用几张工地工人干活的场景图片,导入用图片来验证一下,操作步骤如图所示:

图片验证结果如下:


转载:https://www.mvrlink.com/yolo-construction-safety-helmet-target-detection-model/

目录
相关文章
|
6月前
|
机器学习/深度学习 编解码 监控
手把手改进yolo训练自己的数据(坑洼路面识别)
手把手改进yolo训练自己的数据(坑洼路面识别)
|
3月前
|
数据采集 数据处理 计算机视觉
4.3 图像分类ResNet实战:眼疾识别
这篇文章介绍了使用ResNet网络进行眼疾识别的实战流程,涵盖了计算机视觉任务研发的全流程,包括数据处理、数据预处理、数据读取器的定义,以及如何利用iChallenge-PM数据集进行模型训练和评估。
|
4月前
|
编解码 Go 文件存储
【YOLOv8改进 - 特征融合NECK】 DAMO-YOLO之RepGFPN :实时目标检测的创新型特征金字塔网络
【YOLOv8改进 - 特征融合NECK】 DAMO-YOLO之RepGFPN :实时目标检测的创新型特征金字塔网络
|
3月前
|
API 异构计算
4.3.2 图像分类ResNet实战:眼疾识别——模型构建
这篇文章介绍了如何使用飞桨框架中的ResNet50模型进行眼疾识别的实战,通过5个epoch的训练,在验证集上达到了约96%的准确率,并提供了模型构建、训练、评估和预测的详细代码实现。
|
3月前
|
机器学习/深度学习 算法 计算机视觉
5.2 单阶段目标检测模型YOLOv3
这篇文章详细介绍了单阶段目标检测模型YOLOv3的基本原理和网络结构,包括如何生成候选区域、锚框的设计、预测框的生成以及如何对这些候选区域进行标注,并通过卷积神经网络进行特征提取和预测。
|
4月前
|
机器学习/深度学习 计算机视觉
YOLOv10实战:红外小目标实战 | 多头检测器提升小目标检测精度
本文改进: 在进行目标检测时,小目标会出现漏检或检测效果不佳等问题。YOLOv10有3个检测头,能够多尺度对目标进行检测,但对微小目标检测可能存在检测能力不佳的现象,因此添加一个微小物体的检测头,能够大量涨点,map提升明显; 多头检测器提升小目标检测精度,1)mAP50从0.666提升至0.677
913 3
|
6月前
|
机器学习/深度学习 计算机视觉 网络架构
YOLOv9实时目标检测新SOTA
【2月更文挑战第6天】YOLOv9实时目标检测新SOTA
168 2
YOLOv9实时目标检测新SOTA
|
6月前
|
机器学习/深度学习
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
379 1
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
|
6月前
|
机器学习/深度学习 编解码
YOLOv5改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
YOLOv5改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
286 0
|
6月前
|
计算机视觉 Python
基于YOLOv8的自定义医学图像分割
基于YOLOv8的自定义医学图像分割