基于PERCLOS 的疲劳驾驶检测研究*

2022-08-26 09:40刘东华刘庆华黄凯枫
计算机与数字工程 2022年7期
关键词:肤色驾驶员图像

刘东华 刘庆华 李 杨 黄凯枫

(江苏科技大学 镇江 212003)

1 引言

统计显示,全世界每年发生的交通事故导致的后果,不仅造成人员重大伤亡,还直接带来了巨额经济损失,将导致事故发生的因素归类发现,在这些交通事故中约有57%的事故率跟疲劳驾驶有直接的关系[1]。疲劳对于我们来说,虽是一个寻常的机体表现,但对驾驶员这一类特殊人群来说,疲劳驾驶极易引起交通事故。同样,对国内近几年的交通事故频发的原因进行分类发现,疲劳驾驶也是这些原因中的主要分类之一。

驾驶员在长时间驾驶过程中会产生的一种机体生理疲劳现象,但驾驶员在刚出现驾驶疲劳时并不会直接引发交通事故,因此若能设计一种对驾驶员在驾驶过程中实时对其进行疲劳检测的方法,当检测到驾驶员疲劳时立即就能给出预警,提醒驾驶员应停车休息或迫使车辆减速,甚至强制车辆靠边停车,这样就能有效提升车辆行驶安全系数。调查发现,在这些疲劳驾驶导致的交通事故中,如果驾驶员的机体应对能及时对其操作,一半以上的交通事故就能有效避免[2]。驾驶员在无法得到充足睡眠或长时间驾驶过程中,集中注意力目视前方、以及对方向盘的重复操作,极易产生疲劳。而研究发现,用PERCLOS进行疲劳判定,是目前最好的方法之一,测定时产生的数据也真正能够用来判定疲劳,总体来说是对检测驾驶员是否出现疲劳测定的最好方法[3]。

2 PERCLOS测试原理

PERCLOS(Percentage of Eyelid Closure Over the Pupil Over Time)的含义是指在单位时间内眼睛闭合状态下所占用的时间百分比[4]。

结合图1 可以较为容易地理解其测量原理。根据下面的计算公式,通过测量t1~t4 的值来计算PERCLOS的值。

图1 PERCLOS的测量原理

其中f 为计算后求得的PERCLOS 值,t1~t4 代表的含义如测量原理图所示,表示时间区间内眼睛开闭程度。

在具体实验中PERCLOS 有三种度量标准,即为P70、P80、EM,分别代表眼睛在不同闭合程度下所占用的时间百分比。其中P80 指的是在测试过程中,检测对象的眼睛闭合面积超过80%所占用的时间百分比。大量研究表明,在三种度量标准中对疲劳驾驶的检测准确率最高的是P80[5]标准。

因此本文采用此标准进行疲劳判定,计算公式为[6]

用此方法追踪眼睛状态时,由摄像头对驾驶员的头部区域进行捕获,对采集过程中可能出现的过暗图像加上光照补偿,采取YCbCr对肤色进行分割来确定人脸区域,对眼部轮廓进行提取,运用图像处理来判断眼睛的开闭状态。定义检测过程中人物眼睛睁开程度只要满足大于20%这个条件,就记为睁开状态,反之为闭合。

3 眼睛定位与疲劳状态判定

算法的关键部分是眼睛定位与求取眼睛睁开、闭合时对应面积的值,根据PERCLOS 计算得出PERCLOS的数值,从而对其进行疲劳判定。

图2 算法流程图

3.1 肤色分割

在采集图像的过程中,容易受到不同光照因素的影响,可能会无法准确捕获人脸,为了更好地解决这种问题,消除亮度因素造成的影响,提高人脸识别的准确率,在进行人脸定位前进行必要的光照补偿。

YCbCr色彩空间具有不仅聚类特性好,而且能加好的分离亮度信息,最主要的是计算复杂度低等特点[7],而人类皮肤的颜色范围又恰巧于色度空间中,更是集中在一个小的区域,因此可以很好被运用于人物的肤色检测。本文选取YCbCr 对人物图像进行肤色检测,待检图像中是否存在皮肤,主要是根据图像的像素值来进行判断,过程如下。

1)通常摄像头采集到的图像由RGB 模型表示,而这种图像亮度信息恰恰对光照变化较敏感,所以,先将RGB空间转换到YCbCr空间,公式如下[8]:

2)肤色判定采用肤色椭圆模型,椭圆模型描述公式如下[9~10]:

根据上述公式,只要图像的像素点能落在上述给出的设定肤色椭圆模型区域内,则判定该点为人物肤色像素点。因此,可将人脸图像分割为两部分区域,即为非肤色和肤色,将后者区域赋值为0。分割后结果如图3(b)所示。

图3 肤色分割结果

肤色分割之后的图像中存在一些“毛刺”,即噪声干扰,为了去除这些不必要的“毛刺”可利用形态学对其进行处理。基于形态学图像处理具有可以对图像数据进行一定的简化作用,简化之后也不会改变它们基本的形状特性,并能去除图像中一些不相干的结构等优点[11]。形态学图像处理中的开操作对图像进行处理之后,首先可以将分割之后的图像中存在的一些细小的突出结构消除掉,并且可以优化图像的轮廓,使其变得光滑,进一步断开图像中存在的一些狭窄的间断。所以,这里采用开操作对有噪声的图像进行操作。开操作之后的图像如图3(c)所示。

3.2 人眼定位

经过肤色分割之后,图片中区域明显的特征点有眉毛、眼睛等,根据这些特征点很容易确定图像中哪部分为人脸区域,最常见的方法就是进行模式匹配[12~15],又称为局部匹配,但此类方法忽视了脸部主要部位间的结构特征的相对位置。本文为了避免鼻子和嘴巴对眼睛定位产生影响,可根据“三庭五眼”的脸部结构对图像进行划分。“三庭”即人脸垂直方向均分为上庭、中庭、下庭[16],取图像的中庭部分作为眼睛定位区域。

