基于眼睛状态的驾驶员疲劳驾驶检测外文翻译资料
2021-12-19 21:56:16
英语原文共 8 页
基于眼睛状态的驾驶员疲劳驾驶检测
Wei Sun, Xiaorui Zhang, Wei Zhuang, Huiqiang Tang
摘要
眼睛状态的识别在驾驶员疲劳驾驶检测中扮演着非常重要的角色。为了提高系统的实时性和鲁棒性,提出了一种基于眼睛状态的疲劳驾驶检测算法。根据人脸上眼睛位置的先验几何知识,确定眼睛的ROI(感兴趣区域),缩小眼睛区域的检测范围。在眼睛的ROI中采用基于sobel算子的边缘检测,提取眼睛的状态信息。采用区域连接算法消除眼睛周围孤立的噪声点。采用一种改进的积分投影算法定位眼睛区域的边界。通过每10秒连续睁眼的图像帧数与总图像帧数的比值来识别驾驶员是否疲劳。实验结果表明,在复杂路面条件下,甚至在驾驶员佩戴眼镜的情况下,提出的算法对疲劳驾驶检测具有较高的准确率和可靠性。
关键词:疲劳驾驶检测,眼睛状态,Sobel边缘检测,积分阴影,区域连接
1.引言
驾驶员是否疲劳可以在驾驶过程中从他的眼睛状态推断出[1]。当驾驶员精力充沛时,他眼睑的开合程度和眨眼频率都处于相对稳定的范围内。然而,当驾驶员疲劳时,眼睛开闭程度明显变小并且眨眼次数明显增加。因此,在眼睛状态信息的帮助下判断驾驶员是否疲劳是一种可行的方法。
这是识别疲劳驾驶以准确和快速地检测驾驶员眼睛区域的先决条件。为此,研究人员提出了许多方法。周等人。提出了一种新的眼睛定位算法[2],它利用广义投影函数改进了传统的积分投影算法。然而,它对面部姿势和不同人脸的变化非常敏感。考虑到眼睛纹理信息[3],采用了gabor滤波器和圆形滤波器来检测眼睛区域。但是,该方法仅在驾驶员的眼睛打开时才有效。当驾驶员的眼睛半闭时,它会变得尴尬一点。提出了一种基于灰度强度方差和独立分量分析的有效眼图检测方法[4],但这种方法涉及复杂的数学运算,很容易陷入局部最小值。Bacivarov等。开发了基于统计主动外观模型(AAM)的眼动跟踪和闪烁检测算法,但是,为搜索算法选择合适的初始位置非常重要,这将对所提出的算法产生严重影响[5]。
做到实时、有效、简单地检测驾驶员的疲劳情况是目前研究的重点和热点,目前市场上还没有非常成熟的产品投入到市场上进行实际的应用,这主要存在着以下的困难:首先产品的投入成本比较高,其次目前疲劳的判断没有确切的定义,因此在进行疲劳检测的时候可能会出现误判等情况: 再者由于是接触性的装置,大大影响了驾驶员了自由活动;最后还因为个体和环境的差异(诸如男女性别、近视眼镜、光照情况、路况等)受到不同的影响。因此,研究如何利用机器视觉技术、图像处理技术、人脸识别技术疲劳检测方法相结合,开发出一种车载的、非接触式的、实时的员疲劳检测系统是当前的一个研究热点,考虑到上述算法的特点,提出了一种基于眼睛状态的疲劳驾驶检测算法,用于解决疲劳驾驶时驾驶员闭眼时眼睛位置和位置难度的实时性。
2 眼睛区域检测
2.1 总体检测方案
首先,基于面部检测[6][7],获得眼睛的ROI(感兴趣区域),以根据人脸上眼睛位置的先前几何知识减小眼睛检测区域的范围[6][7]。其次,在眼睛的ROI中进行基于sobel算子的边缘检测,以提取眼睛边缘信息。然后,基于区域连接的图像过滤算法是采用消除眼部周围的噪音。然后,使用改进的积分投影算法来确定从左眼角到右眼的距离以及上眼睑和下眼睑之间的距离。此外,计算上述两个距离的比率以判断驾驶员的眼睛是打开还是关闭。最后,疲劳驾驶通过连续打开驾驶员的图像的帧数与每20秒的总图像帧数的比率来识别。如图1所示。
图1.疲劳驾驶检测流程图
2.2 检测人类眼睛的ROI
根据人眼上眼睛位置的现有几何知识,EFGH表示的眼睛的ROI如图2所示,然后,根据面部两只眼睛的对称性,由EMNH表示的左眼区域由不等式确定(1),由MFGN表示的右眼区域由不等式(2)确定,其中WF和HF是面部的宽度和高度,WEL和HEL是左眼ROI的宽度和高度,WER和HER分别是右眼ROI的宽度和高度。
图2 眼睛的ROI
0.125le;le;0.5,0.2le;le;0.5 (1)
0.5le;le;0.875,0.2le;le;0.5 (2)
2.3 sobel边缘检测和二值化
图像边缘是像素灰度值的变化比其他位置最剧烈的位置。眼睛周围的区域,例如从皮肤到角膜,再到瞳孔,包括丰富的边缘信息。因此,可以通过边缘信息容易地提取眼睛周围的图像边缘,这可以更好地检测和定位眼睛区域。Sobel算子可以在边缘检测过程中平滑图像中的噪声,可以有效地提取眼睛区域的边缘信息。
Sobel算子可以表示为:
[f(i 1,j-1) 2f(i 1,j) f(i 1,j 1)]-[f(i-1,j-1) 2f(i-1,j) f(i-1,j 1)] (3)
i 1,j-1) 2f(i 1,j) f(i 1,j 1)]-[f(i-1,j-1) 2f(i-1,j) f(i-1,j 1)] (4)
其中f(i,j)表示在眼睛的ROI中第i行和第j列像素的灰度值,Sobel算子也可以用如下的算子矩阵表示:
眼睛区域的边缘图像可以通过以下散步获得:
(1)将眼睛区域 ROI 中外围像素的灰度值设定为 0。
(2)分别计算眼睛区域 ROI 中的每个像素在水平方向和垂直方向的边缘值:
其中A(i,j)是眼睛区域ROI中第i行和第j列像素的灰度值。Gx(m,n)和Gy(m,n)分别表示在矩阵Gx和Gy中的第m行和第n列元素。同时,假设矩阵的中心元素Gx和Gy都位于第0行和第0列。
(3)计算并比较 Bx(i,j)和 By(i,j)的绝对值,如果|Bx(i,j)gt;= By(i,j)|,那么Brsquo;(i,j)=|Bx(i,j)|,否则,B#39;(i,j)=|By(i,j)|。其中Brsquo;(i,j)是最终在眼睛区域的ROI中确定的边缘值。
基于sobel算子的边缘检测之后,将边缘像素的灰度值放大到眼睛区域的感兴趣区域。因此,眼睛区域的边缘像素可以根据公式(6)与其他像素分离。其中 TES 是给定的阈值,可根据眼睛区域 ROI 中像素的平均灰度值获得。
3 定位眼睛边界
3.1 基于区域连接的图像滤波
在分割后的二值化图像中,存在一些孤立的噪点。因此,采用基于区域连接的图像滤波算法,提高眼睛边界的准确度和可靠性。
1)设置一个3x3滑动模板作为滤波器,用于检测眼睛的ROI。
2)通过滑动滤波器遍历眼睛的整个ROI,根据公式(7)计算被模板1掩盖的边缘像素总和。
3)根据方程(7)的结果,采用区域连接分析法,移除孤立噪声点。如果是NES (i,j)ge;NEth, 则设B*(i,j)=1, 否则设B*(i,j)=0, 其中NEth为设定阈值。实验结果表明,当NEth=4可以获得一个理想的结果。
3.2改进积分投影算法的眼边界定位
启发于传统积分投影算法[10],提出了一种改进的积分投影算法,分别确定眼睛在左眼区域EMNH和右眼区域MFGH的位置和开闭状态。由于左眼区域和右侧的检测过程相同,因此仅介绍左眼区域的检测过程,改进算法的详细过程如下::
1)在左眼区从下一行到上一行,计算每行灰度值为1的像素的个数,消除眉毛的影响,把第i行灰度值为1的像素总和存储在数组Nr[i]中。假设左眼区域的最下面一行是第0行,即i=0,在一行计数完成后把i自动加1。
2)从左眼区的最底行开始,分别比较第i行、第(i 1)和第(i 2)行中灰度值为1的总像素数。如果
然后找到左眼区域的下边界,立即停止搜索和比较,并让CEL=i,其中i是正在计算的当前行的坐标值。
3)继续向上行搜索像素。如果
然后找到左眼区域的上边界,立即停止搜索和比较,并得到CEU=i,其中i是正在计算的当前行的行坐标值。
4)同样,在CEU和CEL的确定范围内,分别使用与上述相同的方法查找左边界的列坐标值LEL和右边界的列坐标值LER。
5)通过公式(10)计算左眼的宽度值WE和高度值HE。
6)同样,通过公式(11)计算右眼宽度值Wrsquo;E和高度值Hrsquo;E。
4. 眼疲劳特征参数提取
4.1评估眼睛开闭状态
定义RE是眼睛的开闭程度,通过式(12)计算。根据RE的大小和设定的阈值 TRE 来估计驾驶员的眼睛是否睁开。如果是REge;TRE,那么司机的清醒意识将被推断,否则,如果是 RElt;TRE,那么司机的眨眼意识在减少。
4.2 计算眨眼频率
生理学研究表明,驾驶员感到疲劳时,眨眼次数变得越来越多,眨眼持续时间变得越来越长。因此,使用公式(13)[11]计算闪烁频率PE推断出疲劳驾驶是非常合理的,其中,nEO是驾驶员的眼在10秒内连续闭合的图像的帧数,NET表示每10秒的总帧数。
5. 实验和分析
提出的算法用C语言编程,在CPU为2.80GHz、内存为2G的PC机上运行,平均耗时约40.83 ms,几乎达到在一秒钟内25帧的实时性能。表1显示了目前算法中关键步骤的平均运行时间。
表1算法中关键步骤的运行时间
基于眼睛状态的疲劳检测关键步骤 |
时间(s) |
面部识别 |
31.72 |
基于sobel算子的边缘检测 |
4.24 |
区域连接分析 |
2.23 |
改进的积分投影算法 |
1.86 |
疲劳检测识别 |
0.78 |
5.1 正常条件下的眼睛检测
为了验证基于人眼状态的疲劳检测算法的有效性,实验在实际的道路环境下实施了。一些眼状态的检测结果如图3所示,其中,第一行是检测到的人脸图像,第二行是使用sobel算子处理后的二值边缘图像,第三行是使用区域连接算法滤波后的二值图像,第四行是眼边界位置图像。从图3可以看出,眼睛的位置和边界可以很容易和准确地检测出来。
(a)面部检测
(b)边缘图像
(c)区域连接处理后的图像
(d)眼睛边界图像
图3 在正常情况下眼睛的检测结果
5.2 复杂情况下的眼睛检测
此外,为了验证提出的算法在复杂条件下的鲁棒性和可靠性,在各种实际道路条件下,采集了大量驾驶员面部的视频图像,如阴天、黄昏等,以及驾驶员打哈欠或驾驶员抬头。特别地,在驾驶员戴眼镜的情况下,提出的算法仍然能精确地定位眼睛的边界。一些检测结果如图4所示,其中,在每行中从左到右的4幅图像分别为人脸检测、sobel边缘检测后的边缘图像、区域连接算法滤波后的二值图像和眼边界位置图像。
(a)在阴天时打哈欠
(b)在雨天的黄昏
(c)低头
(d)穿戴眼镜
(e)抬头和打哈欠
(f)侧头
图4 在复杂情况下眼睛检测结果
5.3 眼睛状态识别
通过实验我们发现,在驾驶员在驾驶过程中,左眼和右眼的开合状态大体上是一致的,即左眼和右眼都是同时睁开的或者是同时闭合的。因此,为了降低计算所用
资料编号:[4381]