APP下载

一种基于眼睛长宽比的船舵手疲劳检测方法

2021-07-07洪子梦周秀邬小鲁

电子测试 2021年7期
关键词:舵手眼部航行

洪子梦,周秀,邬小鲁

(中移(上海)信息通信科技有限公司,上海,200120)

0 引言

船舵手疲劳检测方法可分为两大类:一类是以船舵手生理状态数据,通过对数据分析与处理,判断船舵手是否处于疲劳状态。另一类是以船舵手驾船活动、主观感受等依据,通过逻辑推理,进而分析船舵手是否处于疲劳状态。本文主要针对第一类疲劳检测方法开展工作,基于人眼长宽比的变化,提出了一种基于眼睛长宽比的船舵手疲劳检测方法。实践证明,本文提出的方法,是一种代价小、速度快的船舵手疲劳检测方法。

1 相关研究与技术对比

现有技术中主要是通过不同方式采集面部特征对驾驶员进行疲劳检测,比如基于面部特征与图像脉搏心率融合的疲劳检测方法、基于疲劳程度的驾驶员疲劳检测方法、辅助预警疲劳驾驶检测方法等,这些方法,各有千秋,本文提出的方法与现有的方法,有本质的区别。

基于面部特征与图像脉搏心率融合的驾驶员疲劳检测方法,与本文的方法,有如下区别:

(1)前者提供的方法,解决的是动态条件下运动伪迹所产生的运动噪声对IPPG源信号提取的干扰问题,使之在汽车行驶的动态条件下获得准确的驾驶员脉搏心率估计,同时利用面部特征点采集驾驶员驾驶汽车的面部特征数据,与其当前状态下的脉搏心率特征相结合,准确计算出驾驶员的疲劳状态。该方法利用脉搏心率数据,结合眨眼频率和打哈欠频率,利用模糊神经网络系统使用信息融合的方法实时精准测出驾驶员的疲劳状态,这与本文提出的利用闭眼时间及频率来检测船舵手的疲劳程度方法有着本质的不同。

(2)前者提供的方法只给出驾驶员处于疲劳状态并预警,未给出疲劳等级划分。而本文不仅检测船舵手是否疲劳,还检测船舵手的疲劳等级,并给出相应的提醒操作。

针对驾驶员的疲劳程度实现个性化检测的方法,与本文提出的疲劳方法有如下区别:

(1)在前者方案中,驾驶员脸部图片库通过采集行车过程中的驾驶员脸部的红外视频图像,并经OpenCV中的Local Binary Pattern Histogram(LBPH)算法识别得到,且图片库的数量不少于3000张。本文提出的方法,只需在开始驾驶的五分钟内拍摄采集若干张驾驶员面部图像,初始数据采集量和分析量小。

(2)前者方案利用驾驶员眼部、嘴部状态检测实现对驾驶员疲劳状态的在线辨识。本文提供的方法,只需通过眼部状态检测实现疲劳判定。

辅助驾驶预警疲劳检测方法,通过训练获得行车安全模型以及司机疲劳检测模型,进而对道路环境以及驾驶室内的驾驶情况进行实时监控。该方法与本文提出的疲劳方法有如下区别:前者运用司机疲劳检测模型、行车安全模型(主要是车联网领域的前后车距、车道偏移、超速等安全事件)判断是否存在疲劳驾驶隐患,与本文所述运用眼部状态判定模型的方式不同。

此外,驾驶员疲劳检测方法,利用疲劳检测系统用于提取驾驶员的面部特征,若获取的面部特征为瞌睡或睡眠状态,则启动报警装置进行警示。该方法与本文提出的疲劳方法有如下区别:

(1)结合眼睛特征以及口部特征定位出当前面部所处的状态,当眼睛睁开同时嘴巴闭合,认定为正常状态;当眼睛睁开同时嘴巴张开,认定为瞌睡状态;当眼睛闭合,认定为疲劳状态。仅根据驾驶员眼睛和嘴巴的静态特征(张开或闭合)定位当前面部状态的准确性有待考量。

(2)该方案只考虑了对驾驶员疲劳检测后进行提醒,并没有对疲劳的等级评估,也没有具体的辅助驾驶操作行为。

基于深度学习和信息融合的驾驶员疲劳检测方法,包括:图像预处理模块、面部以及面部特征点检测模块、面部区域调整归一化模块、面部特征提取网络模块和疲劳程度判断模块。该专利与本文提出的疲劳检测方法有如下区别:

(1)根据人脸面部特征,包括左右眼闭眼状态置信度,张嘴状态置信度以及头部位姿的Pitch值利用加权融合算法获得驾驶员当前帧下的疲劳置信度,根据此判断人是否处于疲劳状态。而本专利使用眼部长宽比来判断是否闭眼,根据闭眼的次数和时间来检测疲劳。

(2)该系统仅进行了疲劳检测,没有对疲劳的等级评估,也没有具体的辅助驾驶操作行为。

综合起来,现有的技术,只考虑对驾驶员进行疲劳检测后进行提醒,并没有对疲劳的等级进行评估,也没有具体的对车辆的操作行为。

