基于YOLO模型建筑工地个人防护设备目标检测

使用安全装备可以保护他们免受建筑工地的意外事故。据统计,每年有数以万计的工人在建筑工地受到严重伤害,造成终生困难。然而,通过自我监控来确保工人穿戴个人防护装备非常重要。在这方面,需要一个准确和快速的系统来检测工人是否在施工现场使用个人防护装备。

在线工具推荐: 三维数字孪生场景工具  -  GLTF/GLB在线编辑器  -  Three.js AI自动纹理化开发  YOLO 虚幻合成数据生成器  -  3D模型在线转换  -   3D模型预览图生成服务

通过众多的对策,与其他行业相比,建筑业的死亡人数仍然更高。个人防护装备 (PPE) 正在不断改进以避免这些事故,尽管工人有意或无意地忘记使用此类安全措施。手动运行安全检查具有挑战性,因为现场的同事数量可能很大;然而,当局的首要职责是为工地上的工人提供最大程度的保护。基于这些动机,我们创建了一个基于计算机视觉 (CV) 的自动 PPE 检测系统,可以检测各种类型的 PPE。这项研究还创建了一个名为CHVG(四色安全帽、背心、安全玻璃)的新数据集,其中包含八种不同的类别,包括四种彩色安全帽、背心、安全玻璃、人体和人头。该数据集包含这 1 类的 699,<> 张图像和相应的注释。对于检测算法,本研究使用了 You Only Look Once (YOLO) 系列的无锚点架构 YOLOX,该架构在令人满意的时间间隔内产生了比其他目标检测模型更好的性能。此外,本研究发现,与其他三个版本的 YOLOX 相比,YOLOX-m 模型的平均精度 (mAP) 最高。

