基于深度学习的安全帽佩戴检测实现与分析
2020-08-06邓开发邹振宇
邓开发 邹振宇
摘要:安全帽能够有效减轻事故损害,监督工人的安全帽佩戴显得十分必要。针对工人安全帽佩戴检测,文章提出一种基于深度学习的安全帽佩戴检测方法,用于施工现场摄像头监控的图像和视频目标检测。试验结果表明,该方法能够较好地实现安全帽佩戴的图像和视频检测。
关键词:深度学习;安全帽佩戴检测;图像检测;视频检测
中图分类号:TP391.4 文献标识码:A 文章编号:1006-8228(2020)07-12-05
0引言
建筑施工作业过程中存在着较多安全隐患,使得事故发生率居高不下。施工活动实践表明,作业前对建筑工人的行为能力和安全装备进行检查,能够有效减轻事故损害或减少事故发生。因此,监督工人的活动和安全设备正确佩戴显得尤为重要的。然而,目前传统活动监测和安全装备佩戴检查很大程度上依赖于现场经验丰富的管理人员进行的观察和检查,普遍存在自动化水平较低、工作量较大、检查项目有限的现象,容易出现误检、漏检等问题。
随着科技的发达,计算机视觉、人工智能等技术飞速发展。人工智能这一术语在1956年首次被提出,到今天已经获得了60年的长足的发展,尤其是近十年人工智能在中国的发展也突飞猛进。而计算机视觉是人工智能的一个热门的发展方向。在我国,图像识别技术正在逐渐同各行各业相互融合,包括金融、医疗、教育、家居等各行业领域当中均能够看见它的“身影”,已可实现三维人体姿态重建、跌倒监测、驾驶员疲劳监测、行为识别等功能。
基于上述原因,本文提出一种基于深度学习技术来检测安全帽佩戴的方法。使用Keras深度学习框架搭建Faster RCNN模型,收集施工工人佩戴安全帽和未佩戴安全帽图像,构建对模型训练及测试的数据集,并对算法的测试速度、准确性进行评估。在取得良好测试结果的前提下,进一步设计将图像检测结果用于视频检测安全帽佩戴。选取一段在施工现场上摄像头拍摄的视频,检测在实际场景中应用的效果。通过此技术可以来代替传统的人为监督,有利于构建智能化、自动化的施工安全装备佩戴检测,既节省了劳动力成本,又提高了施工现场的安全性,更是为“智慧工地”的发展建设奠定了基础。
1目标检测关键技术
1.1卷积神经网络介绍
卷积神经网络(onvolutional neural network,CNN)(LeCun,1989),是深度神经网络中的一种,专门用来处理具有时间序列数据和图像数据的神经网络。随着卷积神经网络在各大竞赛中取得优异的成绩,成为研究机构竞相追捧的研究对象,模型得到不断发展、改进,然而如图1所示,其网络结构的基本构件几乎不变,卷积层和池化层仍是卷积神经网络的核心所在。
卷积层实际上是卷积核对图像进行卷积运算。卷积核是一个和学习特征高度相关的模板,在提取图像特征时,从图像或特征映射图的第一个像素开始依次向右向下移动计算,将模板的中心与每一个像素点对其覆盖,对覆盖区域内的每个像素值与模板的对应权值加权求和。通常还需要把加权求和的结果送入一个非线性函数,将其函数值作为最终计算出下一层特征图的元素值。
池化层又叫下采样层、降采样层。在降采样层中,通常采取的计算方式是求平均值、求最大值或求最小值,因此池化层没有需要学习的权值。与卷积层类似,池化层运算也可以看作是模板运算,从数据源的左上角第一个像素开始依次向右向下移动,对覆盖区域内与模板大小同样的像素区域进行池化运算。池化层的降维操作不仅可以压缩原图像尺寸、提升计算效率,还可以保证图像特征旋转、平移不变性。
1.2Faster RCNN介绍
Faster RCNN是一种基于卷积神经网络的物体检测框架,它是继RCNN和Fast RCNN之后,为了减少检测网络运行时间、提升检测进度的改进版本。
1.2.1RCNN与Fast RCNN简介
RCNN(Regions with CNN features)的首次提出在基于深度学习的物体检测研究中具有里程碑式的历史意义,其首先采用非深度学习方法提出候选区域(region proposal),从候选区域利用深度卷积网络提取特征,再利用支持向量机等线性分类器,将区域分为物体和背景,而不再是对整张图像进行特征提取和分类。然而,RCNN的缺点也比较明显,在计算机对所有候选区域进行特征提取时,会有重复计算,继而产生严重的速度瓶颈,使得花费的时间非常多。
RCNN的进阶版Fast RCNN则在RCNN的基础上采纳了空间金字塔池化方法(Spatial Pyramid Poohng,SPP),对RCNN作了改进。不像RCNN把每个候选区域给深度网络提特征,而是整张图提一次特征,再把候选区域映射到第五个卷积层上,只需要计算一次特征,使得性能进一步提高。
1.2.2Faster RCNN简介
经过RCNN和Fast RCNN的积淀,Faster RCNN的诞生进一步完善了这一流程,在Fast RCNN的基础上,加入一个提取边缘的神经网络,名叫区域建议网络(Region Proposal Network(RPN)。首先通過卷积层和池化层提取整个图像的基础信息,形成特征图(feature map),再通过区域建议网络(RPN),提取多个兴趣区域的位置信息和对应区域是否存在目标的置信度值,在ROI pooing层将特征映射为相同尺寸的特征向量输入全连接层,随后利用窗口得分对每一类物体进行非极大值抑制去除重叠区域建议框,最终得到每个分类回归修正后得到分数最高的窗口。简而言之,Faster RCNN的特点在于找候选区域的工作也交给神经网络来做,代替了之前RCNN和Fast RCNN区域建议由费时的选择性搜索(selective search)来实现,从而使得区域建议阶段不再那么耗时,检测速度大幅度提高。
基于深度学习目标检测从RCNN、Fast RCNN、Faster RCNN一路走来,流程变得越来越精简,速度越来越快,精度也越来越高。可以说基于候选区域的RCNN系列目标检测方法是当前目标检测技术领域最主要的一个分支。
1.3视频目标检测
视频目标检测和图像目标检测都属于计算机视觉领域的研究范畴。然而视频和图像这两类数据存在着明显的类型差异,视频中每帧图片的内容变化不大,利用卷积来提取特征是相当耗时的计算。假使每帧视频都利用卷积来提取特征再进行目标,检测会导致极大的计算冗余,十分影响计算效率,令人难以忍受。
深度特征流算法(Deep Feature Flow)的出现为视频目标检测研究领域提供了一种结合光流来实现特征图的帧间传播和复用的思路。该算法的核心思想是只在稀疏的关键帧(key frame)上运行计算量庞大的卷积子网络来提取特征图,而在非关键帧(currentframe)上,通过光流传播的方式将关键帧的特征图传播到非关键帧上。再利用现有的目标检测算法,在特征图上进行目标检测,得出检测结果。由于光流传播的方式传播非关键帧的特征图,能够大大减少计算量,加快视频目标检测的速度。
2试验
本试验环境配置在Windows 764位操作系统、210GHz CPU、GeForce GTX 1060GPU,6G显存并安装GPU并行数据计算开发环境CUDA和CuDnn、8G内存平台上,使用基于Keras学习框架进行相关代码和参数训练,通过Python语言编译Faster RCNN网络框架并且分别选择vgg 16、resnet 50、inception resnet v2网络提取目标特征。
2.1数据集
本试验训练测试的数据采用安全帽佩戴检测比赛数据集GDUT-HWD,共3174张图片,为了提供丰富充足的样本来源,又通过截取多个建设项目施工现场视频监控图像和拍摄的照片,共采集8814张。两个数据集打乱混合相加共11988张图像。再根据本试验需求,使用图像注释工具Labeling对数据集中的图片进行人工标注,注释包括佩戴安全帽工人、未佩戴安全帽工人。将标注结果保存为XML文件。作为安全帽佩戴的应用型研究,在实际场景中的应用效果非常重要的,因此截取了多个施工现场的摄像头监控视频来进行视频安全帽佩戴检测。
2.2评估指标
为了评价本试验对建筑工人安全帽佩戴识别检测效果的可靠性,使用准确率(accuracy)、召回率(recall)和错误率(error)三个指标来衡量。
网络的目标预测情况可以分为以下三种:正确正例(True Poitives,TP):被正确识别的正样本;错误正例(False Poitives,FP):被错误识别的负样本;正确负例(False Negative,FN):被错误识别的正样本。具体表示见.表1。
2.3检测效果及分析
将收集的11988张图像按照9:l的比例分为训练集合测试集,其中10788张作为训练集,其余的1200张作为测试集。训练时,为避免梯度下降过快,先将模型迭代次数进行测试,并绘制训练模型迭代损失值曲线,如图2所示,在增加迭代次数后,明显能够降低模型的损失率,在迭代次数达到10000次趋于稳定。
完成训练后,将1200张图像放置于测试集文件夹中,调用训练好的模型进行测试检测。根据统计出的TP、FP及FN参数,按照式(1)~(3)进行计算,评估工人安全帽佩戴检测的效果。由表2可见,拥有更深网络的resnet 50网络和inception resnet v2网络相比vgg 16网络效果更佳。
如图3显示的部分测试结果图像,Faster RCNN网络用于检测安全帽佩戴图像检测效果不错。为检验在实际场景中的应用效果,采用基于深度特征流(DeepFeature Flow)对施工现场的摄像头监控截取的视频进行安全帽佩戴检测,其中特征网络选择之前图像检测中效果略佳的inception resnet v2网络,任务网络依旧选择Faster RCNN网络,流网络选择FlowNet Simple网络。
从视频的第一帧开始遍历,直到所有的视频帧都遍历完,得到所有的关键帧。将这些关键帧送入特征网络得到特征图,再将特征图送入目标检测任务网络进行安全帽佩戴检测,最终输出检测结果。本试验截取了几个关键幀检测效果在图4中进行展示。
3结束语
针对工人安全帽佩戴检测,本文提供了一种基于Faster RCNN的安全帽佩戴检测方法,对佩戴安全帽和未佩戴安全帽的图像数据集进行检测和识别,再将检测效果好的模型结合Deep Feature Flow算法用于施工现场摄像头监控的视频目标检测。经过本试验和对深度学习的研究,该方法能够较好地实现安全帽佩戴的图像和视频检测效果。然而在本试验中,图像中存在目标被遮挡和光线昏暗的现象,使检测结果产生误差,并且视频中运动模糊和光线变化多样性也对检测结果产生影响。因此,解决上述问题是下一步研究的重点。