本文针对船舵手的疲劳检测,提供了一种使用图像处理的方法来对船舵手的眼部信息进行提取,建立眼部状态判定模型,根据图像信息提取判断出闭眼的时长以及闭眼的频率分析判断疲劳行为,并对船舵手进行提醒和辅助航行,以减少水运交通事故的发生。

2 基于眼睛长宽比的船舵手疲劳航行检测方法

下面结合来说明本提案具体的实施流程,图1为整个检测方法的步骤,图2为眼部特征点采集过程。

图1 船舵手疲劳检测方法

图2 眼部特征点采集过程

步骤1:船舵手眼部特征点采集,眼部特征点采集过程如图2所示。

步骤1.1:船舵手图像采集处理。

当船舵手打开船舶航行系统的五分钟内采集船舵手的多张面部图像,包括睁眼和闭眼的多种状态。通过直方图均值化提高对比度,去除噪声并凸显图像细节,提高图像质量。用参白法对图像进行光照补偿,计算图像中像素点的灰度值,将前5%的像素灰度值设为255。

步骤1.2:人脸区域检测分割。

将预处理后的图像转换到HSV色彩,利用最佳阈值分割的方法进行类肤色与背景的区分。色度取值范围在7<H<29时判断为肤色,将图像二值化。然后利用图像形态学中的腐蚀运算把图像中的一些非人脸的毛刺、小凸起等有可能影响检测效果的像素点过滤掉,最后再利用图像处理中的开运算,去除类肤色块中那些像素点少于1000的区域,最终分割出人脸区域。

步骤1.3:眼部特征点采集。

使用dlib库中的图像特征点识别函数,标记眼部的6个特征点,每个眼睛区域表示为6个坐标,即以眼睛区域的左角为起点,以顺时针方式在眼镜区域的周围设置6个面部特征点其中,p1为眼睛区域的左角面部特征点的位置,p2为眼睛区域的左上面部特征点的位置,p3为眼睛区域的右上面部特征点的位置,p4为眼睛区域右角面部特征点的位置,p5为眼睛区域的右下面部特征点的位置,p6为眼睛区域的左下面部特征点的位置。

图3 特征点位分布图

步骤2:眼部状态判定模型建立。

步骤2.1:图像眼睛长宽比计算。

步骤2.2:睁眼状态判定模型建立。

取眼睛长宽比大于0.5小于1的图片,计算这些图片中眼部长宽比的平均值w作为该船舵手睁眼时的眼部长宽比。

步骤2.3:闭眼状态判定模型建立。

眼睛长宽比小于0.5w(睁眼时的眼部长宽比的二分之一)即判定为闭眼状态。

步骤3:驾驶过程记录。

开始驾驶后,以一分钟为周期,计算船舵手闭眼的次数以及每次闭眼的时间。

步骤4:疲劳航行等级判断和航行提醒。

疲劳航行等级判断和相应等级航行提醒过程如图4所示。

图4 疲劳航行等级判断和相应等级航行提醒过程

步骤4.1:疲劳航行等级判断。

如果一分钟内船舵手闭眼的时间大于2s的次数大于10次,则判断船舵手为重度疲劳航行;如果一分钟内船舵手闭眼的时间大于2s的次数小于10次并且大于5次,则判断船舵手为中度疲劳航行;如果一分钟内船舵手闭眼的时间大于2s的次数小于5次并且大于2次,则判断船舵手为轻度疲劳航行。

步骤4.2:根据不同的疲劳等级迅速做出应对措施。

重度疲劳航行提醒:如果船舵手处于重度疲劳状态,则系统语音提示船舵手及时休息并开启辅助航行系统并拉响报警器提醒船内人员。

中度疲劳航行提醒:如果船舵手处于中度疲劳航行,则系统语音提示船舵手及时休息并开启辅助航行系统辅助船舵手进行航行。

轻度疲劳航行提醒:如果船舵手处于轻度疲劳航行,则系统语音提示船舵手及时休息。

3 结束语

本文提出的疲劳航行检测方法,采用眼部信息而不是整个面部的信息来进行疲劳识别,数据量小,计算速度快。在该方法中,不是简单地采用上眼皮和下眼皮的高度差来作为眼睛开合度的评价标准,而是综合考虑了人眼大小差异情况,在船舵手刚上船航行的五分钟内采集船舵手正常的眼部信息,采用眼部长宽比作为疲劳的评价标准,将疲劳时的眼部信息与正常时的眼部信息进行对比,具有普适性。此外,根据一分钟内闭眼时间大于2s的次数判断了疲劳等级,在不同的疲劳等级下来对船舵手进行提醒,而且启动辅助航行对船只进行不同的操作,更加智能化和人性化。

猜你喜欢

舵手眼部航行
到慧骃国的航行
小舵手
奥孔乔-伊韦阿拉:世贸组织的“新舵手”
舵手与水手
小舟在河上航行
为什么要做眼部检查
舵手与水手
航行
戴眼罩有助消除眼部疲劳
如何消除用电脑后的眼部疲劳