与所有其他行业相比,在建筑工地中,受伤率超过71%(。但是,可以通过穿戴个人防护设备 (PPE) 来保护工人免受这些类型的可怕危险。安全帽、安全眼镜、手套、安全背心、护目镜等都作为个人防护装备包括在内。工人可以使用安全帽来防止轻微的头部受伤。戴安全帽可以减少从高处坠落时颅骨骨折、颈部扭伤和脑震荡的机会。它还可以降低严重脑损伤的可能性。因此,安全帽是建筑工地个人防护装备的重要组成部分。眼外伤是工作场所非常普遍的现象,尤其是在建筑工地。根据美国国家职业安全与健康研究所 (NIOSH) 的数据,美国约有 2,000 名工人患有与工作有关的眼部受伤。

美国劳工统计局(BLS)的一项研究表明,事故发生时,近五分之三的眼部受伤工人没有佩戴任何防护罩。安全背心是另一种个人防护装备,可帮助工人更容易被其他同事看到。背心的反光条线可能有助于推断工人的位置,并减少在低光照条件下和恶劣天气下发生事故的机会(。安全帽颜色可能在区分不同国家的工人方面发挥着至关重要的作用。

在英国 (UK),现场主管佩戴黑色安全帽,投石者/信号员佩戴橙色安全帽,现场经理佩戴白色安全帽,其余人员佩戴蓝色安全帽。在建筑工地,工人有意或无意地忘记穿戴任何可能对他们或整个建筑工地造成危险的个人防护装备。适当的步骤可以降低即将发生危险的风险。工地当局应确保每个工人在施工现场工作时都穿戴个人防护装备。但是,手动检查既不费时又费钱。背景研究发现,正确检测 PPE 是不可避免的,因为检测错误或检测不足会导致严重的问题。出于这一动机,作者认为,对PPE的宝贵检测有助于以工业方式保护工人的安全。此外,额外的 PPE 检测,增加类号,增加了计算机视觉的检测挑战。这就是为什么这项研究试图识别不同类型的个人防护装备。

最近发表的某论文将用于 PPE 检测的 YOLOv5 架构引入建筑工地,该架构可检测六类,包括四种颜色的头盔、背心和人员。这项研究的作者试图通过检测八类来提高CV的可靠性,并确保在建筑工地中检测更多的安全装备。因此,通过扩展提出的数据集来生成一个新的数据集。引入无锚训练架构,对建筑工地的PPE、人体和人头进行检测。由于上述情况会出现在真实的建筑工地中,因此图像中的几次光度变化可以创建人为的雨天、朦胧和弱光条件图像。YOLOX 架构比其他最先进的方法产生更好的性能。

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

基于YOLO的实时计算机视觉工地个人防护设备目标帽检测:

1. 场景准备

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

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、训练模型验证

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

图片验证结果如下:

 转载:基于YOLO模型建筑工地个人防护设备目标检测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/204605.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发-ArkTS 语言-状态管理

[写在前面: 文章多处用到gif动图&#xff0c;如未自动播放&#xff0c;请点击图片] 衔接上一篇:鸿蒙开发-ArkTS 语言-基础语法 3. 状态管理 变量必须被装饰器装饰才能成为状态变量&#xff0c;状态变量的改变才能导致 UI 界面重新渲染 概念描述状态变量被状态装饰器装饰的变…

ArrayList源码全面解析

一、概述 ArrayList 是 java 集合框架中比较常用的数据结构,继承自 AbstractList&#xff0c;实现了 List 接口。底层采用数组来实现。ArrayList 实现了java.io.Serializable接口&#xff0c;这意味着ArrayList支持序列化&#xff0c;能通过序列化去传输。 1.1、底层数据结构…

python基础练习题库实验6

文章目录 题目1代码实验结果题目2代码实验结果题目3代码实验结果题目4代码实验结果题目总结题目1 根据以下规范编写一个函数: 函数名称:triple输入参数:1个输入参数数据类型字符串返回值:函数返回1个字符串值。该字符串由每个字符重复3次的句子构成。例如,如果句子是Uni,…

Vue2问题:如何全局使用less和sass变量?

前端功能问题系列文章&#xff0c;点击上方合集↑ 序言 大家好&#xff0c;我是大澈&#xff01; 本文约2400字&#xff0c;整篇阅读大约需要4分钟。 本文主要内容分三部分&#xff0c;如果您只需要解决问题&#xff0c;请阅读第一、二部分即可。如果您有更多时间&#xff…

ESP32-Web-Server编程-建立第一个网页

ESP32-Web-Server编程-建立第一个网页 HTTP 简述 可能你每天都要刷几个短视频&#xff0c;打开几个网页来娱乐一番。当你打开一个网络上的视频或者图片时&#xff0c;其实际发生了下面的流程&#xff1a; 其中客户端就是你的浏览器啦&#xff0c;服务器就是远程一个存放视频或…

【网络奇幻之旅】那年我与大数据的邂逅

&#x1f33a;个人主页&#xff1a;Dawn黎明开始 &#x1f380;系列专栏&#xff1a;网络奇幻之旅 ⭐每日一句&#xff1a;循梦而行&#xff0c;向阳而生 &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️ 文章目录 &#x1f4…

Mysql的二阶段提交

先看执行器与InnoDB引擎是如何更新一条指定的数据的 可以看到&#xff0c;InnoDB在写redo log时&#xff0c;并不是一次性写完的&#xff0c;而有两个阶段&#xff0c;Prepare与Commit阶段&#xff0c;这就是"两阶段提交"的含义。 为什么要写redo log&#xff0c;不…

win_sever系列:windows sever 2012R和windows sever 2016如何开启远程连接服务以及问题解决

windows sever 2012R和windows sever 2016如何开启远程连接服务以及问题解决 一. windows sever 2012R和windows sever 2016如何开启远程连接服务前言一、确保需要进行远程的两个服务器处于同一网段二、关闭防火墙三、需要把被远程的电脑的允许远程打开3.1打开windows sever 20…

N8975A/安捷伦Agilent N8975A噪声系数分析仪

181/2461/8938产品概述N8975A是一款高性能噪声系数分析仪 用于进行快速、准确且可重复的噪声系统测量。 N8975A易用的特性能将复杂的测量简单化并让您获得值得信任的可重复且可靠的测量结果。 N8975A可同时提供噪声系数和增益测量&#xff0c;并可以多种格式查看、打印和保存…

CCFCSP试题编号:202109-2试题名称:非零段划分

用差分法 #include<iostream> #include<algorithm> #include<cstring> using namespace std;const int N 500000; const int M 10000; int a[N 2 ] { 0 }; int d[M 1] { 0 };int main() {int n;cin >> n;for (int i 1; i < n; i){cin >&g…

Android修行手册-溢出父布局的按钮实现点击

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

【vue】v-model在表单元素上的应用

表单元素&#xff1a; https://blog.csdn.net/m0_67930426/article/details/134655644 使用模板 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head><body>&l…

UDP实现群聊通信

服务器端 #include <myhead.h> #define UDPIP "192.168.115.92" #define UDPPORT 6666 //存储客户信息的链表结构体 typedef struct Node {char name[20];struct sockaddr_in cin;struct Node *next; }*linklist; //数据结构体 struct data_cli {char type;ch…

12.docker的网络-host模式

1.docker的host网络模式简介 host模式下&#xff0c;容器将不会虚拟出自己的网卡、配置IP等&#xff0c;而是使用宿主机的IP和端口&#xff1b;也就说&#xff0c;宿主机的就是我的。 2. 以host网络模式创建容器 2.1 创建容器 我们仍然以tomcat这个镜像来说明一下。我们以h…

Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏

deepin-terminal 安装 源里面自带了这个软件&#xff0c;可以直接装 sudo apt install deepin-terminal 启动 按下Win键&#xff0c;输入deep即可快速检索出图标&#xff0c;点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口&#xff0…

C语言数据结构之顺序表(上)

前言&#xff1a; ⭐️此篇博文主要分享博主在学习C语言的数据结构之顺序表的知识点时写的笔记&#xff0c;若有错误&#xff0c;还请佬指出&#xff0c;一定感谢&#xff01;制作不易&#xff0c;若觉得内容不错可以点赞&#x1f44d;收藏❤️&#xff0c;这是对博主最大的认可…

基于C#实现并查集

一、场景 有时候我们会遇到这样的场景&#xff0c;比如:M{1,4,6,8},N{2,4,5,7}&#xff0c;我的需求就是判断{1,2}是否属于同一个集合&#xff0c;当然实现方法有很多&#xff0c;一般情况下&#xff0c;普通青年会做出 O(MN)的复杂度&#xff0c;那么有没有更轻量级的复杂度呢…

完美解决k8s master节点无法ping node节点中的IP或Service NodePort的IP

1、问题一 使用搭建好了K8S集群&#xff0c;先是node节点加入k8s集群时&#xff0c;用的内网IP&#xff0c;导致master节点无法操作node节点中的pod&#xff08;这里的不能操作&#xff0c;指定是无法查看node节点中pod的日志、启动描述、无法进入pod内部&#xff0c;即 kubec…

游戏开发引擎Cocos Creator和Unity如何对接广告-AdSet聚合广告平台

在游戏开发方面&#xff0c;游戏引擎的选择对开发过程和最终的产品质量有着重大的影响&#xff0c;Unity和Cocos是目前全球两大商用、通用交互内容开发工具&#xff0c;这两款引擎受到广泛关注&#xff0c;本文将从多个维度对两者进行比较&#xff0c;为开发者提供正确的选择建…

SEO工具-免费功能最全的5款SEO工具

随着互联网的蓬勃发展&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为许多企业和个人网站必备的关键技能。然而&#xff0c;对于初学者或者运营小型网站的人来说&#xff0c;使用专业的SEO工具可能涉及较高的成本。在这篇文章中&#xff0c;我们将向您推荐五款高…