本发明涉及人脸识别技术领域,具体涉及一种睁眼闭眼状态检测方法。
背景技术:
随着人工智能技术的发展,眼睛作为人类重要的面部特征有着广泛的使用场景。例如人脸识别过程中要判断是否睁眼以避免在睡眠时误解锁的问题;判断司机是否有疲劳驾驶的行为等方面,一种可靠的判断睁眼闭眼状态的方法显得极其重要。
技术实现要素:
本发明针对现有技术中存在的技术问题,提供一种睁眼闭眼状态检测方法,利用深度学习的方法,将上述截取的眼部图片进行分类训练,实现准确的区分“睁眼”和“闭眼”。
本发明解决上述技术问题的技术方案如下:一种睁眼闭眼状态检测方法,包括以下步骤:
步骤1,对当前帧图像进行人脸检测并获取人脸landmark的位置;
步骤2,利用检测到的人脸位置以及landmark坐标计算出眼部的区域,并截取眼部图片。
步骤3,利用预先训练好的神经网络模型进行眼部图片的分类,识别睁眼闭眼状态。
进一步,所述步骤1中对当前帧图像进行人脸检测采用的算法为mtcnn算法。
进一步,所述步骤2具体为:利用检测到的人脸位置以及landmark坐标计算出眼部的区域,取以两个眼睛之间的距离的0.4倍作为边长,两个眼睛坐标作为中心的正方形,分别截取两个正方形部分的图像作为眼部图片。
进一步,步骤3中所述的神经网络模型是基于深度学习网络mobilenet训练得到的分类模型;训练时采集不少于2000张不同光照条件下的眼部图片,并根据睁眼闭眼状态进行人工分类,构成训练集,对深度学习网络mobilenet进行训练。
本发明的有益效果是:
1.准确率高,利用mtcnn方法检测人脸,并利用深度学习的技术进行眼睛状态的分类,可以达到较高的准确率;
2.效率高,可以达到实时检测的效果,眼睛图片较小且睁眼闭眼特征较明显,可以使用比较高效的神经网络模型;
3.实施方便,只需要普通摄像头就可以完成该功能,不需要其他辅助设备。
附图说明
图1为本发明方法流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明方法流程图。如图1所示,一种睁眼闭眼状态检测方法,包括以下步骤:
步骤一,采用mtcnn算法对当前帧图像进行人脸检测并获取人脸landmark的位置。通过mtcnn算法可获取人脸的位置以及人脸landmark的位置,准确率高,速度快。
步骤二,利用步骤一中检测到的人脸位置以及landmark坐标计算出眼部的区域取以两个眼睛之间的距离的0.4倍作为边长,两个眼睛坐标作为中心的正方形,分别截取两个正方形部分的图像作为眼部图片。
步骤三,重复步骤一步骤二,收集大量的眼部图片,建议各种光线条件下收集2000张以上,并根据睁眼闭眼的状态人工进行分类。
步骤四,将步骤三中的图片集作为训练数据,对深度学习网络mobilenet进行分类训练。
步骤五,对于相机的图像,按步骤一步骤二截取眼部图片。
步骤六,利用步骤四训练得到的神经网络模型进行眼部图片的分类,此时即可得到睁眼闭眼的最后识别结果。
本发明的有益效果是:
1.准确率高,利用mtcnn方法检测人脸,并利用深度学习的技术进行眼睛状态的分类,可以达到较高的准确率;
2.效率高,可以达到实时检测的效果,眼睛图片较小且睁眼闭眼特征较明显,可以使用比较高效的神经网络模型;
3.实施方便,只需要普通摄像头就可以完成该功能,不需要其他辅助设备。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。