安全帽与反光衣一体化检测方法、系统、设备及存储介质

文档序号:33560185发布日期:2023-03-22 13:56阅读:96来源:国知局
安全帽与反光衣一体化检测方法、系统、设备及存储介质

1.本发明属于计算机视觉领域,涉及一种安全帽与反光衣一体化检测方法、系统、设备及存储介质。


背景技术:

2.目标检测实现对图像或视频中的目标进行分类和定位的任务,在工业、农业、信号交通及医疗等诸多领域有广泛的应用。因此,长久以来目标检测技术都是计算机视觉领域的一个研究热点和研究难点。建筑施工行业具有露天高处任务多、作业条件变动大、现场环境复杂、作业受限及不安全因素多等特点,长久以来建筑施工行业是一个危险性较大的行业。尽管建筑工地安全事故频发,但大部分施工人员安全防护意识较差,常常因为偷懒或抱着侥幸心理而不佩戴安全帽或不穿着反光衣,给施工作业带来了巨大的安全隐患。为防患于未然,及时且有效的提醒建筑工人做好自身防护变得尤为重要。
3.综合来看,目前已有的建筑工地工人安全检测方式有以下几种:(1)传统人工检测,在建筑工地入口和建筑工地内设置安全员,对施工人员进行人工排查,检测工人是否佩戴安全帽或穿着反光衣。但是该方式具有极强的个人主观性,检测精度低、检测速度慢。(2)使用以faster rcnn为代表的两阶段检测算法对施工人员进行安全检测,虽然检测精度较高,并且在一定程度上减少了人力成本,但是其检测速度较慢,更多的适用于单帧图片检测场景,不能做到视频流实时检测。(3)使用以yolo算法为代表的单阶段检测算法对施工人员进行安全检测,相较于两阶段检测算法,检测速度较快。
4.但是,现阶段落地的工地安全检测算法往往聚焦于对安全帽的检测,忽视了反光衣检测这一关键因素。其次,基于深度学习的检测算法在处理景噪声大、干扰物较多及人员较密集的建筑工地视频流时,对于视频流中每一帧不能做到完全准确的判断,未识别目标物的情况时有出现。且现有检测算法只能单一识别安全帽或安全衣,且缺少安全帽和安全衣对个体的匹配处理,导致直接对预警对象的判断不足或重复判断,这种处理方式势必会产生大量错检、漏检结果。


技术实现要素:

