在线工具推荐: 三维数字孪生场景工具 - 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、训练模型验证
模型训练完成之后,可以用训练好的模型验证一下,用几张工地工人干活的场景图片,导入用图片来验证一下,操作步骤如图所示:
图片验证结果如下: