基于深度学习的疲劳检测算法

2020-05-15 09:58陈之坤迟万达高尚刘晓欣范迪
计算机与网络 2020年8期
关键词:人脸检测

陈之坤 迟万达 高尚 刘晓欣 范迪

摘要:为了实现对驾驶员驾驶状态的检测预警,避免发生交通事故。提出了一种基于改进多任务级联卷积神经网络(Multi-Task Convolutional Neural Networks,MTCNN)人脸检测及多特征融合的疲劳检测方法。算法利用改进的MTCNN进行人脸检测和面部9个特征点定位;基于特征点确定出嘴巴、眼睛区域输入多尺度深度可分离卷积神经网络(Multi-Scale Depth Separable Networks,MSDS-Net),以识别嘴巴和眼睛的状态。算法融合眼睛闭合率(ECR)、嘴巴张合率(MCR)和头部非正脸率(NFR)三个特征参数并进行疲劳状态判定,在YawDD数据集和课题组自制数据集上查准率和查全率分别为96.22%,98.08%。

关键词:多任务级联卷积神经网络;人脸检测;疲劳检测;MSDS-Net;YawDD

中图分类号:TP391.4文献标志码:A文章编号:1008-1739(2020)08-68-4

0引言

疲劳驾驶是引发交通事故的重要因素[1],实时疲劳状态检测对减少交通事故非常重要。目前,疲劳检测的方法主要有基于驾驶员生理参数的检测方法[2]、基于驾驶行为及车辆状态的检测方法[3]和基于驾驶员视觉特征的检测方法[4]3种。传统的基于驾驶员视觉特征的检测算法容易受光线、姿势等因素的影响,以及单一指标判别造成检测准确率、鲁棒性低等问题。基于以上问题,提出了基于深度学习的疲劳检测改进算法,使用卷积神经网络对驾驶员的眼睛、嘴巴、头部进行多特征的提取与状态的识别,实现多特征融合的疲劳状态的判定。

1基于人脸检测及多特征融合的疲劳检测算法

基于深度学习的疲劳检测算法分为人脸及特征点检测定位模块、特征状态识别模块和疲劳状态判定模块,如图1所示。

1.1改进MTCNN人脸及特征点检测定位模型

MTCNN是一種基于多任务级联的卷积神经网络,网络框架如图2所示,主要包括P-Net,R-Net,O-Net。将原始图像缩放得到图像金字塔,通过P-Net检测出大量候选框;通过R-Net对候选框的进一步调整;通过O-Net对预测框进行更精确的定位,最终输出边界框坐标和特征点信息。

对MTCNN模型进行改进,在原有5个特征点(左右眼睛、左右嘴角、鼻尖)的基础上增加4个特征点(眉心、左右脸颊、下巴中心点)进行训练,目的是为了更准确实现头部姿态的判定。同时,在O-Net网络结构中添加多尺度池化层增强网络对多尺度特征图的处理能力,提高网络检测精度。同时,修改O-Net网络中的任务权重,使之侧重训练特征点,以得到更加准确的特征点定位,为后续特征的提取做好准备,MTCNN三层网络结构以及O-Net网络的改进部分如图3所示。

1.2基于MSDS-Net的眼嘴状态识别模块

提出了基于MSDS-Net实现对眼睛和嘴巴状态的识别,眼睛与嘴巴的识别方法相同。网络仅使用3×3的深度可分离卷积,在max pooling前将多个3×3卷积堆叠在一起,组成卷积块结构。

网络使用了BatchNormalization对数据流进行优化,同时设置Dropout为0.25的随机失活系数,防止网络过拟合[5],优化方法使用了适应性矩阵估计(Adaptive Moment Estimation, Adam)方法。

1.3头部姿态识别模块

2多特征融合的疲劳检测算法

依据网络识别出的眼睛、嘴巴和头部姿态,本文借鉴PERCLOS准则,设定ECR,MCR,NFR三种特征指标,通过多特征指标融合策略进行驾驶员疲劳程度的判定,疲劳判定模块流程图如图5所示。

2.1 PERCLOS

PERCLOS是在单位时间内眼睛闭合时间所占的百分比[6],有P70,P80,EM三种标准。P80标准认为眼睛开度低于20%为闭合状态,高于80%为睁开状态。原理如图6所示,计算公式如式(2)所示。

3实验结果与分析

3.1人脸检测及特征点定位模型训练与结果分析

改进的MTCNN人脸检测采用WIDER Face作为训练数据,特征点训练采用新增4个(眉心、下巴中心点和左右脸颊)标注信息的MTFL数据集。使用FDDB人脸数据集作为测试数据,FDDB人脸检测数据集包含了5 171个人脸分布在2 845张图片上。本文是在Ubuntu16.04环境下基于Python和Tensorflow1.8.0进行算法模型的训练和性能的测试。为了验证算法的改进效果,在FDDB数据集上与原MTCNN算法进行对比试验。实验结果如图7所示,图7(a)为连续ROC曲线,表示检测框与真实框的相近程度;图7(b)为离散ROC曲线,表示人脸是否被检测到。从实验结果可以看出,本文改进的MTCNN算法优于原始算法。

