CN114220158A - 基于深度学习的疲劳驾驶检测方法 - Google Patents
基于深度学习的疲劳驾驶检测方法 Download PDFInfo
- Publication number
- CN114220158A CN114220158A CN202210150908.5A CN202210150908A CN114220158A CN 114220158 A CN114220158 A CN 114220158A CN 202210150908 A CN202210150908 A CN 202210150908A CN 114220158 A CN114220158 A CN 114220158A
- Authority
- CN
- China
- Prior art keywords
- face
- fatigue
- driver
- fatigue driving
- deep learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 50
- 238000013135 deep learning Methods 0.000 title claims abstract description 16
- 230000004927 fusion Effects 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 210000003128 head Anatomy 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 16
- 206010039203 Road traffic accident Diseases 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 101001051297 Aspergillus oryzae (strain ATCC 42149 / RIB 40) Leucine aminopeptidase A Proteins 0.000 claims description 5
- 230000004397 blinking Effects 0.000 claims description 3
- 238000011897 real-time detection Methods 0.000 claims description 3
- 206010048232 Yawning Diseases 0.000 description 11
- 230000008859 change Effects 0.000 description 11
- 241001282135 Poromitra oscitans Species 0.000 description 9
- 238000001914 filtration Methods 0.000 description 8
- 230000036544 posture Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000001815 facial effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000004399 eye closure Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 208000014674 injury Diseases 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000012260 Accidental injury Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000001331 nose Anatomy 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及疲劳驾驶检测技术领域,涉及一种基于深度学习的疲劳驾驶检测方法,包括:一、采集视频及预处理;二、阈值设定;三、人脸检测;四、通过多任务学习的FLHPD算法进行面部关键点定位和头部姿态估计;FLHPD算法中,在脸部网络的尾部融合了不同尺度的3个特征,这3个特征是从不同层次中提取出来的,即在网络低层中提取轮廓特征,在网络高层次中提取眼睛和嘴巴的特征,最后对多尺度的特征图用全连接层进行回归预测;网络分为两个分支,一个分支是进行人脸关键点定位,另一个分支是头部姿态估计,在两条分支都执行完成后,再进行合并;五、多指标融合疲劳判定;六、疲劳预警。本发明能较佳地进行疲劳驾驶检测。
Description
技术领域
本发明涉及疲劳驾驶检测技术领域,具体地说,涉及一种基于深度学习的疲劳驾驶检测方法。
背景技术
随着我国家基础建设的不断完善和人民群众物质生活水平的逐渐提高,可供人民出行的交通工具的选择也越来越多,如公交汽车、地铁、共享单车、私家车等,其中私家车已经发展成为人们日常出行的首选交通工具。
众所周知,我国的道路交通安全是一个在世界范围内都相对比较严重的国家。虽然近些年来我国在交通安全方面做了许多相关的措施,情况有也一些好转,但整理来说情况还是不容乐观,如果我们不对其进行更加严格的防范和控制,交通事故的发生率和致死率还会不断达到新的峰值。
分析这些交通事故背后的原因,疲劳驾驶则是一个不可忽略的因素。据统计由于驾驶员在疲劳状态下驾驶造成的交通事故占总事故的百分之二十左右,所占的比重仅次于酒后驾驶和超速行驶。
疲劳驾驶会造成意外的伤害,给驾驶员本人和家人以及国家都会造成不同程度的损失和伤害。据统计,如果驾驶员能够在事故发生时,反应快半秒,则可以阻止60%的事故发生。由此可见,研究一套能够应用在实际驾驶环境的疲劳驾驶检测系统是一件刻不容缓的事情,对于驾驶员以及其家人的出行都有着良好的保障。
发明内容
本发明的内容是提供一种基于深度学习的疲劳驾驶检测方法,其能够较佳地检测疲劳驾驶。
根据本发明的基于深度学习的疲劳驾驶检测方法,其包括以下步骤:
一、采集视频及预处理;
二、阈值设定;
三、人脸检测;
四、通过多任务学习的FLHPD算法进行面部关键点定位和头部姿态估计;
FLHPD算法中,在脸部网络的尾部融合了不同尺度的3个特征,这3个特征是从不同层次中提取出来的,即在网络低层中提取轮廓特征,在网络高层次中提取眼睛和嘴巴的特征,最后对多尺度的特征图用全连接层进行回归预测;网络分为两个分支,一个分支是进行人脸关键点定位,另一个分支是头部姿态估计,在两条分支都执行完成后,再进行合并;
五、多指标融合疲劳判定;
六、疲劳预警。
作为优选,步骤一中,从车辆内部安装的硬件设备获取视频数据或者开启摄像头读取数据,调用OpenCV库中的函数对每个图像进行处理。
作为优选,步骤二中,阈值的设定针对眼部和头部参数,利用驾驶员清醒时的视频来计算其闭眼的阈值、眨眼频率以及头部俯仰角的位置范围,将结果插入或更新到数据库表中,一个驾驶员在数据库表中至多有一条相应的数据,在正式检测前,系统会提前从数据库中查找当前驾驶员对应的参数阈值,如果有数据就采用数据库表中的阈值做疲劳判定,若没有则使用系统设定的默认阈值进行检测。
作为优选,步骤三中,选定阈值后,开启正式的疲劳驾驶检测,首先通过HOG和SVM结合的方式进行人脸检测,若没有检测到人脸,则系统会认定驾驶员没有在自己的岗位上,此种情况容易酿成车祸,所以及时发出警告;检测存在人脸后,将人脸的区域标记出来,同时将人脸框的位置坐标作为下一步的输入。
作为优选,步骤四中, FLHPD算法中,需对数据集进行扩充,在原有的WFLW数据集的基础上,添加了LAPA、300W_LP和自建的数据集,并且挑选出部分样本进行随机旋转图像、调整色彩、调整尺寸操作来增强数据。
作为优选,步骤四中, FLHPD算法中,采用的损失函数由两部分组成,关键点损失和姿态损失,其中关键点使用wing损失函数,姿态使用smoothL1损失函数,并且在关键点回归中,针对眼睛做了单独的加强,即为眼睛部分关键点的偏差乘以权重5;
wing损失函数为:
smoothL1损失函数为:
作为优选,步骤五中,通过定位到的多个关键点,根据下标可以精准的对眼部和嘴部进行定位和跟踪,之后结合驾驶员自身阈值的设定以及固定阈值的设定完成对眼部、嘴部和头部疲劳特征的识别,通过多个指标融合对固定时间段内的驾驶状态进行判定,实现实时检测、实时判定和实时预警。
作为优选,步骤六中,当系统在视频的连续多帧中没有检测到人脸,认为其脱离驾驶岗位,会及时的进行预警,当系统在固定时间段内对驾驶员检测结果判定为疲劳时,同样会进行预警,利用外部设备对驾驶员提醒,让其及时自我调整或停车休息,避免发生车祸。
本发明提出了一种用于人脸关键点定位和头部姿态估计的多任务学习的FLHPD算法,在对PFLD算法的研究的基础上,通过合并主干网络和分支网络、修改损失函数、扩充数据集等方式进行改进,利用PyTorch框架进行网络结构的搭建,在选取的人脸数据集上进行数据增强和预处理后,利用数据集进行模型的训练,经过多次参数的调整以及优化,最终得到一个pth格式的模型文件,通过该模型可以完成多个人脸关键点的定位和头部姿态估计。本发明能较佳地进行疲劳驾驶检测。
附图说明
图1为实施例1中一种基于深度学习的疲劳驾驶检测方法的流程图;
图2为实施例1中FLHPD算法结构示意图;
图3(a)为实施例1中描述人眼状态变化的EAR变化图;
图3(b)为实施例1中经过滤波操作后描述人眼状态变化的EAR变化图;
图4(a)为实施例1中描述嘴部的MAR变化图;
图4(b)为实施例1中经过滤波操作后描述嘴部的MAR变化图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
实施例1
如图1所述,本实施例提供了一种基于深度学习的疲劳驾驶检测方法,其包括以下步骤:
一、采集视频及预处理;
从车辆内部安装的硬件设备获取视频数据或者开启摄像头读取数据,由于图像会受到光照等影响,故调用OpenCV库中的函数对每图像进行处理,减小噪声的干扰,如cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)将img做灰度化处理。
二、阈值设定;
阈值的设定主要针对眼部和头部的一些参数,利用驾驶员清醒时的视频来计算其闭眼的阈值、眨眼频率以及头部俯仰角的位置范围,将结果插入或更新到数据库表中,一个驾驶员在数据库表中至多有一条相应的数据,在正式检测前,系统会提前从数据库中查找当前驾驶员对应的参数阈值,如果有数据就采用数据库表中的阈值做疲劳判定,若没有则使用系统设定的默认阈值进行检测。
三、人脸检测;
选定阈值后,开启正式的疲劳驾驶检测,首先需要通过HOG和SVM结合的方式进行人脸检测,目的一是为了查看驾驶员是否在自己的位置上,若没有检测到人脸,则系统会认定驾驶员没有在自己的岗位上,此种情况容易酿成车祸,所以及时发出警告;目的二是为了后续的疲劳检测做准备工作,检测存在人脸后,将人脸的区域标记出来,同时将人脸框的位置坐标作为下一步的输入。
四、通过多任务学习FLHPD算法进行面部关键点定位和头部姿态估计;
在PFLD算法基础上进行改进,由于面部关键点定位和头部姿态估计这两个任务之间有着较强的相关性,并且这种相关性对两个任务都有积极的作用,提高检测结果的准确率,因此提出多任务学习的FLHPD算法,用于人脸关键点定位和头部姿态估计。多任务学习的FLHPD算法的主要改进包括:
①网络结构:由于面部关键点和头部姿态估计两个任务之间相关性非常强,并且设计的损失函数需要保持平衡,所以将两个分支的网络进行合并,即将辅助网络合并到主干网络中,这样可以使得两个任务在最终结果上都能够回归的较好,并且结果好坏对损失函数设计的依赖程度也有很大程度上的降低。FLHPD的网络整体结构是一种跳跃式的融合网络,如图2所示,为了增加模型的表达能力,在脸部网络的尾部融合了3个不同尺度的特征,这3个特征是从不同层次中提取出来的,即在网络较低层中提取轮廓特征(包括眉毛和鼻子),图2中为Mobilenet-V2模块层及之前的卷积层,在网络更高层次中提取眼睛和嘴巴的特征,图2中为Mobilenet-V2模块层之后的卷积层,最后对多尺度的特征图用全连接层进行回归预测,图2中为全连接层。此外,如图2所示,在Mobilenet-V2模块层之后,分为两个分支,一个分支是进行人脸关键点定位(任务一),另一个分支是头部姿态估计(任务二),在两条路径都执行完成后,再进行合并。
②数据集:扩充数据集,在原有的WFLW数据集的基础上,新添加了LAPA、300W_LP和自建的数据集,其中包含了许多稀有样本,如闭眼、面部遮挡、多姿态等,并且挑选出部分样本进行随机旋转图像、调整色彩、调整尺寸操作来增强数据。
③损失函数:由于PFLD对稀有样本的关注度过高,所以模型在训练过程损失函数收敛速度慢,使得对整体的梯度调节不明显,因此对多种损失函数进行对比,包括mse,pfld,smoothL1和wing,实验结果表明:wing 损失函数的效果更好,收敛速度也更快。因此,本实施例采用的损失函数由两部分组成,关键点损失和姿态损失,其中关键点使用wing损失函数,姿态使用smoothL1损失函数,并且在关键点回归中,针对眼睛做了单独的加强,即为眼睛部分关键点的偏差乘以权重5。
wing损失函数是针对人脸关键点而提出的一种新的损失函数,数学公式如下:
其中x表示神经网络预测的面部特征点和实际面部特征点之间的误差值,w是一个
非负参数值,表示wing损失函数非线性部分的x取值范围为(-w,w), 是一个参数值,它限
定非线性曲率,其设定值不应该太小,C是一个常数,它平滑地连接分段线性部分和非线性
部分。
以往的一些损失函数,如L1、L2和smoothL1,对于“离群点”比较敏感,即当预测的
关键点和实际位置产生较大误差时,会对整体的loss造成较大的影响,而对于那些中小范
围的误差则不敏感,这样会使关键点无法得到更好的回归。因此,wing损失函数通过分段函
数对误差较大的和其他情况区分对待,使误差不管在哪个范围内都能很好的得到关注,选
取结果最优的参数设置,即w为10,为0.2。
smoothL1损失函数是光滑后的L1,如下式,主要是为了让“离群点”能够更加鲁棒。
在人脸检测前就将训练好的模型进行加载,将检测出的人脸信息进行输入,由于FLHPD网络接受特定尺寸大小的图像,因此需要根据人脸检测得到的人脸区域位置对图像进行裁剪,然后将裁剪后的图像输入到网络中,进而实现面部特征点的定位以及头部姿态估计。对于检测图像中有可能出现光照不均匀、夸张表情或者局部遮挡等问题,都能够通过FLHPD算法很好的解决,需要注意的是系统在检测前必须将模型训练好,通过模型完成实时的面部特征点定位和头部姿态估计。在系统UI界面中会将检测视频进行展示,并且将定位到的面部关键点展示在相应的位置区域上,头部姿态用一个长方体的形式显示在图像上,这样能够直观的观测到模型检测的具体结果。
五、多指标融合疲劳判定;
通过定位到的98个关键点,根据下标可以精准的对眼部和嘴部进行定位和跟踪,之后结合驾驶员自身阈值的设定以及固定阈值的设定完成对眼部、嘴部和头部疲劳特征的识别,通过多个指标融合对固定时间段内的驾驶状态进行判定,实现实时检测、实时判定和实时预警。
六、疲劳预警;
当系统在视频的连续多帧中没有检测到人脸,认为其脱离驾驶岗位,会及时的进行预警,当系统在固定时间段内对驾驶员检测结果判定为疲劳时,同样会进行预警,利用外部设备对驾驶员提醒,让其及时自我调整或停车休息,避免发生车祸。
FLHPD算法评估
选取ION(inter-ocular distance normalized error)、I P N (Inter-pupildistance normalized error)和NME(normalized mean error,归一化平均误差)作为评估指标,在WFLW中的2500张测试集上做测试,同时计算了batch_size为32时,模型预测一个批次图像所需要的时间。和PFLD模型对比情况如表1所示。
表1改进前后的PFLD在WFLW测试集上的对比情况
从上面实验对比结果可知,本实施例提出的FLHPD算法在定位人脸关键点在ION、IPN和NME都不同程度的下降,表明检测精度较PLFD来说具有更好的性能,这也说明改进后的模型并没有因为合并了头部姿态估计的任务而使准确度降低,相反加入了该任务之后模型具有更低的平均检测误差,因此可以确定FLHPD算法具有较好的泛化能力。但是人脸关键点定位精度增加的同时,模型预测的时间略微增加,这是因为PFLD的分支网络只是在模型训练时作为辅助,测试时并不使用,故该辅助网络无论如何设计,都不会影响PFLD最终的检测速度,而改进后的算法则有所不同。
在PFLD中,人在闭眼时定位到的眼部关键点与实际情况有较大的误差,因此FLHPD算法新添加了从LAPA训练数据集中挑出的闭眼数据样本,利用融合的数据集进行训练,测试能够达到预期的效果。
PFLD算法对头部姿态的估计情况有偏差,解决闭眼关键点定位不准确的问题后,很容易联想到姿态不准确也有可能是因为样本不均衡而导致的,所以FLHPD算法引入了300W_LP数据集,该数据集和其他数据集相比,最大的不同在于它是针对大姿态而设计的人脸数据。在数据融合的时候会发现各个数据集标注的点数不同,因此在数据集融合时需要对其做预处理,并且在损失函数中也需要做相应的修改和优化。FLHPD算法具有较强的实用性。
为了进一步评估PLHPD算法对人脸关键点定位的效果,本实施例采用该模型在LAPA测试数据集上进行定性评估,将定位后的人脸关键点的图像作为输出,从输出的图像中直观判断模型的优劣。在正常的情况下,FLHPD算法在人脸关键点定位方面精度较高,具有良好的表现力。
由于实际场景比较复杂,图像中的人物有时会佩戴帽子、眼镜,或者做出夸张的表情,有时也会出现较大的姿态等情况,上述情况对检测结果没有太大的影响,FLHPD算法具有较好的鲁棒性。
在实际的场景中,出现光照不均匀的情况也会常常发生,或者由于拍照水平的不同呈现出来的图像会出现图像模糊等情况,所以在此类情况下,检测的结果也应该保证一定的准确率。实验结果表明,如果人脸在存在部分遮挡,定位到的关键点不会出现较大的偏差。从整体情况上来看,FLHPD算法具有较强的实用性和鲁棒性,该模型可以应用在实际场景中。
疲劳检测算法评估
有研究表明,驾驶员的疲劳特征通常表现在面部和头部,并且不同状态下的变化情况较为明显,因此可以将眼部、嘴部和头部的疲劳特征提取出来,将其变化情况作为疲劳检测的依据。
(1)疲劳状态在眼部上的表现尤为明显,并且有研究表明反映人体疲劳程度最有效的特征是眼睛状态的变化,所以将表现在眼部的疲劳特征作为判别疲劳指标的首位。眼部状态主要有两种:睁开和闭合,无论眼部处于哪一种状态,眼睛的宽度基本保持恒定,高度在眼睛睁开时较大,闭合时最小,甚至接近于零。眼部的特征主要反映在眼部开合度,若仅利用眼睛的高度判断眼睛的开合度,实际处理过程中可能会受到近大远小成像原理的影响,故采用Soukupova T提出的眼睛纵横比(eye aspect ration,EAR) 判断眼睛睁开大小的程度,能够有效的消除图像成像原理的影响,并且EAR的值对头部的姿势并不敏感。眼部特征提取方案确定为EAR之后,阈值E的选取也是影响判定眼部状态的准确性的一个重要因素,为了将EAR阈值设定的更加合理和真实,进行了EAR阈值的设定实验,实验步骤具体如下:
(a)采集驾驶员处于清醒状态下的驾驶视频,视频时长约为一分钟;
(b)使用HOG方法对采集的视频进行人脸检测,将检测出的人脸区域位置坐标作为FLHPD算法中的输入参数,然后定位人脸关键点,得到描述驾驶员面部的98个关键点位置坐标;
(c)参照标识人脸的98个关键点示意图,通过关键点下标获得眼部的关键点坐标,完成对眼部的定位和跟踪,将坐标作为参数代入到公式中,计算可得每一帧对应的EAR值;
(d)将视频帧数作为横坐标,EAR值作为纵坐标,用EAR变化图来描述人眼状态变化,如图3(a)所示。
(e)由于EAR变化图有噪声的干扰,所以采用平滑滤波的方式进行一次滤波操作,得到新的EAR变化曲线图,如图3(b)所示。
(f)在平滑滤波后EAR变化曲线图中寻找由于眨眼产生的波谷,如图3(b)中标出的加号;
(g)在所有波谷中求其最大值,该值为完全闭眼的阈值,如图3(b)中标出的横线,参照PERCLOS-P80准则,将EAR阈值设为完全闭眼阈值的80%。
本方法不但消除由于眼睛大小不同造成的误差,也在一定程度上实现了自适应的效果,因此本实施例针对不同的驾驶员设定不同的EAR阈值更具有一定的普适性。
(2)驾驶员发生疲劳时,除了反映在眼部的疲劳特征之外,最常见的就是发生在嘴部的打哈欠的疲劳特征,但疲劳不一定会伴随着打哈欠动作的发生,所以将表现在嘴部的疲劳特征作为判别疲劳的辅助指标。嘴部状态主要分为三种:1)通常情况下嘴巴是紧闭状态;2)说话时嘴巴会微微张开;3)疲劳时出现打哈欠现象,嘴巴从紧闭到微微张开,然后张开的程度逐渐变大最后再恢复紧闭状态,并且整个过程持续时间较长。因此,通过判断嘴巴张合的程度能够完成对嘴部状态的区分。和眼部状态识别类似,采用嘴巴纵横比(MouthAspect Ratio, MAR)来区分嘴部的状态,即计算嘴巴张合的程度,同时为了避免因嘴唇厚度而造成的误差,采用嘴部内轮廓的关键点来计算MAR。检测哈欠采用双阈值法:结合嘴巴张开的程度与持续时间进行哈欠检测,即当MAR大于阈值M并且持续一定的时间Mt时,认为发生了一次打哈欠动作。
MAR阈值的设定实验,实验步骤具体如下:
(a)选取网络开源数据集YawDD中部分打哈欠的视频,使用HOG方法和FLHPD算法进行人脸检测和人脸进行关键点定位;
(b)通过获取嘴部关键点的下标完成对嘴部的定位和跟踪,计算视频中每一帧的MAR值,以视频帧数作为横坐标,以MAR值作为纵坐标,可得MAR变化图,如图4(a);
(d)由于直接获得的MAR变化图有噪声的干扰,所以采用平滑滤波的方式进行一次滤波操作,如图4(b)所示。
(d)根据滤波后所得的数据获取打哈欠产生波峰的峰值以及半峰的宽、高,如图4(b)中标出的五角星代表峰值,红色直线代表半峰宽,红色直线到横轴的垂直距离表示半峰高;
(e)统计实验中所有视频样本打哈欠形成波峰的个数,计算半峰宽和高并将其分别做加权平均,得到Pw和Ph。
得到的Ph设为打哈欠MAR的阈值,Pw则作为打哈欠持续时间的阈值Mt传输的帧数,实验采用的视频样本每秒传输的帧数(Frames Per Second, fps)为30,因此,打哈欠持续时间的阈值Mt等于Pw/30。根据识别嘴部状态阈值选定的结果进行测试,当算法根据阈值判定驾驶员做了一个打哈欠动作后,显示“YAWN”字样在相应的帧上。
本实施例在实验中采用较多的实验数据,并且MAR阈值和打哈欠持续时间的选定通过更合理的算法来实现,更具有准确性。
(3)驾驶员在驾驶过程处于疲劳时,不仅在眼部和嘴部上有异于常态的行为动作发生,在头部姿态上也有一定的变化。在清醒状态驾驶的情况下,驾驶员需要随时对外界保持一定的注意力,在车流量较大的道路上,驾驶员会灵活的转动头部以便从正前方、左右倒车镜以及后视镜中查看当前路况,在车流量较少的高速公路上直线行驶时,驾驶员通常会保持恒定的头部状态,而驾驶员在感觉疲劳时,注意力会下降,头部活动范围较小,并且有时会伴随瞌睡点头的现象的发生,因此本实施例将瞌睡点头的频率作为头部的疲劳特征,即关注pitch姿态角的变化,当pitch超出正常活动范围则认为驾驶员发生了一次点头动作。
对于不同的驾驶视频来说,由于采集设备摆放的位置不同,驾驶员在清醒状态下习惯维持的角度也有所不同,因此,本实施例通过提前采集到的清醒状态下驾驶的视频来计算俯仰角度变化的区间,即针对不同的驾驶员根据其驾驶习惯计算清醒状态下俯仰角的区间,再结合PERCLOS-80标准,选取20%的角度变化作为头部正常活动范围。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (8)
1.基于深度学习的疲劳驾驶检测方法,其特征在于:包括以下步骤:
一、采集视频及预处理;
二、阈值设定;
三、人脸检测;
四、通过多任务学习的FLHPD算法进行面部关键点定位和头部姿态估计;
FLHPD算法中,在脸部网络的尾部融合了不同尺度的3个特征,这3个特征是从不同层次中提取出来的,即在网络低层中提取轮廓特征,在网络高层次中提取眼睛和嘴巴的特征,最后对多尺度的特征图用全连接层进行回归预测;网络分为两个分支,一个分支是进行人脸关键点定位,另一个分支是头部姿态估计,在两条分支都执行完成后,再进行合并;
五、多指标融合疲劳判定;
六、疲劳预警。
2.根据权利要求1所述的基于深度学习的疲劳驾驶检测方法,其特征在于:步骤一中,从车辆内部安装的硬件设备获取视频数据或者开启摄像头读取数据,调用OpenCV库中的函数对每个图像进行处理。
3.根据权利要求1所述的基于深度学习的疲劳驾驶检测方法,其特征在于:步骤二中,阈值的设定针对眼部和头部参数,利用驾驶员清醒时的视频来计算其闭眼的阈值、眨眼频率以及头部俯仰角的位置范围,将结果插入或更新到数据库表中,一个驾驶员在数据库表中至多有一条相应的数据,在正式检测前,系统会提前从数据库中查找当前驾驶员对应的参数阈值,如果有数据就采用数据库表中的阈值做疲劳判定,若没有则使用系统设定的默认阈值进行检测。
4.根据权利要求1所述的基于深度学习的疲劳驾驶检测方法,其特征在于:步骤三中,选定阈值后,开启正式的疲劳驾驶检测,首先通过HOG和SVM结合的方式进行人脸检测,若没有检测到人脸,则系统会认定驾驶员没有在自己的岗位上,此种情况容易酿成车祸,所以及时发出警告;检测存在人脸后,将人脸的区域标记出来,同时将人脸框的位置坐标作为下一步的输入。
5.根据权利要求1所述的基于深度学习的疲劳驾驶检测方法,其特征在于:步骤四中,FLHPD算法中,需对数据集进行扩充,在原有的WFLW数据集的基础上,添加了LAPA、300W_LP和自建的数据集,并且挑选出部分样本进行随机旋转图像、调整色彩、调整尺寸操作来增强数据。
7.根据权利要求1所述的基于深度学习的疲劳驾驶检测方法,其特征在于:步骤五中,通过定位到的多个关键点,根据下标可以精准的对眼部和嘴部进行定位和跟踪,之后结合驾驶员自身阈值的设定以及固定阈值的设定完成对眼部、嘴部和头部疲劳特征的识别,通过多个指标融合对固定时间段内的驾驶状态进行判定,实现实时检测、实时判定和实时预警。
8.根据权利要求1所述的基于深度学习的疲劳驾驶检测方法,其特征在于:步骤六中,当系统在视频的连续多帧中没有检测到人脸,认为其脱离驾驶岗位,会及时的进行预警,当系统在固定时间段内对驾驶员检测结果判定为疲劳时,同样会进行预警,利用外部设备对驾驶员提醒,让其及时自我调整或停车休息,避免发生车祸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210150908.5A CN114220158A (zh) | 2022-02-18 | 2022-02-18 | 基于深度学习的疲劳驾驶检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210150908.5A CN114220158A (zh) | 2022-02-18 | 2022-02-18 | 基于深度学习的疲劳驾驶检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114220158A true CN114220158A (zh) | 2022-03-22 |
Family
ID=80708929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210150908.5A Pending CN114220158A (zh) | 2022-02-18 | 2022-02-18 | 基于深度学习的疲劳驾驶检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114220158A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115393830A (zh) * | 2022-08-26 | 2022-11-25 | 南通大学 | 一种基于深度学习与面部特征的疲劳驾驶检测方法 |
CN117079256A (zh) * | 2023-10-18 | 2023-11-17 | 南昌航空大学 | 基于目标检测及关键帧快速定位的疲劳驾驶检测算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485191A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种驾驶员疲劳状态检测方法及系统 |
WO2020165908A2 (en) * | 2019-02-17 | 2020-08-20 | Guardian Optical Technologies Ltd | System, device, and methods for detecting and obtaining information on objects in a vehicle |
CN111616718A (zh) * | 2020-07-30 | 2020-09-04 | 苏州清研微视电子科技有限公司 | 基于姿态特征的驾驶员疲劳状态检测方法和系统 |
-
2022
- 2022-02-18 CN CN202210150908.5A patent/CN114220158A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485191A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种驾驶员疲劳状态检测方法及系统 |
WO2020165908A2 (en) * | 2019-02-17 | 2020-08-20 | Guardian Optical Technologies Ltd | System, device, and methods for detecting and obtaining information on objects in a vehicle |
CN111616718A (zh) * | 2020-07-30 | 2020-09-04 | 苏州清研微视电子科技有限公司 | 基于姿态特征的驾驶员疲劳状态检测方法和系统 |
Non-Patent Citations (1)
Title |
---|
景芙蓉: "《基于深度学习的疲劳驾驶检测研究与实现》", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115393830A (zh) * | 2022-08-26 | 2022-11-25 | 南通大学 | 一种基于深度学习与面部特征的疲劳驾驶检测方法 |
CN117079256A (zh) * | 2023-10-18 | 2023-11-17 | 南昌航空大学 | 基于目标检测及关键帧快速定位的疲劳驾驶检测算法 |
CN117079256B (zh) * | 2023-10-18 | 2024-01-05 | 南昌航空大学 | 基于目标检测及关键帧快速定位的疲劳驾驶检测算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108791299B (zh) | 一种基于视觉的驾驶疲劳检测及预警系统及方法 | |
Ji et al. | Fatigue state detection based on multi-index fusion and state recognition network | |
CN108309311A (zh) | 一种列车驾驶员实时盹睡检测装置及检测算法 | |
CN101593425B (zh) | 一种基于机器视觉的疲劳驾驶监控方法及系统 | |
CN103839379B (zh) | 汽车及用于其的驾驶员疲劳预警检测方法和系统 | |
CN108053615B (zh) | 基于微表情的驾驶员疲劳驾驶状态检测方法 | |
CN110119676A (zh) | 一种基于神经网络的驾驶员疲劳检测方法 | |
CN101950355B (zh) | 基于数字视频的驾驶员疲劳状态检测方法 | |
CN110532887A (zh) | 一种基于面部特征融合的疲劳驾驶检测方法及系统 | |
CN108875642A (zh) | 一种多指标融合的驾驶员疲劳检测的方法 | |
CN114220158A (zh) | 基于深度学习的疲劳驾驶检测方法 | |
CN104123549B (zh) | 一种用于疲劳驾驶实时监测的眼睛定位方法 | |
CN110728241A (zh) | 一种基于深度学习多特征融合的驾驶员疲劳检测方法 | |
CN111553214B (zh) | 一种驾驶员吸烟行为检测方法及系统 | |
CN109740477A (zh) | 驾驶员疲劳检测系统及其疲劳检测方法 | |
CN110717389A (zh) | 基于生成对抗和长短期记忆网络的驾驶员疲劳检测方法 | |
Tang et al. | Real-time image-based driver fatigue detection and monitoring system for monitoring driver vigilance | |
CN112528843A (zh) | 一种融合面部特征的机动车驾驶人疲劳检测方法 | |
CN113140093A (zh) | 一种基于AdaBoost算法的疲劳驾驶检测方法 | |
CN113887386A (zh) | 基于深度学习和机器学习的多特征融合的疲劳检测方法 | |
CN110232327B (zh) | 一种基于梯形级联卷积神经网络的驾驶疲劳检测方法 | |
CN108256378A (zh) | 基于眼球动作识别的驾驶员疲劳检测方法 | |
Mu et al. | Research on a driver fatigue detection model based on image processing | |
Guo et al. | Monitoring and detection of driver fatigue from monocular cameras based on Yolo v5 | |
Deng et al. | Fatigue driving detection based on multi feature fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220322 |