5.本发明的目的在于克服上述现有技术中,现有工地工人安全检测方法的检测物品单一、检测实时性不强及易用性较差的缺点,提供一种安全帽与反光衣一体化检测方法、系统、设备及存储介质。
6.为达到上述目的,本发明采用以下技术方案予以实现:
7.本发明第一方面,提供一种安全帽与反光衣一体化检测方法,包括:
8.获取待检测视频流信息,并根据待检测视频流信息逐帧提取待检测图片;
9.调用预设目标检测模型,在各帧待检测图片上标注反光衣检测锚框与安全帽检测锚框,得到各帧待检测图片的锚框标记结果;
10.根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框
的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽;
11.当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,生成当前待检测工人的检测异常信息。
12.可选的,所述预设目标检测模型通过采用预设训练集训练yolov5s基准模型得到。
13.可选的,所述各帧待检测图片的锚框标记结果中,第i帧待检测图片的锚框标记结果为:其中,为第i帧待检测图片的锚框标记结果的第z个锚框的标记信息,标记信息包括锚框左上角坐标、锚框右下角坐标和锚框类别其中,helmet为安全帽检测锚框,clothes为反光衣检测锚框。
14.可选的,所述根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽包括:
15.对于各帧待检测图片的各锚框:
16.当时,将当前锚框作为待检测工人并根据当前锚框的标记信息获取待检测工人的工人信息:{position,has_helmet,left_frame};其中,position表示工人位置,has_helmet表示是否佩戴安全帽,初始值为false,left_frame表示本轮检测周期的剩余帧数,初始值为n;
17.根据待检测工人的工人位置,判断待检测工人的位置与第i-1帧待检测图片的待检测工人集合w
i-1
中各待检测工人的位置关系;
18.当待检测工人的工人位置为w
i-1
中的第r个待检测工人在第i帧待检测图片中的位置,根据待检测工人的工人信息更新待检测工人的工人信息,并将待检测工人的工人信息中的本轮检测周期的剩余帧数减1;
19.当待检测工人的工人位置不是w
i-1
中的任一待检测工人在第i帧待检测图片中的位置时,将待检测工人添加至w
i-1
中,遍历第i帧待检测图片的锚框标记结果的所有锚框标记信息后,得到第i帧待检测图片的待检测工人集合wi;
20.当时,根据当前锚框的标记信息与wi中各待检测工人的工人信息,确定当前锚框所属的待检测工人,并令当前锚框所属的待检测工人的工人信息中的has_helmet=true;其中,has_helmet=true表示佩戴安全帽;
21.当待检测工人的工人信息中,left_frame=0且has_helmet=false时,当前待检测工人在连续n帧待检测图片中均不存在安全帽。
22.可选的,所述根据待检测工人的工人位置,判断待检测工人的位置与第i-1帧待检测图片的待检测工人集合w
i-1
中各待检测工人的位置关系包括:
23.获取w
i-1
中各待检测工人的工人位置,并根据w
i-1
中各待检测工人的工人位置,计算w
i-1
中各待检测工人的工人位置与待检测工人的工人位置之间的交集面积;并计算wi-1
中各待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值;
24.当w
i-1
中的第r个待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值大于预设比值阈值时,待检测工人的工人位置为w
i-1
中的第r个待检测工人在第i帧待检测图片中的位置;
25.当w
i-1
中不存在待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值大于预设比值阈值时,待检测工人的工人位置不是w
i-1
中的任一待检测工人在第i帧待检测图片中的位置。
26.可选的,所述根据当前锚框的标记信息与wi中各待检测工人的工人信息,确定当前锚框所属的待检测工人包括:
27.获取wi中工人信息中的has_helmet=false的待检测工人,得到待计算工人集;
28.根据当前锚框的标记信息,获取当前锚框的锚框位置:(dx1,dy1)和(dx2,dy2);其中,(dx1,dy1)为当前锚框左上角坐标,(dx2,dy2)为当前锚框右下角坐标;
29.根据wi中各待检测工人的工人信息,获取待计算工人集中各待检测工人的工人位置:(wx1,wy1)和(wx2,wy2);其中,(wx1,wy1)为当前待检测工人左上角坐标,(wx2,wy2)为当前待检测工人右下角坐标;
30.通过下式计算当前锚框的中心点坐标(chx,chy)和待计算工人集中各待检测工人的中心点坐标(ccx,ccy):
[0031][0032][0033]
通过下式计算待计算工人集中各待检测工人的中心点坐标(ccx,ccy)和当前锚框的中心点坐标(chx,chy)之间的欧氏距离real_distance:
[0034][0035]
对于待计算工人集中各待检测工人:
[0036]
当chx<wx1||chx>wx2时,通过下式计算当前待检测工人对当前锚框的最大可接受距离max_distance:
[0037][0038]
y=|chy-ccy|
[0039][0040]
当chx>wx1&chx<wx2时,通过下式计算当前待检测工人对当前锚框的最大可接
受距离max_distance:
[0041]
x=|chx-ccx|
[0042][0043][0044]
其中,h_threashld为预设参数;
[0045]
对于待计算工人集中各待检测工人:当当前待检测工人的中心点坐标和当前锚框的中心点坐标之间的欧氏距离<当前待检测工人对当前锚框的最大可接受距离时,当前锚框所属的待检测工人为当前待检测工人。
[0046]
可选的,还包括:当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,保存第n帧待检测图片;以及在第n帧待检测图片上渲染当前待检测工人的检测异常信息,并进行可视化显示。
[0047]
本发明第二方面,提供一种安全帽与反光衣一体化检测系统,包括:
[0048]
数据获取模块,用于获取待检测视频流信息,并根据待检测视频流信息逐帧提取待检测图片;
[0049]
目标检测模块,用于调用预设目标检测模型,在各帧待检测图片上标注反光衣检测锚框与安全帽检测锚框,得到各帧待检测图片的锚框标记结果;
[0050]
异常检测模块,用于根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽;
[0051]
异常处理模块,用于当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,生成当前待检测工人的检测异常信息。
[0052]
本发明第三方面,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述安全帽与反光衣一体化检测方法的步骤。
[0053]
本发明第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述安全帽与反光衣一体化检测方法的步骤。
[0054]
与现有技术相比,本发明具有以下有益效果:
[0055]
本发明安全帽与反光衣一体化检测方法,通过调用预设目标检测模型,在各帧待检测图片上标注反光衣检测锚框与安全帽检测锚框,得到各帧待检测图片的锚框标记结果,然后根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽,最终实现安全帽与反光衣对一体化检测,高了工人对合规穿着反光衣的重视程度,很大程度上杜绝了存在安全隐患的行为的发生,对于提高建筑工地生产活动安全性具有重要意义。同时,将将各帧待检测图片中标注反光衣检测锚框的位置视为待检测工人,在场景噪声大、干扰物较多以及人员较密集的场景下,距离摄像头位置较远的工人不再被视为异常检测的
对象,这种做法大幅度地降低了计算成本,算法只需检测当前图片帧中的主体人物,提升了检测效率与可信度。
附图说明
[0056]
图1为本发明实施例的安全帽与反光衣一体化检测方法流程图。
[0057]
图2为本发明实施例的单帧待检测图片的锚框处理流程图。
[0058]
图3为本发明实施例的工人移动预测算法原理示意图。
[0059]
图4为本发明实施例的安全帽归属决策算法原理示意图。
[0060]
图5为本发明实施例的工人未佩戴安全帽时系统发出警告示例图。
[0061]
图6为本发明实施例的工人合规佩戴安全帽与反光衣时系统识别示例图。
[0062]
图7为本发明实施例的本地视频异常检测结果示例图。
具体实施方式
[0063]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0064]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0065]
如背景技术中所论述的,目前工地安全检测方法还存在如下问题尚未解决。首先,安全帽和反光衣分别识别模型已有较多基础,在建筑作业时,对工人来说,合规穿着反光衣可以警示过往的人员和车辆,保护工人的人身安全。但现阶段落地的工地安全检测算法往往聚焦于对安全帽的检测,忽视了反光衣检测这一关键因素,而两者一体化识别方案更是较少;其次,基于深度学习的检测算法在处理景噪声大、干扰物较多及人员较密集的建筑工地视频流时,对于视频流中每一帧不能做到完全准确的判断,未识别目标物的情况时有出现;目前的实时检测算法只能单一识别安全帽或安全衣,两者同时识别相关研究不足,且缺少安全帽和安全衣对个体的匹配处理,导致直接对预警对象的判断不足或重复判断。这种处理方式势必会产生大量错检、漏检结果。
[0066]
下面结合附图对本发明做进一步详细描述:
[0067]
参见图1,本发明一实施例中,提供一种安全帽与反光衣一体化检测方法,有效解决传统工地工人安全检测技术的检测物品单一、检测实时性不强、易用性较差等技术问题,具体的,包括以下步骤:
[0068]
s1:获取待检测视频流信息,并根据待检测视频流信息逐帧提取待检测图片。
[0069]
s2:调用预设目标检测模型,在各帧待检测图片上标注反光衣检测锚框与安全帽检测锚框,得到各帧待检测图片的锚框标记结果。
[0070]
s3:根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽。
[0071]
s4:当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,生成当前待检测工人的检测异常信息。
[0072]
综上,本发明安全帽与反光衣一体化检测方法,通过调用预设目标检测模型,在各帧待检测图片上标注反光衣检测锚框与安全帽检测锚框,得到各帧待检测图片的锚框标记结果,然后根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽,最终实现安全帽与反光衣对一体化检测,提高了工人对合规穿着反光衣的重视程度,很大程度上杜绝了存在安全隐患的行为的发生,对于提高建筑工地生产活动安全性具有重要意义。同时,将将各帧待检测图片中标注反光衣检测锚框的位置视为待检测工人,在场景噪声大、干扰物较多以及人员较密集的场景下,距离摄像头位置较远的工人不再被视为异常检测的对象,这种做法大幅度地降低了计算成本,算法只需检测当前图片帧中的主体人物,提升了算法的检测效率与可信度。
[0073]
在一种可能的实施方式中,所述预设目标检测模型通过采用预设训练集训练yolov5s基准模型得到。
[0074]
具体的,本实施方式中,基于voc2021、voc2028与安全衣安全帽识别竞赛公开数据集,分别选取了879张、313张与1314张图片样本,按照voc数据格式标注后作为训练所需的训练集,利用yolov5s基准模型在训练集上进行了迁移学习,利用训练结束后的模型作为最终的目标检测模型。
[0075]
利用yolov5s基准模型在训练集上对反光衣和安全帽两者对象同时进行了迁移学习,同时考虑了不平衡数据集下类别预测精度差异,通过动态调整安全帽与反光衣的输入比例,很大程度上提高了模型对反光衣和安全帽的检测精度,分别获得了97.1%和94.5%的召回率,识别精度大大提升。
[0076]
在一种可能的实施方式中,所述各帧待检测图片的锚框标记结果中,第i帧待检测图片的锚框标记结果为:其中,为第i帧待检测图片的锚框标记结果的第z个锚框的标记信息,标记信息包括锚框左上角坐标、锚框右下角坐标和锚框类别其中,helmet为安全帽检测锚框,clothes为反光衣检测锚框。
[0077]
可选的,所述根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽包括:对于各帧待检测图片的各锚框:
[0078]
当时,将当前锚框作为待检测工人并根据当前锚框的标记信息获取待检测工人的工人信息:{position,has_helmet,left_frame},position表示工人位置,has_helmet表示是否佩戴安全帽,初始值为false,left_frame表示本轮检测周期
的剩余帧数,初始值为n;根据待检测工人的工人位置,判断待检测工人的位置与第i-1帧待检测图片的待检测工人集合w
i-1
中各待检测工人的位置关系;当待检测工人的工人位置为w
i-1
中的第r个待检测工人在第i帧待检测图片中的位置,根据待检测工人的工人信息更新待检测工人的工人信息,并将待检测工人的工人信息中的本轮检测周期的剩余帧数减1;当待检测工人的工人位置不是w
i-1
中的任一待检测工人在第i帧待检测图片中的位置时,将待检测工人添加至w
i-1
中,遍历第i帧待检测图片的锚框标记结果的所有锚框标记信息后,得到第i帧待检测图片的待检测工人集合wi。
[0079]
当时,根据当前锚框的标记信息与wi中各待检测工人的工人信息,确定当前锚框所属的待检测工人,并令当前锚框所属的待检测工人的工人信息中的has_helmet=true;其中,has_helmet=true表示佩戴安全帽;当待检测工人的工人信息中,left_frame=0且has_helmet=false时,当前待检测工人在连续n帧待检测图片中均不存在安全帽。
[0080]
具体的,考虑到现实工地环境复杂,在同一摄像头中可能出现多个工人,并且工人之间易因为相互遮挡导致图片检测精度下降。因此,将当前待检测图片中标注的反光衣的相对位置视为待检测的工人,并记第i帧待检测图片的待检测工人集合wi={w1,w2,...,wn},其中,wj={position,has_helmet,left_frame}表示第j个待检测工人的相关信息,其中,position表示工人位置,即工人的反光衣位置信息,has_helmet表示是否佩戴安全帽,left_frame表示本轮检测周期的剩余帧数,初始值为n,若该待检测工人在连续的n帧检测中均未检测出安全帽,会实时保存图片,并进行异常预警。反之视为正常情况。
[0081]
参见图2,具体步骤如下:
[0082]
步骤21,获取各帧待检测图片的锚框标记结果合d={f1,f2...,fi,...},表示第i帧待检测图片的处理结果,随视频流媒体的播放,更多待检测图片的处理结果被存入集合d中。对于集合fi中的单个元素测图片的处理结果被存入集合d中。对于集合fi中的单个元素测图片的处理结果被存入集合d中。对于集合fi中的单个元素表示锚框的左上角坐标,表示锚框的右下角坐标,使用两点坐标即可确定锚框位置,表示锚框类别,其中cls∈{helmet,clothes}。
[0083]
步骤22,依照时间顺序,从集合d中取出fi,对于fi中的每个元素即各帧待检测图片的各锚框进行处理。
[0084]
步骤23,优选的,为兼顾不同分辨率的视频流预测,首先,将锚框对应的坐标进行标准化处理,具体公式如下:
[0085][0086]
其中,pic_width为待检测图片的宽度,pic_height为待检测图片的高度。
[0087]
步骤24,判断锚框类别,若则后续按步骤241和242进行处理,若按步骤243进行处理。
[0088]
步骤241,若表示当前锚框为第i帧中某一个反光衣的位置。首先,推断当前锚框与前一帧对应的待检测工人集合w
i-1
中待检测工人的位置关系,如果当前锚框为待检测工人在第i帧待检测图片新的位置,更新待检测工人wk的位置信息,left_frame减一更新工人信息中的本轮检测周期的剩余帧数。如果当前锚框与w
i-1
中任何一个待检测工人不适配,表明一个新的待检测工人k出现在视频流中。对待检测工人k进行初始化,其中,position初始化为当前锚框的锚框位置,left_frame初始化为n,has_helmet初始化为false。最终将待检测工人wk存入待检测工人集合wi中。
[0089]
步骤242,判断当前待检测工人wk的本轮检测周期的剩余帧数left_frame,若本轮检测周期的剩余帧数为0并且has_helmet=false,认为该待检测工人在连续n帧待检测图片内未检测到安全帽,将当前帧待检测图片作为异常结果进行存储;若本轮检测周期的剩余帧数为0且has_helmet=true,认为该待检测工人在连续n帧待检测图片内检测到安全帽,则令left_frame等于初始值n,has_helmet等于初始值false,并开始新一个检测周期。
[0090]
步骤243,若表示当前锚框为第i帧待检测图片中某一个待检测工人的安全帽的位置,推断当前安全帽对应的待检测工人,并令当前锚框所属的待检测工人的工人信息中的has_helmet=true。
[0091]
在一种可能的实施方式中,参见图3,提供一种工人移动预测算法,用来根据待检测工人的工人位置,判断待检测工人的位置与第i-1帧待检测图片的待检测工人集合w
i-1
中各待检测工人的位置关系,具体包括以下步骤:
[0092]
步骤31,获取w
i-1
中各待检测工人的工人位置,并根据w
i-1
中各待检测工人的工人位置,计算w
i-1
中各待检测工人的工人位置与待检测工人的工人位置之间的交集面积cover_range;计算w
i-1
中各待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值cover_rate。
[0093]
步骤32,当w
i-1
中的第r个待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值大于预设比值阈值w_threshold时,待检测工人的工人位置为w
i-1
中的第r个待检测工人在第i帧待检测图片中的位置;当w
i-1
中不
存在待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值大于预设比值阈值时,待检测工人的工人位置不是w
i-1
中的任一待检测工人在第i帧待检测图片中的位置。
[0094]
其中,w_threshold根据实际经验进行取值,本实施方式中取0.6。
[0095]
在一种可能的实施方式中,提供一种安全帽归属决策算法,用来根据当前锚框的标记信息与wi中各待检测工人的工人信息,确定当前锚框所属的待检测工人,具体的,包括以下步骤:
[0096]
步骤41,获取wi中工人信息中的has_helmet=false的待检测工人,得到待计算工人集;根据当前锚框的标记信息,获取当前锚框的锚框位置:(dx1,dy1)和(dx2,dy2);其中,(dx1,dy1)为当前锚框左上角坐标,(dx2,dy2)为当前锚框右下角坐标;根据wi中各待检测工人的工人信息,获取待计算工人集中各待检测工人的工人位置:(wx1,wy1)和(wx2,wy2);其中,(wx1,wy1)为当前待检测工人左上角坐标,(wx2,wy2)为当前待检测工人右下角坐标。
[0097]
其中,如果待检测工人wj的has_helmet=true,表明该待检测工人在检测周期内已经检测到了安全帽,无需再次检测,如果待检测工人wj的has_helmet=false,需要当前锚框对应的安全帽是否属于该待检测工人。
[0098]
步骤42,通过下式计算当前锚框的中心点坐标(chx,chy)和待计算工人集中各待检测工人的中心点坐标(ccx,ccy):
[0099][0100][0101]
步骤43,通过下式计算待计算工人集中各待检测工人的中心点坐标(ccx,ccy)和当前锚框的中心点坐标(chx,chy)之间的欧氏距离real_distance:
[0102][0103]
步骤44,对于待计算工人集中各待检测工人:当chx《wx1||chx>wx2时,通过下式计算当前待检测工人对当前锚框的最大可接受距离max_distance:
[0104][0105]
y=|chy-ccy|
[0106][0107]
当chx>wx1&chx<wx2时,通过下式计算当前待检测工人对当前锚框的最大可接受距离max_distance:
[0108]
x=|chx-ccx|
[0109][0110][0111]
其中,h_threashld为预设参数,本实施方式中取0.95。
[0112]
步骤45,对于待计算工人集中各待检测工人:当当前待检测工人的中心点坐标和当前锚框的中心点坐标之间的欧氏距离<当前待检测工人对当前锚框的最大可接受距离时,当前锚框所属的待检测工人为当前待检测工人。
[0113]
参见图4,示意了安全帽归属决策算法的原理,其中,(1)表示待检测工人侧身时安全帽在反光衣两侧的识别结果,(2)表示在(1)情况下,安全帽与反光衣的最远可接受距离,(3)表示待检测工人直立时安全帽在反光衣上方时的识别结果,(4)表示在(3)情况下,安全帽与反光衣的最远可接受距离。
[0114]
在一种可能的实施方式中,该安全帽与反光衣一体化检测方法还包括:当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,保存第n帧待检测图片;以及在第n帧待检测图片上渲染当前待检测工人的检测异常信息,并进行可视化显示。
[0115]
具体的,本实施方式中,利用vue.js和element-ui组件完成了前端页面的开发,在后端开发工作中,利用python语言完成目标检测与异常检测功能。打包vue.js文件并将其部署到服务器,通过axios库发送ajax异步请求,将前端数据提交给后端,经后端处理后返回响应结果,完成数据交互。
[0116]
前端页面左侧为菜单栏,提供图片检测入口与视频流检测入口。在“图片检测”子页面,用户上传待检测图片后,利用axios库发送ajax异步请求,将图片数据上传至后端。后端接口响应请求并接收数据进行目标检测,将检测结果发送至前端并进行页面渲染来对检测结果进行展示。当系统检测到工人未合规佩戴安全帽或反光衣行为时,则给出警告;否则提示可以正常通过。在“视频检测”菜单下设有“本地视频上传检测”和“摄像头数据实时监测”二级子菜单。在“本地视频上传检测”子页面中,用户上传待检测视频,视频流数据通过axios库提交至后端,后端视图函数将接受到的视频流逐帧分解为多幅待检测图片样本,经过异常检测算法处理后,对判定结果为异常的图片帧进行保存。当前端发送显示异常图片请求后,后端响应该请求,将异常图片帧发送至前端进行页面的刷新与渲染。“摄像头数据实时监测”子页面中的数据发送及结果展示与“本地视频上传检测”子页面中的处理过程相似,此处不再赘述。
[0117]
提供了一个异常检测系统可视化平台,该平台提供了图片目标检测功能和视频流异常检测功能。实现了安全帽与反光衣的多目标检测功能,可用于工人进入工地时安全帽与反光衣的佩戴检测场景,当系统检测到工人未合规佩戴安全帽或反光衣行为时,则给出警告,否则提示可以正常通过,提高了工人的安全意识。提供了对于视频流数据的实时异常检测与安全预警功能,实时预警使得发生安全事故的概率大幅度降低,排除了潜在的生产活动安全隐患。另外,该可视化平台前端页面友好,互操作性强,后端算法计算速度较快,易用性强。
[0118]
参见图5,是在“图片检测”子页面中,当检测到工人未合规佩戴安全帽或反光衣
时,系统给出存在安全隐患的警告。参见图6,是在检测到工人合规佩戴安全帽与反光衣时,系统给出可以正常通过提示。参见图7,是“本地视频上传检测”子页面展示,用户上传待检测视频,系统对视频流进行异常检测,若检测结果为异常,则在页面中对存在异常的图片帧进行展示。
[0119]
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未披露的细节,请参照本发明方法实施例。
[0120]
本发明另一个实施例中,提供一种安全帽与反光衣一体化检测系统,能够用于实现上述的安全帽与反光衣一体化检测方法,具体的,该安全帽与反光衣一体化检测系统包括数据获取模块、目标检测模块、异常检测模块以及异常处理模块。其中,数据获取模块用于获取待检测视频流信息,并根据待检测视频流信息逐帧提取待检测图片;目标检测模块用于调用预设目标检测模型,在各帧待检测图片上标注反光衣检测锚框与安全帽检测锚框,得到各帧待检测图片的锚框标记结果;异常检测模块用于根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽;异常处理模块用于当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,生成当前待检测工人的检测异常信息。
[0121]
在一种可能的实施方式中,所述预设目标检测模型通过采用预设训练集训练yolov5s基准模型得到。
[0122]
在一种可能的实施方式中,所述各帧待检测图片的锚框标记结果中,第i帧待检测图片的锚框标记结果为:其中,为第i帧待检测图片的锚框标记结果的第z个锚框的标记信息,标记信息包括锚框左上角坐标、锚框右下角坐标和锚框类别其中,helmet为安全帽检测锚框,clothes为反光衣检测锚框。
[0123]
在一种可能的实施方式中,所述根据各帧待检测图片的锚框标记结果,将各帧待检测图片中标注反光衣检测锚框的位置作为待检测工人,并判断各待检测工人在连续n帧待检测图片中是否存在安全帽包括:对于各帧待检测图片的各锚框:当时,将当前锚框作为待检测工人并根据当前锚框的标记信息获取待检测工人的工人信息:{position,has_helmet,left_frame};其中,position表示工人位置,has_helmet表示是否佩戴安全帽,初始值为false,left_frame表示本轮检测周期的剩余帧数,初始值为n;根据待检测工人的工人位置,判断待检测工人的位置与第i-1帧待检测图片的待检测工人集合w
i-1
中各待检测工人的位置关系;当待检测工人的工人位置为w
i-1
中的第r个待检测工人在第i帧待检测图片中的位置,根据待检测工人的工人信息更新待检测工人的工人信息,并将待检测工人的工人信息中的本轮检测周期的剩余帧数减1;当待检测工人的工人位置不是w
i-1
中的任一待检测工人在第i帧待检测图片中的位置时,将待检测工人添加至w
i-1
中,遍历第i帧待检测图片的锚框标记结果的所有锚框标
记信息后,得到第i帧待检测图片的待检测工人集合wi;当时,根据当前锚框的标记信息与wi中各待检测工人的工人信息,确定当前锚框所属的待检测工人,并令当前锚框所属的待检测工人的工人信息中的has_helmet=true;其中,has_helmet=true表示佩戴安全帽;当待检测工人的工人信息中,left_frame=0且has_helmet=false时,当前待检测工人在连续n帧待检测图片中均不存在安全帽。
[0124]
在一种可能的实施方式中,所述根据待检测工人的工人位置,判断待检测工人的位置与第i-1帧待检测图片的待检测工人集合w
i-1
中各待检测工人的位置关系包括:获取w
i-1
中各待检测工人的工人位置,并根据w
i-1
中各待检测工人的工人位置,计算w
i-1
中各待检测工人的工人位置与待检测工人的工人位置之间的交集面积;并计算w
i-1
中各待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值;当w
i-1
中的第r个待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值大于预设比值阈值时,待检测工人的工人位置为w
i-1
中的第r个待检测工人在第i帧待检测图片中的位置;当w
i-1
中不存在待检测工人的工人位置与待检测工人的工人位置之间的交集面积与的锚框面积的比值大于预设比值阈值时,待检测工人的工人位置不是w
i-1
中的任一待检测工人在第i帧待检测图片中的位置。
[0125]
在一种可能的实施方式中,所述根据当前锚框的标记信息与wi中各待检测工人的工人信息,确定当前锚框所属的待检测工人包括:获取wi中工人信息中的has_helmet=false的待检测工人,得到待计算工人集;根据当前锚框的标记信息,获取当前锚框的锚框位置:(dx1,dy1)和(dx2,dy2);其中,(dx1,dy1)为当前锚框左上角坐标,(dx2,dy2)为当前锚框右下角坐标;根据wi中各待检测工人的工人信息,获取待计算工人集中各待检测工人的工人位置:(wx1,wy1)和(wx2,wy2);其中,(wx1,wy1)为当前待检测工人左上角坐标,(wx2,wy2)为当前待检测工人右下角坐标;通过下式计算当前锚框的中心点坐标(chx,chy)和待计算工人集中各待检测工人的中心点坐标(ccx,ccy):
[0126][0127][0128]
通过下式计算待计算工人集中各待检测工人的中心点坐标(ccx,ccy)和当前锚框的中心点坐标(chx,chy)之间的欧氏距离real_distance:
[0129][0130]
对于待计算工人集中各待检测工人:当chx<wx1||chx>wx2时,通过下式计算当前待检测工人对当前锚框的最大可接受距离max_distance:
[0131][0132]
y=|chy-ccy|
[0133][0134]
当chx>wx1&chx<wx2时,通过下式计算当前待检测工人对当前锚框的最大可接受距离max_distance:
[0135]
x=|chx-ccx|
[0136][0137][0138]
其中,h_threashld为预设参数。
[0139]
对于待计算工人集中各待检测工人:当当前待检测工人的中心点坐标和当前锚框的中心点坐标之间的欧氏距离<当前待检测工人对当前锚框的最大可接受距离时,当前锚框所属的待检测工人为当前待检测工人。
[0140]
在一种可能的实施方式中,还包括显示模块,用于当当前待检测工人在连续n帧待检测图片中均不存在安全帽时,保存第n帧待检测图片;以及在第n帧待检测图片上渲染当前待检测工人的检测异常信息,并进行可视化显示。
[0141]
前述的安全帽与反光衣一体化检测方法的实施例涉及的各步骤的所有相关内容均可以援引到本发明施例中的安全帽与反光衣一体化检测系统所对应的功能模块的功能描述,在此不再赘述。
[0142]
本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0143]
本发明另一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于安全帽与反光衣一体化检测方法的操作。
[0144]
本发明另一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储
介质(memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关安全帽与反光衣一体化检测方法的相应步骤。
[0145]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0146]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0147]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0148]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0149]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1