发明内容
为了克服现有技术的不足,本发明的目的在于提供一种基于深度学习的人员工作图像的注意力检测方法,能够实时对人员的工作状态进行监控,可靠性高。
为达上述目的,本发明采用以下技术方案:
提供一种基于深度学习的人员工作图像的注意力检测方法,人员工作图像是指工作人员的工作图像,包括下列步骤:获取工作人员的工作图像;
1)利用基于深度学习的人脸检测模型,获取人脸所在矩形框和人脸关键点,通过人脸所在矩形框进行头部姿态检测,进而获取到头部姿态角度即人脸头部朝向欧拉角;
2)利用获取到的人脸关键点中的人眼关键点,进行眼睛检测,进而获取双眼所在矩形框,通过双眼所在矩形框,进行眼睛状态识别,获取到眼睛睁闭状态;
3)利用所述人脸所在矩形框和所述双眼所在矩形框,进行眼动追踪,进而获取到双眼注视方向;
基于以上获取到的所述头部姿态角度、所述双眼注视方向,所述眼睛睁闭状态,对工作人员的注意力进行监督记录;人眼处于闭眼状态、所述头部姿态角度超过规定阈值,以及所述双眼注视方向超过规定范围,上述三种情形的任意一种或任意组合都将被触发提醒。
所述人脸检测模型主要由三大子网络组成,即人脸检测网络由P-Net、R-Net、O-Net组成。
双眼注视方向以及眼睛睁闭状态通过眼动模型获取;所述人脸检测模型与所述眼动模型中的卷积操作使用深度可分离卷积进行。
对于人眼图片的获取是基于人脸关键点中的双眼关键点计算所得,设监测出的左眼中心点坐标为(X0,Y0),其中X0表示左眼在整张图片中x轴方向的坐标值,Y0表示左眼关键点在图片中y轴方向的坐标值,相应的右眼坐标为(X1,Y1),则:
表示左眼所在矩形框的左上角坐标位置为(XL,YL),
其中,WL,HL分别表示左眼矩形框的宽和高的大小;
表示右眼所在矩形框的左上角坐标位置为(XR,YR),
其中,WR,HR分别表示右眼矩形框的宽和高的大小。
所述提醒包括有报警蜂鸣、语音提示与文字提示。
本发明还提供一种基于深度学习的人员工作图像的注意力检测方法的系统,包括:
基于深度学习的人脸检测模型,用于获取目标人物的人脸所在矩形框和人脸关键点;
基于深度学习的眼动模型,用于获取双眼注视方向以及眼睛睁闭状态;
基于深度学习的头部姿态估计模型,用于得到头部姿态角度即人脸头部朝向欧拉角;
综合处理单元,对以上模型获取到的所述头部姿态角度,双眼注视方向,眼睛睁闭状态,进行综合处理后,对所述目标人物的注意力进行监督记录。
本发明具有以下有益效果:
本发明基于深度学习,通过对目标人员头部姿态、眼睛睁闭状态、眼睛注视方向的综合分析,自动对工作人员的工作完成质量进行监督记录,从而实时对人员的工作状态进行监控,可靠性高。
本发明基于实时对人员的工作状态进行监控,可靠性高,可用于小型设备,成本更低,部署更便捷,故特别适用于X光机安检员工作状态监控、监控室保安工作状态监控。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明基于深度学习的人员工作图像的注意力检测方法,包括下列步骤:获取工作人员的工作图像;
1)利用基于深度学习的人脸检测模型,获取人脸所在矩形框和人脸关键点,通过人脸所在矩形框进行头部姿态检测,进而获取到头部姿态角度即人脸头部朝向欧拉角;
2)利用获取到的人脸关键点中的人眼关键点,进行眼睛检测,进而获取双眼所在矩形框,通过双眼所在矩形框,进行眼睛状态识别,获取到眼睛睁闭状态;基于人脸检测得到的两个眼睛的点位,计算出双眼的倾斜角度,然后基于该角度将人脸照片旋转矫正。分别以两个眼睛的关键点的位置为中心,两点间的距离的一半为边长,取出方形的双眼图片;训练一个cnn的人眼图片分类网络。对上一步获取到的方形人眼,首先转为灰度图,然后经过cnn人眼图片分类网络,判断出人眼的睁闭状态。
3)利用所述人脸所在矩形框和所述双眼所在矩形框,进行眼动追踪,进而获取到双眼注视方向;
基于以上获取到的所述头部姿态角度、所述双眼注视方向,所述眼睛睁闭状态,对工作人员的注意力进行监督记录;人眼处于闭眼状态、所述头部姿态角度超过规定阈值,以及所述双眼注视方向超过规定范围,上述三种情形的任意一种或任意组合都将被触发提醒。该提醒包括有报警蜂鸣、语音提示与文字提示。
在本发明中,人脸检测模型MTCNN,MTCNN是Multi-task Cascaded ConvolutionalNetworks的缩写,主要由三大子网络组成,即人脸检测网络由P-Net、R-Net、O-Net组成。P-Net是Proposal Network的缩写,R-Net是Refine Network的缩写,O-Net是Output Network的缩写。
第一阶段:
11)首先图像金字塔将原始图像放缩到不同尺度,然后将不同尺度的图像输入给P-Net网络,目的是为了可以检测到不同大小的人脸,从而实现多尺度目标检测。图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。
12)P-Net输出最后一层的卷积层的每个小方格预测到的人脸概率以及预测到的边框坐标偏移量。注意:此时是所有小方格的人脸概率,可能存在为0,也可能存在为1。
13)将12)得到数据作为输入,首先提取出人脸概率大于设定阈值的小方格,作一个初步过滤。因为有不同尺度下的小方格,而每个小方格在原始图像都代表一个区域,所以找到不同尺度下的小方格在原始图像中的区域;这样会得到很多的人脸区域。
14)把初步得到可能是人脸的图片进行NMS非极大值抑制,即NMS(Non-maximumsuppression的缩写)。NMS就是待测图片中人脸的区域与实际上人脸框的面积重合比例。所述NMS(non maximum suppression),中文名非极大值抑制抑制,就是不是极大值的元素,搜索局部的极大值。例如在对象检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分类及分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是某类对象的概率最大),并且抑制那些分数低的窗口。
15)NMS得到的图片再经行边框回归,边框回归是待测图片的人脸框与实际人脸框的位置相比较,对待测图片人脸框位置作调整,使它跟接近真人脸框的位置。
以上为P-Net网络检测的基本流程,P-Net最后层网络是卷积层,P-Net输出结果是经过筛选和位置调整的人脸图片,P-Net网络输出还是图片,注意其文档保存图片路径,人脸得分,边框坐标。
第二阶段:
21)把P-Net网络输出的图片作为R-Net网络的输入,R-Net网络输出每张图片的人脸得分和边框坐标偏移量,P-Net输出的是图片某个区域的得分,R-Net输出的是整张图片的得分;
22)排除得分小于阈值的图片;
23)NMS非极大值抑制,其目的是为了消除多余的框,找到最佳的物体检测的位置;
24)边框回归;
以上为R-Net网络的流程。R-Net是对人脸框的进一步过滤和调整边框位置。
第三阶段:
O-Net与R-Net基本流程大致一样,只是增加了5个人脸关键点的预测及位置调整。人脸关键点包括左眼,右眼,鼻尖,左嘴角,右嘴角。
由上述可见,本发明首先利用基于深度学习的多任务人脸检测模型,获取人脸所在矩形框和人脸的关键点。利用获取到的人脸关键点中的人眼关键点,获取双眼所在矩形框。利用深度学习的人眼识别模型,对双眼睁闭状态进行识别。利用双眼所在矩形框和人脸所在矩形框,经过基于深度学习的眼动模型,获取双眼注视方向。基于获取到的人脸矩形框,经过基于深度学习的头部姿态估计模型,得到人脸头部朝向欧拉角。
基于以上模型获取到的头部姿态角度,眼睛注视方向,眼睛睁闭状态,综合处理后,对目标人物的注意力进行监督记录。
本发明基于所述基于深度学习的人员工作图像的注意力检测方法的系统,本发明所述系统,是指基于深度学习的工作人员工作图像的注意力检测方法的处理单元组成,系统可以是各处理单元做成的程序或者是各处理单元结合硬件如微处理器、摄像头、存储器等,系统包括:
基于深度学习的人脸检测模型,用于获取目标人物的人脸所在矩形框和人脸关键点;
基于深度学习的眼动模型,用于获取双眼注视方向以及眼睛睁闭状态;眼动模型是指在人眼向前凝视的情况下,双眼的关键点位即眼球与鼻子嘴角的关键点的相对位置是匀称的。当双眼朝向其他方向注视时,双眼的关键点位将会发生偏移;通过双眼的关键点相对鼻子嘴角关键点的偏移程度,可估算出眼睛的方向即双眼注视方向;获取眼睛睁闭状态的过程是通过人眼分类模型对人眼照片进行分类后,可获得当前帧的人眼睁闭状态。考虑到人会存在眨眼的情况,因此只有到持续一段时间(设定为500ms)检测到人眼持续处于闭眼状态时,则判定当前人处于闭眼状态;
对于人眼图片的获取是基于人脸关键点中的双眼关键点计算所得。设监测出的左眼中心点坐标为(X0,Y0),其中X0表示左眼在整张图片中x轴方向的坐标值,Y0表示左眼关键点在图片中y轴方向的坐标值。相应的右眼坐标为(X1,Y1),如图6所示,图6中,人脸所在矩形框为大矩形框,大矩形框内有两个小矩形框,即左眼所在矩形框与右眼所在矩形框,则:
表示左眼所在矩形框的左上角坐标位置为(XL,YL),
其中,WL,HL分别表示左眼矩形框的宽和高的大小。
表示右眼所在矩形框的左上角坐标位置为(XR,YR),
其中,WR,HR分别表示右眼矩形框的宽和高的大小。
其中判断人眼睁闭状态的人眼分类模型为自定义卷积神经网络,输入尺寸为24×24,经过卷积层,池化层,卷积层,池化层,然后经过两个全连接层,最后输出为0和1两种状态,如图2所示。
本发明基于深度学习的头部姿态估计模型(Hopenet),用于得到头部姿态角度即人脸头部朝向欧拉角,头部姿态指的是人物头部的朝向,通俗的理解是低抬头、转头等动作。头部姿态检测通常使用欧拉角度(yaw、pitch、roll)来表示各方向的偏转程度。通过卷积神经网络对人脸区域进行提取特征并对角度进行回归,以end-to-end的方式完成头部姿态的预测。该模块任务需要同时预测人脸在三个轴上的角度,故将网络设计为多输出的结构。网络的输出层将角度每三个一组进行分箱,从而将回归问题转化为分类问题。例如步骤1)中欧拉角(Yaw,Pitch,Roll)按角度区间进行分类,比如3度,那么Yaw:-90-+90,可以分成180/3=60个类别,Pitch和Roll同Yaw角类似。将激活函数的输出看成角度的分布函数,计算角度的期望。模型的损失函数由两个部分构成:softmax期望与真实值的均方误差、softmax分组与真实分组的交叉熵。该损失函数兼顾回归和分类问题的设计有效的加快了模型的收敛;得到头部姿态角度即人脸头部朝向欧拉角的方法是通过人脸检测模型获取到人脸的矩形框后,将人脸图像截取出来,送入到头部姿态估计模型中。模型输出结果直接为欧拉角三个数字;softmax函数它能将一个含任意实数的K维向量z“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是Si=eVi/ΣjeVj,也就是说,是该元素的指数,与所有元素指数和的比值。
综合处理单元,对以上模型获取到的所述头部姿态角度,双眼注视方向,眼睛睁闭状态,进行综合处理后,对所述目标人物的注意力进行监督记录。前述综合处理是指除对人眼睁闭状态的识别外,当头部的角度超过一定阈值,以及人眼凝视方向超过一定范围时,都将触发提醒。具体提醒方式有报警蜂鸣,语音提示,文字提示等。
在上述各网络结构中存在大量卷积操作。为进一步降低计算量,提高速度,现将各卷积操作使用深度可分离卷积(Depthwise separable convolution)进行替换。
图3代表标准卷积。假设输入特征图尺寸为D
F×D
F×M(假定输入特征图的宽和高大小一致,为D
F,输入通道数为M),标准卷积核尺寸为D
K×D
K×M(假定标准卷积核的宽和高大小一致,为D
K,通道数为M),共N个卷积核。输出特征图尺寸为D
F×D
F×N(假定输出特征图的宽和高大小一致,为D
F,输出通道数为N),则标准卷积层的参数量为:
图4代表深度卷积,图5代表逐点卷积,深度卷积和逐点卷积两者合起来便是深度可分离卷积。深度卷积负责滤波,尺寸为D
K×D
K×1,共M个,作用在输入特征图的每个通道上,从而深度卷积参数量为
逐点卷积负责转换通道,尺寸为1×1×M,共N个,作用在深度卷积的输出特征映射上,从而逐点卷积参数量为
这样深度可分离卷积参数量总量为
是标准卷积的
倍。
从以上推导可见,将传统卷积替换为深度可分离卷积后,参数量会进一步下降,相应的模型速度也会提高。同时,通过调整卷积核数量N以及卷积核尺寸Dk的大小,可根据业务需求在模型精度和速度中取得一个平衡。
需要声明的是,上述具体实施方式仅为本发明的较佳实施例及所运用技术原理,在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化或替换,都应涵盖在本发明的保护范围内。