人的眼部区域处的灰度特征与其他部位的灰度特征存在一定的差异,从而可以方便获取眼睛的大致区域,选用积分投影法能较好地获取该目标区域。先对图像进行二值化处理,再对图像进行积分投影操作[17]。设图像(x,y)处的像素灰度值为P(x,y),取两个操作区间设为[x1,x2] 和[y1,y2],在这两个区间内分别用公式Sv(x)和Sh(y)来表示垂直、水平这两个积分投影函数[18],则

用Mv(x)和Mh(y)分别表示两者的平均函数,则:

根据上述公式,只要图像中的某一点的像素灰度均值出现变化时,这种变化也会导致对应的函数值跟随均值的变化而发生变化。所以通过阈值的选择和水平、垂直积分投影的计算,可以有效、快速地确定人眼。运用程序对获取到的中庭部分的图像进行二值化处理,处理后的结果如图4(a)。对经过二值化处理之后的图像分别进行两种积分投影操作,操作之后的结果为如图4(b)和图4(c)。

图4 积分投影结果图

3.3 眼睛面积计算

定义确定眼睛的面积为图像中眼睛区域内的像素点的数目[3]。普遍情况下,目标区域的宽高比值应介于1~1.6的,即为人眼区域。另外,在检测的人物图像中,人眼区域的面积应大于10,面积具体指的是肤色分割之后,目标肤色区域中定义下的取值设为0 的像素点的数目,此外眼睛部位的区域面积与整幅图像总面积之应大于0.001,因此可能的眼睛目标筛选区域应满足如下条件:

其中S0为准备筛选的目标区域中的每块区域的面积,H 和W 则分别为对应的每块区域的高和宽,H 指的是上下临界点值之差,W 指的是左右临界点值之差,S1为检测图像的总面积。首先去除不满足上述条件的区域,去除之后有可能出现目标区域仍然不是唯一,说明还有其他因素干扰,如眉毛。进一步对区域划分,从上下左右四个方位再次对目标区域进行检索,目的除去眉毛带来的干扰,最终可以得到眼睛部位的特征图如图5。

图5 眼部特征图

3.4 疲劳判定

测试过程中,当人物眼睛处于完全睁开状态时,此刻眼睛目标区域中白色像素点数最多,面积也为最大值,设为Amax。反之,闭合时面积为最小值。测试过程中规定眼睛目标区域的面积若大于Amax/5 时,记为睁开状态,否则为闭合状态。记录眼睛眨眼的次数及测试的开始与结束时刻,先根据测试流程来实时计算PERCLOS 值,当求出的值大于0.4,并用设定好的时间阈值比对眼睛闭合状态下的计时,如果计时超过设定的阈值3s 时,就判定驾驶员现已处于疲劳驾驶,对其立即发出警报。

4 实验结果分析

此方法下设计的系统其运行环境搭建为,操作系统选择Windows 7,安装的运行软件选择Visual Studio 2015,函数库为开源的OpenCV 3.4,视频图像采集设备为乐视LeTMC-520。

囿于场地和设施短缺,实验采取本地实验室进行测试,测试对象为实验的三名同学,测试过程分为正视摄像头、头部倾斜、左右轻微摇晃三种情况,对测试对象在每种情况下进行50 次的模拟测试。启动系统,打开摄像头对人物进行采集,程序对采集到的视频图像进行处理,人物分别做睁眼与闭眼操作。系统运行中,人物在睁眼状态下,系统检测人物不属于疲劳,不会提示预警;当检测到人物眼睛闭合时,计算出此刻对应的PERCLOS的值,若值大于0.4,并对眼睛闭合时间进行计时若计时时间大于3s 时,系统发出疲劳预警提示。结果表明,系统对人物头部倾斜时的检测效果也比较理想。

三种情况下的测试过程如图6,最终测试结果如表1,每个人物的行为分为50次的睁眼与闭眼。

图6 实验测试

表1 检测结果

实验证明,该方法下设计的系统具有较好的鲁棒性,能够达到对驾驶员在驾驶过程中实时进行疲劳检测的要求,在系统运行过程中能够准确地定位人脸与人眼,并计算出眼睛睁开与闭合时的面积,根据设定好的PERCLOS 设定的值,最终能检测驾驶员此刻的状态是否为疲劳状态。

5 结语

本文介绍了一种对驾驶员驾驶过程中是否出现疲劳进行检测的方法,即对实时采集的图像,确定眼睛目标区域,计算此刻确定区域的面积,进一步结合PERCLOS 进行疲劳判定。实验表明,该方法虽对驾驶员疲劳驾驶行为进行疲劳判定,能取得比较理想的效果,但仍有不足之处,如:1)驾驶员头发遮挡或者佩戴墨镜,无法定位眼睛;2)驾驶员的频繁低头容易导致无法准确定位到眼睛;3)驾驶员可能会出现睡觉时不会闭眼的情况,产生误判;因此,为了提高疲劳驾驶检测方法的可靠性、准确性等,基于多种检测方法的混合模式(比如融合打哈欠检测、转向盘检测,车道偏离检测等),将是未来疲劳驾驶检测研究的主要方向。

猜你喜欢
肤色驾驶员图像
基于高速公路的驾驶员换道意图识别
基于眼动的驾驶员危险认知
驾驶员安全带识别方法综述
肤色(外一首)
人的肤色为什么不同
为什么人有不同的肤色?
A、B两点漂流记
请你发明
名人语录的极简图像表达
一次函数图像与性质的重难点讲析