【论文地址】:An Improved Fatigue Detection System Based on Behavioral Characteristics of Driver(https://arxiv.org/pdf/1709.05669.pdf)
提出的方法
有助于确定驾驶员昏昏欲睡状态的迹象和症状:
- 白日梦和注意力不集中(Daydreaming and lack of focusing)。
- 频繁眨眼,眼睛部分闭合(Blinking frequently and partially closed eye)。
- 无法记住行进路径(Not able to remember the traveled path)。
- 每过一小段时间打哈欠(Yawning after very small period)。
- 漂移或者离开车道(Drifting or maybe move out from the lane)。
- 点头(Head nodding)。
- 注意力不集中(Poor Concentration)。
- 反应缓慢(Slow reaction)。
实验重点放在眼部和嘴部特征,例如:频繁眨眼,打哈欠等。提出将疲劳监测系统分为4个部分:
- 利用摄像机对驾驶过程中的驾驶员进行实时视频流传输,并将视屏反馈发送给计算机视觉系统,使其能够在视频帧中检测驾驶员的面部。
- 获取人脸图像后,将其发送到SVM分类器,判别是否疲劳。+1表示疲劳,-1表示不疲劳。该数字输入到一个连续输出值相加的运行和中。
- 然后,这些输出作为警报系统单元的输入,然后对这些输入进行操作,生成它们的结果。
- 根据时间将结果划分为不同的疲劳程度,即:不疲劳,轻度疲劳以及重度疲劳。
数据
数据比算法更加重要,海量数据可以跑胜一个好的算法,而且数据多样性越高,性能越好。在疲劳驾驶检测系统中,数据集应该包含广泛的面部图像,即:正在谈话的面部,微笑的面部,戴着墨镜或者透明眼镜的面部。在带墨镜的情况下,系统只学习嘴部特征。此外,人们打哈欠时把手放在嘴上的图像,有助于系统正确预测疲劳。还需要考虑光亮的影响。
提出的系统
疲劳驾驶系统划分为以下4个子系统:
A. 视频捕获单元(Video Capture Unit)
B. 人脸检测单元和特征提取(Face Detection Unit and Features Extraction)
C. 基于特征的疲劳检测(Fatigue Detection on Extracted Features)
D. 警报单元(Alert Unit)
A. 视频捕获单元
通过安装在仪表盘上的摄像头,实时记录包含驾驶员脸部图帧的视频。对视频进行一定频率的采样,并将采样帧发送到人脸检测单元。
B. 人脸检测单元和特征提取
接收来自视频捕获单元的采样视频帧。对于非常昏暗的光线条件,执行低光图像增强和噪声消除。由于人脸检测不需要颜色数据,把图像更改为灰度图像。人脸检测单元返回人脸图像中矩形框的横坐标、纵坐标、长度以及宽度。
因为我们只需要眼部和嘴部作为特征集。首先,我们把面部图像中的矩形框缩放为100100像素,然后眼部使用8030矩形像素窗口,嘴部使用40*40像素窗口。眼部和嘴部的矩形窗口坐标分别为(10,20)和(30,60)。然后将上述部分传送到疲劳检测单元进一步处理。
C. 基于特征的疲劳检测
从人脸检测单元获得的驾驶员的一些列眼部和嘴部照片,我们可以对各种面部特征进行疲劳检测分析。这些面部特征包括眼睛(快速眨眼或昏昏欲睡的眼睛),嘴巴(打哈欠检测)。结合这些面部特征的疲劳检测结果,得出驾驶员是否处于疲劳或者警戒状态。
先对特征向量进行PCA降维处理,然后使用SVM分类器判别是否疲劳驾驶(1-疲劳,-1-不疲劳)。
D. 警报单元
警报单元的模型是按照格式(r,t),{r>=0,t>=0}进行的,其中r是结果值,t是时间。整个模型取决于疲劳检测单元的输出值。SVM对图像进行分类:是否疲劳,分类的输出为+1或-1。具体而言,SVM分类的输出传递给运行和中,连续相加,且最小值为0。
警报单元采取两个阈值。第一个阈值用来检测是否存在不疲劳或者轻度疲劳水平。第二个阈值用来标记轻度疲劳和重度疲劳之间的差异。当结果值超过指定阈值,都意味着检测到疲劳,并根据疲劳程度采取相应的警报。