1.本发明属于图像目标检测和人脸识别技术领域,涉及一种隧道工人安全帽检测及人脸识别方法。
背景技术:2.卷积神经网络(cnns)作为一种深度学习的模型架构,已成为图像处理和计算机视觉领域最为有效的方法。权值共享和局部感受野这两大特点减少了权值的数量,使得模型的运算复杂度下降;对图像的特征的平移不变性也使其具有良好的特征提取能力和高度的稳定性。
3.当前已有大量研究利用卷积神经网络进行目标检测和人脸识别方法探索,自2014年r.girshick等人提出基于候选区域的r-cnn深度学习模型起,产生了一批经典的目标检测算法,如faster r-cnn、ssd、yolo等,同时人脸识别模型如facenet、arcface等。这些模型的发展趋势大致上是,网络层数的不断加深以获得更好的特征提取能力,图像尺度不断增多以覆盖更广范围的特征。但模型越来越复杂也随之带来网络难以收敛、参数增长快、计算速度慢等问题,其中最显著的问题是随着模型复杂度的增加,很难部署到资源有限的设备上。
4.同时在隧道的施工现场,正确佩戴安全帽能有效地防止和减轻工人在作业过程中安全事故的伤害。相关研究表明因未佩戴安全帽而导致的安全事故占比较大。然而目前在施工现场对安全帽佩戴的监管分为两种思路,一是主要依赖人工监管,效率低下且耗费人力;二是利用深度学习的建立检测网络,但现有安全帽佩戴检测网络模型存在准确率低,推理速度慢,部署到边缘计算设备时精度和实时性均达不到要求等问题。因此,利用轻量级的端到端的检测网络是安全帽检测的不二选择。同时隧道的安全帽检测除了常规行业如建筑行业存在的小目标准确率低的问题,还存在较暗光线的干扰。
5.对人脸识别的模型而言,人脸图像经过多次卷积操作后,使得最后的输入向量包含了最丰富的空间和语义信息。对于如何识别工人的身份,一般采取的是计算表征人脸的特征向量间的欧式距离或余弦相似度来计算是否成功识别,但是它们中的任意一个都无法兼顾向量的方向和绝对差异。与此同时一般人脸识别网络最后使用128维度的向量表征身份,但是对于大量数据时,采取更高的维度的表征向量有利于区分特征向量之间更加精细的特征。
技术实现要素:6.有鉴于此,本发明的目的在于提供一种基于tiny-yolov3和融合距离阈值facenet的隧道工人安全帽检测及人脸识别方法,进行模型训练,实现实时检测安全帽的情况下快速得到人脸,经过人脸对齐后,通过计算人脸的表征向量和数据库进行对比,对工人的身份和是否佩戴安全帽快速进行识别。
7.为达到上述目的,本发明提供如下技术方案:
8.一种隧道工人安全帽检测及人脸识别方法,包括以下步骤:
9.s1:获取隧道工作人员不同姿态的带有安全帽的人脸图像,进行人脸对齐后作为人脸识别的数据集,记作recog_dataset数据集,并建立每个员工的人脸数据库;
10.s2:获取带有和没有安全帽的若干人脸图像,对其中的佩戴安全帽与未佩戴安全帽的人脸进行标签标注和数据增强,作为检测网络的训练集,记作detec_dataset数据集;
11.s3:使用步骤s2中的数据增强后的detec_dataset,训练一个用于检测工作人员是否佩戴安全帽的分类卷积神经网络模型tiny-yolov3;使用步骤s1中的recog_dataset数据集数据,训练一个人脸识别的卷积神经网络facenet;
12.s4:使用步骤s3中训练好的tiny-yolov3,检测输入图像,得到输入图像带有安全帽的头部图像的矩形坐标,依据对应坐标从输入图像中截取检测部分的局部图片;
13.s5:对步骤s4中的局部图片,使用dlib进行关键点检测,并采取仿射变换将局部图片对齐到ffhq数据集样本,并对对齐的图片进行均衡化,得到待识别的人脸图片;
14.s6:将步骤s5中的待识别的人脸图片传入facenet的网络,得到表征该人脸的512维度的特征向量;
15.s7:计算步骤s6的特征向量与数据库中的人脸的余弦相似度、欧式距离及曼哈顿距离,通过判断所述欧式距离与余弦相似度的组合结果是否满足识别成功的阈值,来判断是否是工作人员;
16.s8:根据步骤s7中的结果进行身份认证,对未佩戴安全帽者进行警告,实现隧道的工作人员识别与佩戴安全帽预警。
17.进一步,步骤s1中获取隧道工作人员不同姿态的带有安全帽的人脸图像后,使用dlib进行关键点检测,并采取仿射变换将局部图片对齐到ffhq数据集样本,并对对齐的图片进行均衡化作为人脸识别的数据库,具体为:
18.s11:使用dlib遍历ffhq数据集样本获得ffhq的5关键点坐标即两眼和人中的关键点,作为期望的模板坐标;
19.s12:对具有佩戴安全帽图片进行dlib的5关键点检测,通过仿射变换将图片关键点变换到模板坐标,实现人脸对齐;
20.s13:同时考虑到隧道的光线不均衡的问题,使用均衡化削弱光线的影响。
21.进一步,步骤s2中,采取imagelabel对人脸进行标注,分为佩戴和未佩戴安全帽两个类别,对标注的图片进行旋转、翻转、模糊化以丰富训练集。
22.进一步,所述步骤s3:使用步骤s2中的detec_dataset数据集数据训练一个用于检测是否工作人员佩戴安全帽的分类卷积神经网络模型tiny-yolov3;使用步骤s1中的recog_dataset数据集数据,训练一个人脸识别的卷积神经网络facenet,具体为:
23.s31:将经过数据增强的标注图像输入到目标检测tiny-yolov3模型进行监督训练:以最小化预测值与标签之间的损失函数为优化目标,使用adam优化算法来更新目标检测模型的权重;损失函数由定位损失函数和分类损失函数构成,其中定位损失函数采用交并比diou(distance intersection over union):
[0024][0025]
其中iou表示预测框和真实框交集与并集的比,diou表示考虑了预测框和真实框
中心距离的iou,b,b
gt
分别代表预测框和真实框的中心点,b
gt
和b为真实框和预测框,ρ代表的是计算两个中心点间的欧式距离,c代表能够同时包含预测框和真实框的最小闭包区域的对角线距离;
[0026]
分类损失函数为二元交叉熵bce(binary cross entropy):
[0027][0028]
其中,y是标签类别,p(y)是输出属于y标签的概率,i表示一个训练批次中的第i个样本,n表示一个训练批次包含的样本总数;
[0029]
s32:将经过人脸对齐的不同遮挡的人脸图像输入到facenet模型进行监督训练:以三元组损失函数为目标,旨在使得类内距离越小、类间距离越大,使用adam优化算法来更新目标检测模型的权重,损失函数如下:
[0030][0031]
其中一个batch中的第i个类别α的训练样本,表示与同一类的样本,表示和非同一类的样本,表示a与b之间的欧式距离,α是阈值,当α类内距离与类间距离大于阈值才产生损失和梯度。
[0032]
进一步,步骤s4中,将实际拍摄的图片传入tiny-yolov3检测网络,将检测的人脸进行仿射变换后截取出来。
[0033]
进一步,步骤s5中,具体包括以下步骤:
[0034]
s51:使用dlib遍历ffhq数据集样本获得ffhq的5关键点坐标即两眼和人中的关键点,作为期望的模板坐标;
[0035]
s52:对步骤s4中的局部图片进行dlib的5关键点检测,通过仿射变换将图片关键点变换到模板坐标,实现人脸对齐;
[0036]
s53:同时考虑到隧道的光线不均衡的问题,使用均衡化削弱光线的影响。
[0037]
进一步,步骤s7中,将对齐的人脸图片传入识别网络得到表征人脸的512维向量计算该人脸与数据库中所有人脸的距离,计算方式如下:
[0038][0039]
其中l
euclidean
,l
cosine
分别表示欧式距离和余弦距离,x,表示输入的512维向量和数据库中的512维特征向量,表示给定输入x,寻找数据库中与之欧式距离最小的表示a与b之间的欧式距离。
[0040]
进一步,步骤s8具体包括:若计算的距离满足设置的阈值则认为时同一个人,即身份确认,反之认证失败;同时由检测的结果可获得人员是否佩戴安全帽,如果未佩戴安全帽以及身份认证异常进行警报,确保人员安全和无关人员的进入。
[0041]
本发明的有益效果在于:本发明使用dlib进行关键点检测,并采取仿射变换将局
部图片对齐到ffhq数据集样本,使得图片具有统一的格式。并对对齐的图片进行均衡化,得到待识别的人脸图片,对于隧道的苛刻的关照条件均衡化可有效平衡其不利影响;人脸图片传入facenet的网络得到表征该人脸的512维度的特征向量,采取更高的表征维度,实现特征向量更加精细的识别,即使在面对更多的人员也能游刃有余。计算特征向量与数据库中的人脸两者的欧式距离与余弦相似度的组合结果,满足识别成功的阈值判断为工作人员,同时计算结果不仅表征了特征向量的方向也考虑了其数值上的绝对差异;同时检测与识别结果可进行异常警报,确保隧道的工作人员的身份识别有效、未佩戴安全帽的预警以及无关人员的禁止访问。
[0042]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0043]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0044]
图1为本发明提供优选实施例基于tiny-yolov3和融合距离阈值facenet的隧道工人安全帽检测及人脸识别方法流程图。
具体实施方式
[0045]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0046]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0047]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0048]
请参阅图1,本实施例提供的基于tiny-yolov3和融合距离阈值facenet的隧道工人安全帽检测及人脸识别方法,包括以下步骤:
[0049]
步骤1:获取工作人员的不同姿态安全帽的人脸图像,使用dlib进行关键点检测,
并采取仿射变换将局部图片对齐到ffhq数据集样本,并对对齐的图片进行均衡化作为人脸识别的数据库,建立人脸识别的recog_dataset数据集,具体为:使用dlib遍历ffhq数据集样本获得ffhq的5关键点坐标即两眼和人中的关键点,作为期望的模板坐标。把具有佩戴安全帽图片进行dlib的5关键点检测,通过仿射变换将图片关键点变换到模板坐标,实现人脸对齐。同时考虑到隧道的光线不均衡的问题,使用均衡化削弱光线的影响。
[0050]
步骤2:获取带有/没有安全帽的若干人脸图像,对其中的佩戴安全帽与未佩戴安全帽的人脸进行标签标注和数据增强,作为检测网络的detec_dataset训练集;
[0051]
步骤3:使用步骤2中的数据增强后的detec_dataset,训练一个用于检测工作人员是否佩戴安全帽的分类卷积神经网络模型tiny-yolov3;使用步骤1中的recog_dataset数据集数据,训练一个人脸识别的卷积神经网络facenet,具体为:
[0052]
以6个深度可分离卷积+最大池化的结构为主干网络,使用fpn实现多尺度的检测,在每个尺度的特征图后,构造出针对大目标和中目标的分类卷积神经网络模型,网络以定位损失、置信度损失、分类损失为优化目标,直至模型收敛,保存测试集分类准确率最好模型的权重,使用adam优化算法来更新模型的权重。其中定位损失以diou为损失函数,分类损失采取二元交叉熵为损失函数。
[0053][0054]
其中iou表示预测框和真实框交集与并集的比,diou表示考虑了预测框和真实框中心距离的iou,b,b
gt
分别代表了预测框和真实框的中心点,b
gt
和b为真实框和预测框。且ρ代表的是计算两个中心点间的欧式距离。c代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离。
[0055][0056]
其中,y是二元标签0或者1,p(y)是输出属于y标签的概率,i表示一个训练批次中的第i个样本,n表示一个训练批次包含的样本数。
[0057]
为平衡速度精度,facenet主干网络采取mobile net提取特征,将图像映射到欧式空间。图片的空间距离直接和图片相似度相关:同一个人的不同图像在空间距离很小,不同人的图像在空间中有较大的距离,可以用于人脸验证、识别和聚类。网络以三元组损失函数为目标,旨在使得类内距离越小、类间距离越大。
[0058][0059]
其中一个batch中的第i个类别α的训练样本,表示与同一类的样本,表示和非同一类的样本,表示a与b之间的欧式距离,α是阈值,当α类内距离与类间距离大于阈值才产生损失和梯度。
[0060]
步骤4:使用步骤3中训练好的tiny-yolov3,获取检测到的带有安全帽的头部图像,从对应的图片中截取检测部分的局部图片;
[0061]
步骤5:使用dlib进行关键点检测,并采取仿射变换将局部图片对齐到ffhq数据集样本,并对对齐的图片进行均衡化,得到待识别的人脸图片,具体为:
[0062]
根据官方的shape_predictor_5_face_landmarks.dat.bz2检测预训练模型,进行人脸双眼眼角和人中的关键点检测。通过预先检测ffhq数据得到该5点坐标。对于检测的人脸将其通过仿射变换,对齐到ffhq数据。仿射变换是从二维坐标到二维坐标之间的线性变换,且保持二维图形的“平直性”和“平行性”。非共线的三对对应点确定一个唯一的仿射变换。仿射变换可以通过一系列的原子变换的复合来实现,包括平移,缩放,翻转,旋转和剪切。均衡化作为增强图像对比度(image contrast)的方法,其主要思想是将一副图像的直方图分布变成近似均匀分布,从而增强图像的对比度。
[0063]
步骤6:使用步骤5中的待识别的人脸图片,传入facenet的网络得到表征该人脸的512维度的特征向量;
[0064]
步骤7:对步骤6的特征向量与数据库中的人脸计算两者的欧式距离与余弦相似度的组合结果满足识别成功的阈值判断是否是工作人员,具体为:通过计算数据库中模板向量与检测图像的向量的夹角的余弦值以及两者的欧式距离的来判断两个向量的相似度。当计算结果大于设置的阈值则认为是同一个人。
[0065]
原因在于余弦相似度更多的是从向量方向上区分差异,而对绝对的数值不敏感,而欧氏距离能够体现个体数值特征的绝对差异,将两者结合使得阈值对向量的方向和绝对差异有一定的平衡,余弦的取值范围[-1,1],因此不会扩大向量的绝对差异,计算公式如下:
[0066][0067]
其中l
euclidean
,l
cosine
分别表示欧式距离和余弦距离,x,表示输入的512维向量和数据库中的512维特征向量,表示给定输入x,寻找数据库中与之欧式距离最小的表示x,之间的欧式距离。
[0068]
步骤8:根据步骤7中的结果进行身份认证,如无佩戴安全帽进行警告,实现隧道的工作人员识别与佩戴安全帽预警。
[0069]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。