基于后期头部姿态的判定和眼睛、嘴巴特征提取的需要,本文在算法原始5个特征点的基础上新增4个特征点进行训练,新增特征点后的图片示例以及相应特征提取示例如图8所示。

3.2眼睛嘴巴状态模型训练与结果分析

实验使用CEW闭眼数据集和自建嘴巴数据集进行模型的训练和测试。CEW数据集包含睁眼状态样本2 462个,其中训练样本2 112个,测试样本350个。闭眼状态样本2 384,其中训练样本2 034个,测试样本350个。嘴巴数据集包含张嘴样本1 921个,其中训练样本1 721个,测试样本200个。闭嘴样本998个,其中训练样本839个,测试样本159个。嘴巴眼睛数据集样本示例如图9所示。

实验中网络设置batch_size为32,学习率为0.01,设置Dropout为0.25,网络设置最大训练Epoch为40,最终眼睛和嘴巴训练曲线如图10所示。在测试集上眼睛的准确率在40个epoch之后达到0.98,嘴巴的准确率在40个epoch之后达到0.99。

3.3疲劳检测仿真实验与结果分析

疲劳状态仿真实验使用YawDD数据集[7]以及课题组志愿者自己录制模拟驾驶过程视频作为仿真数据,2种数据中均含有干扰因素如眨眼、说话及笑等干扰状态,不同实验条件下(正常光线、暗光和强光)实验效果如图11所示。

由图11中实验结果可看出,本文所设计算法以及疲劳判定策略能准确检测出驾驶员状态。

为了进一步验证算法的可行性,本文随机选取YawDD视频数据中5个female数据和5个male数据,以及2个课题组自制视频数据,统计这12个视频(总计841 s)中真实疲劳次数,以及算法识别疲劳次数。通过与传统疲劳检测方式对比实验,查看算法查全率与查准率,实验数据如表1所示。查准率为=( - )/( - +),查全率为=( - )/,其中表示真实疲劳次数,表示漏检的次数,表示误检的次数。从实验结果可以看出,本文算法的查准率和查全率均优于传统算法,误检和漏检情况主要是出现在暗光线下的,相对来说正常光照下查全率和查准率会更高。

4结束语

本文提出了一种基于改进MTCNN人脸检测及多特征融合的疲劳检测方法。首先通过改进的MTCNN网络实现人脸定位和相应特征点定位,提取出识别驾驶员疲劳状态所需的眼睛和嘴巴特征,同时根据特征点数据结合头部姿态判定策略判别出驾驶员头部姿态。然后,将提取的眼睛嘴巴特征输入MSDS-Net进行状态的识别,最后依据ECR,MCR,NFR三种特征指标融合的疲劳判定策略,实现驾驶员状态判定。通过相关实验表明针对不同的实验环境本文算法有较高的鲁棒性、查准率和查全率,达到检测的要求。

参考文献

[1]孔质彬,刘翔,秦文玉,等.道路交通事故的成因和地区分布特点研究[J].中国社会医学杂志,2018,35(1):31-33.

[2]王琳,化成城,姜鑫,等.基于颈腰部肌电及脑电信号的疲劳驾驶检测[J].东北大学学报(自然科学版),2018,39(1): 102-107.

[3] WU G,HE J,NIE P,et al.Drivers Posture Detection Based on Centroid Coordinates of Two-hand (arm) Region[C]//2018 IEEE 3rd International Conference on Communication and Information Systems (ICCIS),IEEE,2018:23-27.

[4] ZHANG Zhiwei,ZHANG Ruijun,HAO Jianguo,et al.Fatigue Driving Detection and Warning Based on Eye Features[C]// The Euro-China Conference on Intelligent Data Analysis and Applications. Springer, Cham,2018: 491-498.

[5]李兆旭,陳之坤,李永毅,等.基于LBP和级联XGBoost的驾驶员打电话行为检测算法[J].信息与电脑(理论版), 2019,(3): 72-76.

[6] WANG JJ,XU W,GONG YH. Real-time Driving Danger-Level Prediction[J]. Engineering Applications of Artificial Intelligence,2010,23(8):1247-1254.

[7] ABTAHI S, OMIDYEGANEH M, SHIRMOHAMMADI S, et al. YawDD: a yawning Detection Dataset[C]//Proceedings of the 5th ACM Multimedia Systems Conference, ACM, 2014: 24-28.

猜你喜欢
人脸检测
JNI技术在基于OpenCV的人脸与微笑检测中的应用
基于人脸特征定位的SNS网站应用组件研究与设计
基于Android平台的人脸识别系统设计与实现
基于Matlab的人脸检测实验设计
基于JSeg和显著性检测的服装图像分割方法