秦 妍,梁 臻,娄 阳
(1.北京市科学技术研究院城市安全与环境科学研究所,北京 100054;2.北京邮电大学现代邮政学院,北京 100876)
有关分析表明,大多数工业和建筑施工作业环境中发生的安全隐患事故,与工作人员是否佩戴安全防护装备有关[1-2]。因此,为了保证员工在作业时安全防护装备穿戴的完整性、正确性,在其进入施工作业现场之前,进行防护装备检查尤为必要[3-4]。传统的管理方法主要是通过人工手段进行监督,但是这种方法效率较低,所受的主观因素较多,容易疏忽对较小的安全防护装备的检查。近年来,许多学者应用监控摄像头和计算机视觉技术来自动获取、分析和检测施工人员的安全防护装备,相关方法可以分为基于特征分类的方法和基于深度学习的检测算法两大类。
第一类方法中,学者通常利用几何特征、方向梯度直方图(Histogram of Oriented Gradient,HOG)特征和颜色特征对安全装备进行检测,这些方法往往只关注于对安全帽的识别。例如,Li 等[5]根据颜色空间变换和颜色特征检测安全帽,采用头部定位的方法检测头盔的佩戴情况。Mneymneh 等[6]用HOG特征描述安全帽的形状,用六角锥体颜色模型(Hue-Saturation-Value,HSV) 颜色特征描述颜色,结合这两个特征对安全帽进行检测。Park 等[7]提取了整幅图像的HOG 特征,然后将特征输入支持向量机(Support Vector Machine,SVM) 中,进而检测安全帽。传统的检测方法在特定的环境下可以取得良好效果,但在真实复杂的环境中,其准确率较低、计算开销较大、泛化能力不足,难以应用在真实场景中。
随着机器学习方法的发展,深度学习作为计算机视觉领域的一个研究热点,越来越多的研究者采用基于深度学习的方法实现个人安全防护装备的检测。Nath 等[8]将未知的安全装备图像与已知的安全装备图像进行匹配,以搜索输入图像中可能的安全装备信息。一些学者利用卷积神经网络(Convolutional Neural Network,CNN) 模型对安全装备进行分类。例如,Wu 等[9]采用K 最邻近分类算法(KNearest Neighbors,KNN) 从视频中捕捉移动的物体,然后将其输入CNN 模型,对行人、头部和头盔进行分类。Pradana 等[10]利用CNN 模型对工作人员佩戴的5 种安全装备的情况进行了分类。Akbarzadeh、Wu 等[11-12]采用更快的区域卷积神经网络(Faster Region Convolutional Neural Network,Faster R-CNN) 模型检测工作人员佩戴安全装备的情况,检测建筑现场的人体以及检测安全帽和安全背心。Wu 等[13]采用单发多框架检测器(Single Shot MultiBox Detector,SSD) 算法检测施工人员是否戴安全帽及判断安全帽的颜色。随着一阶段检测模型(You Only Look Once,YOLO) 目标检测算法的发展,一些学者利用修改YOLO v3 算法[14-15]、YOLO v4算法[15-17]的网络结构来检测施工现场工人的安全帽,大大提高了准确性和实时性。但是这些方法在实际应用中往往存在一些缺陷,比如Pradana 等[10]提出的方法不适用于室外环境,Wu 等[12]提出的方法无法实现实时检测,Long 等[18]提出的方法无法确定安全帽是否戴在头上[13],Wu 等[19]提出的方法只适用于行人直立的场景和简单的背景,Park 等[20]提出的方法容易受到照明条件的影响。
综上所述,近年来,基于目标检测的算法被广泛应用于工作人员安全防护装备的检测任务中。在目前的应用中,单个目标提取的特征较为明显,模型易于判断,但是在检测装备较多、环境更为复杂、光线较弱的情况下,模型的检测精度不佳,安全装备的佩戴位置难以判断。针对以上问题,综合施工作业环境下人员的需要穿戴安全装备的特点,本文提出了一种基于YOLO v4 算法和DeepSort 算法的多目标检测方法,结合目标检测与目标跟踪算法,通过分析安全防护装备检测框与人体检测框的IoU 值与相对位置关系判断施工人员佩戴安全装备的情况,对不合格的情况进行报警,以此来保证员工在进入施工作业现场时其安全防护装配的完整性和正确性。本文的创新点和贡献如下。
1) 由于建筑施工具有环境复杂、光线不稳定的特点,本文利用统计方法对摄像头获取的数据进行了扩充,以解决模型泛化性能低的问题。
2) 本文通过计算安全防护装备检测框与人体检测框的交并比(Intersection over Union,IoU) 值,进而将两者匹配,检测施工人员身上佩戴的安全装备,以分析出未佩戴防护装备的信息。
3) 本文通过安全防护装备检测框与人体检测框的相对位置关系来判断安全装备是否在人体的合理的位置上,以此分析工作人员是否正确佩戴防护装备。
为了保证员工在进入施工作业环境之前正确佩戴了相应的安全防护装备,本文拟采用数据增强、目标检测以及目标追踪等技术解决此问题。首先,采用基于统计的数据增强方法,对数据集进行扩充;其次,利用YOLO v4 目标检测算法模型检测出人体目标,利用DeepSort 目标跟踪算法对人体进行跟踪;然后,利用YOLO v4 算法进行安全装备的检测;接着,遍历每一个人的检测框,分析安全装备与人体检测框的IoU 重叠比,找到属于每个人体检测框的安全装备;之后,根据重叠比进行人体区域内是否包含全部安全装备的判断,根据人体检测框与安全装备检测框的相对位置关系进行装备佩戴位置是否正确的判断;最后,若检测到工人未佩戴齐全或佩戴方式错误,显示出需要佩戴的安全装备信息或佩戴错误的装备信息并进行报警。
本文应用的YOLO v4 算法是Bochkovskiy 等于2020 年提出的一种目标检测算法,在利用YOLO v4算法进行人体检测时,由于画面变化复杂、光线不稳定等因素,容易出现掉帧现象,即某一帧检测不出人体的存在,无法进行准确的定位,所以本文采用了DeepSort 算法对检测到的人体进行跟踪,避免出现掉帧导致检测失败的现象,DeepSort 是一种多目标跟踪算法。根据相关资料和实际应用场景,本文检测的安全装备包括便携式气体检测仪、安全帽、安全绳以及矿用安全帽灯,算法的总体流程见图1。
图1 本文算法的总体流程图
根据光照条件的不同,施工现场的图片质量不一,若输入视频帧的图像亮度与训练集图像的亮度相差较大,会发生图片特征模糊的问题,造成对人员安全防护装备的漏检或误检。训练集中的图片亮度均在正常范围内,模型对该亮度条件上的输入具有较好的泛化效果,但是当输入图片的亮度变化较为剧烈时,模型较难正确识别监控视频中人员所穿戴的安全防护装备,此时模型的泛化性较差。
针对这个问题,本文提出了一种基于统计的数据增强方法,对获取的图像进行R、G、B 信息的统计,计算它们的均值,然后设置一个阈值,并在此均值上进行增加和减少操作,使新图像的R、G、B 值在一定范围内波动,以扩充数据集,具体原理见图2,这种方式能有效避免亮度差异导致的模型泛化性能低的问题。
图2 基于统计的数据增强方法
对于工作人员安全防护装备的检测,包括三方面研究内容:一是人员匹配,用于将检测到的装备与相应的施工人员进行匹配;二是数量检测,用于检测每个施工人员的安全装备是否佩戴齐全;三是位置检测,用于检测施工人员的安全装备是否佩戴正确。
2.2.1 安全装备与人员的匹配
对于工作人员是否完整地、正确地佩戴安全装备这一问题,关键是解决安全装备与每位工作人员的匹配,从而对每位人员的佩戴状态进行分析。本文首先利用YOLO v4 模型和DeepSort 算法得到人体和安全装备目标的检测框信息;其次,遍历每一个人体的检测框,将检测得到的人体与安全装备的信息进行对比,计算它们之间的IoU 值,即两个边界框交集和并集之比;然后,通过设定阈值,并与它们之间的IoU 值进行比较,从而判断安全装备是否依附在人体上;最后,将依附在人体上的装备与人体进行匹配对应,得到每个人员佩戴的所有安全装备信息。装备与人员进行匹配的关键步骤是计算两者的检测框IoU 值,其过程见图3。通过计算交并比,判断装备是否依附在人体上,若该值大于设定的阈值,则认为此人员佩戴了这个设备;否则,认为该设备没有依附在此人员身上。
图3 安全装备与人体检测框计算交并比示意图
2.2.2 安全防护装备的数量检测
上文已经对检测出的每个安全装备匹配了相应的工作人员,安全防护装备的数量检测工作在此基础上进行。根据人体检测结果,遍历每位工作人员与依附在他们身上的安全装备,并对这些安全装备进行分析,检查检测框内是否包含所需的4 种安全装备(安全帽、矿用安全帽灯、气体检测仪和安全绳),从而判断工作人员是否完整佩戴了安全防护装备,并对未佩戴的设备进行显示及报警。该算法的具体流程见图4。
图4 安全防护装备的数量检测算法流程图
2.2.3 安全防护装备的位置检测
对于安全防护装备佩戴方式是否正确的问题,主要是利用人体与装备检测框之间的相对位置关系进行判断。在利用YOLO v4 模型和DeepSort 算法对人体进行检测和跟踪后,实时获取人体检测框,设置阈值将人体检测框分为上、中、下三部分,判断每个安全装备是否在正确的区域,从而判断工作人员是否正确佩戴了相应的安全装备,人体检测框区域划分见图5。
图5 对人体检测框分区域示意图
本文设置安全帽、矿用安全帽灯应该在人体检测框上部区域,安全绳应位于人体检测框的中部区域,气体检测仪可以位于人体检测框的中部区域或下部区域,如果设备不在合理的区域内,及时显示佩戴错误的安全装备并进行报警。该算法的具体流程见图6。
图6 安全防护装备的位置检测算法流程图
2.2.4 整体检测流程
以安全帽的检测为例,整体检测流程见图7。首先,检测人体区域与安全帽的区域,得到两者的检测框。其次,计算两者的IoU 值,根据设定的阈值来判断安全帽是否依附在人体上,若是,说明该人员佩戴了安全帽;否则,说明该人员未佩戴安全帽。然后,检查安全帽的佩戴位置是否正确,根据设定的规则,安全帽应该位于人体检测框的上部;若不是,说明该人员佩戴方式错误。最后,根据判断结果显示未佩戴安全帽或佩戴位置错误的信息并进行报警。其他个人安全防护装备,如矿用安全帽灯、气体检测仪、安全绳等检测方法与之类似。
图7 安全帽检测流程图
本文实验的环境配置见表1,本文实验所用的数据集均自主利用摄像头采集,在施工场所拍摄工作人员正确佩戴、错误佩戴以及部分佩戴安全防护装备情况的图片以及视频。之后,利用图像标注工具,对人体以及安全防护装备进行标注。基于摄像头获取的数据,按照3:1:1 的比例划分训练集、验证集和测试集。在训练中,epoch 设置为300,batch_size 设置为64,其他参数为默认。
表1 实验环境配置
本文使用目标检测领域普遍采用的4 项评价指标对本文所用目标检测模型进行评估,分别是准确率(Precision)、召回率(Recall)、平均精度(Average Precision,AP) 与平均精度均值(mean Average Precision,mAP)。其中,准确率和召回率的计算公式为
式中:TP为真阳性样本数(正确检测样本数);FP为假阳性样本数(误检样本数);FN 为假阴性样本数(漏检样本数)。
本文利用获取的实验数据,选取了Faster RCNN 模型、YOLO v3 模型以及YOLO v4 模型进行对比,将以上几个指标进行评价,实验结果见表2。由表2 可知,YOLO v4 是一种检测效果优异的检测模型,在本文实验类别上的检测精度较高,该方法的处理速度约为每秒18 张图片,基本能满足对安全装备的实时检测需求。
表2 目标检测模型对比结果
本文使用多目标跟踪准确度(Multiple Object Tracking Accuracy,MOTA) 和多目标跟踪精度(Multiple Object Tracking Precision,MOTP) 两个指标对本文采用目标跟踪模型进行综合评估。MOTA利用错误率计算跟踪器的准确性,其表达式为
式中:G 为真实目标的总数;IDs 为当前时刻所有ID切换的数量。MOTP 利用重叠率计算跟踪器的精确率,其表达式为
式中:d 为目标的检测框与跟踪框的距离;C 为检测框与跟踪框匹配的数目。
本文将Sort 算法与DeepSort 算法进行对比,对比结果见表3。由表3 可知,DeepSort 算法由于加入了表观特征和运动特征,跟踪准确度和精确率均高于Sort 算法。
表3 目标跟踪模型对比结果
为探究真实环境下的检测效果,利用网络摄像头对获取的图像进行实时检测,分析图像中的工作人员是否完整正确地佩戴了安全装备。首先,让工作人员佩戴齐全所有的安全装备,在没有遮挡的情况下,该模型能准确地、全面地检测出所有的安全装备(见图8);然后,在工作人员进行正常作业时,对安全装备进行定位及检测(见图9),该模型能检测出每位人员佩戴安全装备的情况,实时显示装备信息并对未佩戴或佩戴错误的装备进行提醒和警告。
图9 真实场景检测效果展示
本文将施工作业场景下工作人员需要佩戴的安全防护装备检测任务分为两个子任务进行,分别是人体检测和安全装备检测。通过摄像头采集数据,利用YOLO v4 算法和DeepSort 算法对人体和安全防护装备进行检测,然后通过训练好的模型来获取人体和安全防护装备的检测框,计算检测框之间的IoU 值和相对位置,判断该工作人员是否完整正确地佩戴了安全装备,然后输出最终的检测结果并进行报警。实验结果表明,本文方法平均检测精度较高,可满足工业应用的精确度要求,实现智能化的实时监控。未来研究中,可以对安全装备的类型进行扩展,检测更多的相关装备,还可以与人体行为检测相结合,进一步排查不安全因素,加强施工人员的安全保障。