CN118097628A - 一种面向遮挡脸部的驾驶员疲劳检测方法及装置 - Google Patents
一种面向遮挡脸部的驾驶员疲劳检测方法及装置 Download PDFInfo
- Publication number
- CN118097628A CN118097628A CN202410076378.3A CN202410076378A CN118097628A CN 118097628 A CN118097628 A CN 118097628A CN 202410076378 A CN202410076378 A CN 202410076378A CN 118097628 A CN118097628 A CN 118097628A
- Authority
- CN
- China
- Prior art keywords
- fatigue
- model
- eye
- mouth
- angle
- 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 66
- 238000000034 method Methods 0.000 claims abstract description 4
- 210000003128 head Anatomy 0.000 claims description 47
- 230000006399 behavior Effects 0.000 claims description 12
- 238000013145 classification model Methods 0.000 claims description 9
- 206010041349 Somnolence Diseases 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 5
- 230000001815 facial effect Effects 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 230000000737 periodic effect Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 abstract description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 4
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 3
- 206010039203 Road traffic accident Diseases 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Landscapes
- Emergency Alarm Devices (AREA)
Abstract
本发明设计了一种面向遮挡脸部的驾驶员疲劳检测方法及装置,属于图像处理领域。该方法设计了通用驾驶场景下的疲劳检测装置并实现了基于驾驶员的面部关键区域得到遮挡状态,构建了基于遮挡状态信息和基于无遮挡状态、基于局部遮挡状态和基于严重遮挡状态三种情况的算法动态加载模型,计算当前驾驶员的疲劳状态。本基于普通单目监控摄像头的驾驶员疲劳检测方法能够广泛应用于现有车载辅助驾驶系统中,在基于嵌入式的轻量边端设备进行模型推理计算的情况下大致判断驾驶员的疲劳状态,助力于实现智慧驾驶和交通安全。
Description
技术领域
本发明涉及一种面向遮挡脸部的驾驶员疲劳检测方法及装置。
背景技术
近年来交通安全的重要性与日俱增,疲劳驾驶引起的交通事故屡见不鲜。随着车载辅助系统的升级,如果在事故发生前及时向疲劳驾驶的驾驶员发出预警,就可以避免大部分交通事故。
当前主流的疲劳检测方法虽已相对成熟,但仍然存在以下问题:
(1)目前的接触式检测方法难以落地
当前疲劳检测精度最高的方法普遍是佩戴传感器获取驾驶员的生理信息数据,具有检测精度高的优点。但是这种方式成本较高,也会给行车驾驶带来不便,所以多数研究停留在实验论证阶段,无法在实际场景中落地。
(2)目前的非接触式疲劳检测算法疲劳判断依据单一
当前非接触式疲劳检测算法往往只依据某一视觉特征进行疲劳判定,其判断依据大多为驾驶员或者车辆的一些行为特征,但是这种基于单一依据的疲劳检测算法会在某些特定场景失效,算法的泛用性较差。
(3)目前的疲劳检测算法在脸部遮挡下检测精度差
在一些特殊行业中,驾驶员可能受到驾驶环境和职业规范的约束,需要长时间佩戴墨镜或者口罩等物体,对面部关键特征遮挡严重,当前算法大多未针对这一场景进行针对性优化。
发明内容
针对现有系统存在的上述问题,本发明提供了一种面向遮挡脸部的驾驶员疲劳检测方法及装置,其获得了以下效果:1)实现了人脸遮挡状态判断的算法,为整个算法系统提供了关键的前置判断;2)提出了局部遮挡和严重遮挡下的疲劳特征检测算法,针对性的改善了脸部遮挡条件下的检测算法性能;3)利用算法的轻量化设计以及系统动态加载算法模块策略,使其在边端设备上可以部署应用,达到较高实时性。
根据本发明的一个方面,提供了一种面向遮挡脸部的驾驶员疲劳检测方法,其特征在于包括如下步骤:
A)根据图片里的人脸信息,遮挡检测算法通过人脸关键点获取对应的眼部和嘴部区域,判断是否被遮挡;
B)当眼部或者嘴部被遮挡,视为局部遮挡。根据未遮挡区域的分类结果,在1~2秒内张嘴或者闭眼的关键帧占比达到80%,判断是否处于疲劳状态;
C)当眼部和嘴部都被遮挡,视为严重遮挡。根据头部姿态估计算法得到驾驶员的头部姿态,根据一段时间序列内的姿态变化趋势进行点头检测,判断是否处于疲劳状态;
D)当眼部和嘴部未被遮挡时,视为未遮挡。根据头部姿态估计算法得到的姿态角,输入给自适应阈值计算模型,输出得到适合当前头部姿态的眼部和嘴部分任务的阈值,然后进行分类,在1~2秒内张嘴或者闭眼的关键帧占比达到80%,判断是否处于疲劳状态;
E)根据是否疲劳,系统会给出一个疲劳预警信号,边端设备的蜂鸣器会进行短促的警报提示。
附图说明
图1为根据本发明的一个实施例的面向遮挡脸部的驾驶员疲劳检测方法的流程图。
图2为根据本发明的一个实施例的面向遮挡脸部的驾驶员疲劳检测装置的示意图。
具体实施方式
根据本发明的一个实施例的面向遮挡脸部的驾驶员疲劳检测方法包括如下步骤:
a)基于摄像头获取的一段时间内视频流的第一帧图像,进行驾驶员的面部遮挡检测,获取面部状态的遮挡信息;
b)根据面部图像,载入头部姿态估计算法,计算得出当前帧的大致的头部角度;
c)基于头部姿态角度,根据梯度提升树模型得到自适应头部角度的眼部和口部分类的最佳阈值;
d)根据步骤a得到的遮挡信息,加载不同的算法模型,有以下三种情况:步骤e进行无遮挡的疲劳检测,步骤f进行局部遮挡的疲劳检测,步骤g进行严重遮挡的疲劳检测;
e)基于步骤a得到的眼部和嘴部图像,分别载入眼部和嘴部状态分类模型,以及步骤c得到的最佳分类阈值,进行疲劳判断;
f)基于步骤a得到的眼部和嘴部图像,分别载入眼部或者嘴部状态分类模型,以及步骤c得到的最佳分类阈值,进行疲劳判断。
g)基于步骤b得到的一段时间内的连续帧的头部姿态角,进行基于时间注意力的点头检测,根据是否出现睡意点头行为,进行疲劳判断。
现在结合附图说明上述面向遮挡脸部的驾驶员疲劳检测方法的实施例。
a)面部遮挡检测
驾驶员在车内驾驶过程中,有时会佩戴墨镜或者口罩一类的面部遮挡物,从而影响对驾驶员面部特征的提取,干扰疲劳检测的效果。
如图1的步骤a所示,首先通过人脸检测得到图片的人脸区域,再通过人脸特征点检测算法得到相关的特征点坐标,由坐标获取眼部和嘴部的ROI(Region ofInterest,感兴趣区域),进行局部区域的遮挡状态检测。
为了兼顾速度,采用的是人脸5点关键点检测算法:
Pos(le,re,nose,lm,rm)=model(image) (1)
Pos表示横纵坐标对,le即左眼,re即右眼,nose即鼻子,lm即左嘴角,rm即右嘴角,model是采用的人脸关键点检测模型,image表示从摄像头采集到的含人脸图片。
因为人脸获取的时候是存在一定的倾斜或者偏转,所以要先对人脸进行旋转矫正,然后以脸部宽高和眼部和嘴部的占脸宽高比例模型,进行局部采样。得到眼部和嘴部图像后,进行一个二分类任务,区分图像内是否为眼睛或者嘴巴,根据结果得出遮挡状态。
b)头部姿态估计确定姿态角
如图1的步骤b所示,根据面部遮挡状态,进行头部姿态估计算法的选择,在严重遮挡状态下,选择加载基于深度学习的头部姿态估计模型,进行端到端的头部姿态估计,可以得到一个鲁棒性较好的结果:
(pitch,roll,yaw)=model(head_image) (2)
其中,pitch为头部姿态角中的俯仰角,roll为翻滚角,yaw为偏航角,model为头部姿态估计神经网络模型,head_image为头部图片。
当局部遮挡或者无遮挡时,基于关键点计算的头部姿态也能获得较高的准确度,而且计算速度比神经网络模型更快速。
le_x即左眼x坐标,le_y即左眼y坐标,re_x即右眼x坐标,re_x即右眼y坐标,nose_x即鼻子x坐标,nose_y即鼻子y坐标,face_x即脸部矩形区域左上角的x坐标,face_y即脸部矩形区域左上角的y坐标,face_w即脸部矩形区域宽度,face_h即脸部矩形区域高度。
上述模型适用于驾驶员的头部偏转在正面-90°到+90°之间的范围进行计算。五点的数值由人脸关键点检测模型算法给出。
c)基于头部姿态角度,自适应计算得到眼部和口部分类的最佳阈值;
因为眼部和嘴部分类模型的训练数据里大多数是基于正面的图像数据,对于这种涉及头部偏转的眼部和嘴部张开或者闭合状态的数据偏少,所以不适合使用统一的分类阈值进行分类判断。基于多人多角度视频构建的姿态角数据集,用来训练头部姿态到最佳分类阈值之间的映射关系的梯度提升树模型。
cls_th=model(pitch,roll,yaw) (6)
其中,model是梯度提升树模型,cls_th为模型输出的分类任务最佳阈值。
如图1的步骤c所示,从步骤b得到的头部姿态角,输入到梯度提升树模型中得到当前姿态下嘴部和眼部模型的最佳分类阈值,用以指导步骤f和步骤e中的眼部和嘴部分类任务。
d)根据遮挡状态加载不同模型算法,进行后续算法的初始化工作
如图1的步骤d所示,根据步骤a得到的遮挡信息,加载不同的算法模型,有以下三种情况:步骤e进行无遮挡的疲劳检测,步骤f进行局部遮挡的疲劳检测,步骤g进行严重遮挡的疲劳检测。
e)无遮挡时,基于最佳阈值和眼部嘴部图像,判定疲劳状态
如图1的步骤e所示,基于步骤a得到的眼部和嘴部图像,分别载入眼部和嘴部状态分类模型,以及步骤c得到的最佳分类阈值,进行疲劳判断。
status=model(image,cls_th) (7)
其中,status为当前帧输出的眼部和嘴部状态,0为正常,1为闭眼或者张嘴;model为眼部和嘴部的状态分类模型;image为输入的眼部和嘴部图像。
当在1~2s的连续帧内时,flag为其中的疲劳特征占总的特征数的比例,is_fatigue为最终判断驾驶员是否处于疲劳状态。
无遮挡时,只要闭眼和张嘴加起来的比例达到P80标准,就会通过装置的声光信息进行疲劳预警,装置如图2所示。
f)局部遮挡时,基于最佳阈值和眼部或者嘴部图像,判定疲劳状态
如图1的步骤f所示,基于步骤a得到的眼部和嘴部图像,分别载入眼部或者嘴部状态分类模型,以及步骤c得到的最佳分类阈值,进行疲劳判断。
status=model(image,cls_th) (9)
其中,status为当前帧输出的眼部或者嘴部状态,0为正常,1为闭眼或者张嘴;model为眼部或者嘴部的状态分类模型;image为输入的眼部和嘴部图像。
当在1~2s的连续帧内时,flag为其中的疲劳特征占总的特征数的比例,is_fatigue为最终判断驾驶员是否处于疲劳状态。
局部遮挡时,只要闭眼或者张嘴比例达到P80标准,就会通过装置的声光信息进行疲劳预警,装置如图2所示。
g)严重遮挡时,根据头部姿态角的变化,进行疲劳判断
如图1的步骤g所示,基于步骤b得到的一段时间内的连续帧的头部姿态角,进行基于时间注意力的点头检测,根据是否出现睡意点头行为,进行疲劳判断。
status=model(angles) (11)
其中,status为行为识别的结果,0为正常,1为出现睡意点头;model是基于时间注意力的点头检测模型;angles是一段时间序列内连续帧的头部姿态角。
当头部姿态角在某一个方向上,出现短时间内的周期性角度变化,尤其是pitch角,可以视为出现了点头行为。但是考虑到驾驶员可能会存在一些主动的点头行为(例如在听音乐或者谈话),所以结合实际中的驾驶行为,pitch方向的点头角度在0到-20度之间变化的时候,可以认定为进入了疲劳状态,并触发装置的声光报警,装置如图2所示。
本发明的优点和有益效果包括:
本发明提供了通用驾驶场景下的疲劳检测装置并实现了基于驾驶员的面部关键区域得到遮挡状态,构建了基于遮挡状态信息和基于无遮挡状态、基于局部遮挡状态和基于严重遮挡状态三种情况的算法动态加载模型,计算当前驾驶员的疲劳状态。
根据本发明的基于普通单目监控摄像头的驾驶员疲劳检测方法能够广泛应用于现有车载辅助驾驶系统中,在基于嵌入式的轻量边端设备进行模型推理计算的情况下大致判断驾驶员的疲劳状态,助力于实现智慧驾驶和交通安全。
Claims (9)
1.一种面向遮挡脸部的驾驶员疲劳检测方法,其特征在于包括如下步骤:
A)基于摄像头获取的一段时间内视频流的第一帧图像,进行驾驶员的面部遮挡检测,获取面部状态的遮挡信息;
B)根据面部图像,利用头部姿态估计算法,计算得出当前帧的大致的头部角度;
C)基于头部姿态角度,根据梯度提升树模型得到自适应头部角度的眼部和口部分类的最佳阈值;
D)根据步骤A得到的遮挡信息,加载不同的算法模型,包括以下三种情况:进行无遮挡的疲劳检测、进行局部遮挡的疲劳检测、进行严重遮挡的疲劳检测;
E)基于步骤A得到的眼部和嘴部图像,分别载入眼部和嘴部状态分类模型,以及步骤C得到的最佳分类阈值,进行疲劳判断;
F)基于步骤A得到的眼部和嘴部图像,分别载入眼部或者嘴部状态分类模型,以及步骤C得到的最佳分类阈值,进行疲劳判断,
G)基于步骤B得到的一段时间内的连续帧的头部姿态角,进行基于时间注意力的点头检测,根据是否出现睡意点头行为进行疲劳判断。
2.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤A)包括:
通过人脸特征点检测算法获取眼部和嘴部的感兴趣区域ROI,进行局部区域的遮挡状态检测:
Pos(le,re,nose,lm,rm)=model(image)
Pos表示横纵坐标对,le即左眼,re即右眼,nose即鼻子,lm即左嘴角,rm即右嘴角,model是采用的人脸关键点检测模型,image表示从摄像头采集到的含人脸图片。
3.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤B)包括:
根据面部遮挡状态,进行头部姿态估计算法的选择,在严重遮挡状态下,进行端到端的头部姿态估计:
(pitch,roll,yaw)=model(head_image)
其中,pitch为头部姿态角中的俯仰角,roll为翻滚角,yaw为偏航角,model为头部姿态估计神经网络模型,head_image为头部图片,
当局部遮挡或者无遮挡时,基于关键点计算的头部姿态:
le_x即左眼x坐标,le_y即左眼y坐标,re_x即右眼x坐标,re_x即右眼y坐标,nose_x即鼻子x坐标,nose_y即鼻子y坐标,face_x即脸部矩形区域左上角的x坐标,face_y即脸部矩形区域左上角的y坐标,face_w即脸部矩形区域宽度,face_h即脸部矩形区域高度,
基于一段时间内的连续帧的头部姿态角,进行基于时间注意力的点头检测,根据是否出现睡意点头行为,进行疲劳判断,
status=model(angles)
其中,status为行为识别的结果,0为正常,1为出现睡意点头;model是基于时间注意力的点头检测模型;angles是一段时间序列内连续帧的头部姿态角。
4.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤C)包括:
基于多人多角度视频构建的姿态角数据集,用来训练头部姿态到最佳分类阈值之间的映射关系的梯度提升树模型,
cls_th=model(pitch,roll,yaw)
其中,model是梯度提升树模型,cls_th为模型输出的分类任务最佳阈值。
5.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤D)包括:
根据步骤A得到的遮挡信息,加载不同的算法模型,有以下三种情况:步骤E进行无遮挡的疲劳检测,步骤F进行局部遮挡的疲劳检测,步骤G进行严重遮挡的疲劳检测。
6.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤E)包括:
基于眼部和嘴部图像,分别载入眼部和嘴部状态分类模型,以及最佳分类阈值,进行疲劳判断,
status=model(image,cls_th)
其中,status为当前帧输出的眼部或者嘴部状态,0为正常,1为闭眼或者张嘴;model为眼部和嘴部的状态分类模型;image为输入的眼部和嘴部图像,
当在1~2s的连续帧内时,flag为其中的疲劳特征占总的特征数的比例,is_fatigue为最终判断驾驶员是否处于疲劳状态,
只要闭眼和张嘴比例达到P80标准,就通过装置的声光信息进行疲劳预警。
7.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤F)包括:
基于眼部或者嘴部图像,分别载入眼部或者嘴部状态分类模型,以及最佳分类阈值,进行疲劳判断,
status=model(image,cls_th)
其中,status为当前帧输出的眼部或者嘴部状态,0为正常,1为闭眼或者张嘴;model为眼部或者嘴部的状态分类模型;image为输入的眼部或者嘴部图像,
当在1~2s的连续帧内时,flag为其中的疲劳特征占总的特征数的比例,is_fatigue为最终判断驾驶员是否处于疲劳状态,
只要闭眼或者张嘴比例达到P80标准,就通过装置的声光信息进行疲劳预警。
8.根据权利要求1所述的驾驶员疲劳检测方法,其特征在于所述步骤G)包括:
基于步骤b得到的一段时间内的连续帧的头部姿态角,进行基于时间注意力的点头检测,根据是否出现睡意点头行为,进行疲劳判断,
status=model(angles)
其中,为行为识别的结果,0为正常,1为出现睡意点头;model是基于时间注意力的点头检测模型;angles是一段时间序列内连续帧的头部姿态角,
当头部姿态角在某一个方向上,出现短时间内的周期性角度变化,尤其是pitch角,可以视为出现了点头行为,可以认定为进入了疲劳状态,并触发装置的声光报警。
9.一种存储计算机可执行程序的计算机可读存储介质,该计算机可执行程序能使处理器执行根据权利要求1-8之一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410076378.3A CN118097628A (zh) | 2024-01-18 | 2024-01-18 | 一种面向遮挡脸部的驾驶员疲劳检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410076378.3A CN118097628A (zh) | 2024-01-18 | 2024-01-18 | 一种面向遮挡脸部的驾驶员疲劳检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118097628A true CN118097628A (zh) | 2024-05-28 |
Family
ID=91160974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410076378.3A Pending CN118097628A (zh) | 2024-01-18 | 2024-01-18 | 一种面向遮挡脸部的驾驶员疲劳检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118097628A (zh) |
-
2024
- 2024-01-18 CN CN202410076378.3A patent/CN118097628A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Driver fatigue detection based on convolutional neural networks using em‐CNN | |
CN107704805B (zh) | 疲劳驾驶检测方法、行车记录仪及存储装置 | |
CN108725440B (zh) | 前向碰撞控制方法和装置、电子设备、程序和介质 | |
EP1589485B1 (en) | Object tracking and eye state identification method | |
Junaedi et al. | Driver drowsiness detection based on face feature and PERCLOS | |
CN111553214B (zh) | 一种驾驶员吸烟行为检测方法及系统 | |
CN110728241A (zh) | 一种基于深度学习多特征融合的驾驶员疲劳检测方法 | |
CN111062292B (zh) | 一种疲劳驾驶检测装置与方法 | |
US20210271865A1 (en) | State determination device, state determination method, and recording medium | |
CN108596087B (zh) | 一种基于双网络结果的驾驶疲劳程度检测回归模型 | |
CN111626272A (zh) | 一种基于深度学习的驾驶员疲劳监测系统 | |
Ahmed et al. | Robust driver fatigue recognition using image processing | |
Kashevnik et al. | Seat belt fastness detection based on image analysis from vehicle in-abin camera | |
CN109740477A (zh) | 驾驶员疲劳检测系统及其疲劳检测方法 | |
CN113158850B (zh) | 基于深度学习的船舶驾驶员疲劳检测方法和系统 | |
CN111985403A (zh) | 一种基于人脸姿态估计和视线偏离的分心驾驶检测方法 | |
CN108108651B (zh) | 基于视频人脸分析的驾驶员非专心驾驶检测方法及系统 | |
Thulasimani et al. | Real time driver drowsiness detection using opencv and facial landmarks | |
Rani et al. | Development of an Automated Tool for Driver Drowsiness Detection | |
CN116012822B (zh) | 一种疲劳驾驶的识别方法、装置及电子设备 | |
CN118097628A (zh) | 一种面向遮挡脸部的驾驶员疲劳检测方法及装置 | |
CN113408389A (zh) | 一种智能识别司机睡意动作的方法 | |
Wang et al. | Research on driver fatigue state detection method based on deep learning | |
Lollett et al. | Driver’s drowsiness classifier using a single-camera robust to mask-wearing situations using an eyelid, lower-face contour, and chest movement feature vector gru-based model | |
Kumar et al. | Multiview 3D detection system for automotive driving |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |