车联网IOV车联网车联网

驾驶员状态以及驾驶行为相结合的疲劳驾驶检测系统

2019-02-22  本文已影响22人  xiiao蜗牛

【论文】:Fatigue Driver Detection System Using a Combination of Blinking Rate and Driving Inactivity

提出的方法

使用驾驶员状态以及驾驶员行为指标的组合,构建疲劳驾驶检测系统。

系统概述

系统主要基于驾驶员状态和驾驶行为两个指标设计的。系统由两部分组成:1)检测眼部动作,2)检测驾驶员行为。如图1:


图1. 疲劳检测系统概述图

A.基于眼部动作的疲劳检测

眨眼检测处理流程包括一下几个步骤:

  1. 面部和眼部检测
  2. 眼部追踪
  3. 闭眼检测以及计算眨眼频率
图2. 提出的算法框架

眨眼检测以及眨眼持续时间分析

我们利用颜色特征检测眼睛闭合,将眼睛ROI(Region of Interest)图像的颜色空间由RGB转换为HSV,然后将图像分割为V通道,检测ROI图像亮度的变化。当用户的眼睛从睁开状态变为闭合状态时,会导致亮度增加,因为闭眼状态下黑眼的大小小于开眼状态,所以开眼状态下的亮度值小于闭眼状态。如图3:


图3. 在不同状态下的眼部图像(上面RGB,下面HSV颜色空间)

将眼睛ROI图像的颜色空间从RGB转换为HSV后,我们可以得到亮度值(HSV中的V值),并将其绘制在时间轴上,如图4:


图4. V值随时间的变化

根据图4中的亮度值,我们可以通过图5中的流程图检测眨眼并计算眨眼持续时间。该算法的目标是寻找V值的陡坡,并将其定义为转折点。首先,我们会找到爬坡(斜率为正),如果斜率大于“Th_close”,系统将把他判定为闭眼状态,并增加闭眼持续时间,直到下坡(斜率为负)的斜率大于“Th_open”,系统将停止增加闭眼持续时间。然后,系统将会继续寻找闭眼以及V值的陡坡。

图5. 检测眨眼以及计算眨眼持续时间的算法流程

对于眼睛状态,是通过用阈值与测试的“V值”相比较来定义的,判定眼睛状态的公式如下:


B.基于驾驶行为的疲劳检测

基于驾驶行为的疲劳驾驶检测处理过程包含以下几个步骤:
i) 从传感器获取数据;
ii) 按照图6的步骤分析驾驶员的驾驶行为。

图6. 基于驾驶行为的疲劳驾驶检测

1) 获取传感器数据
力阻传感器安装在加速踏板上。传感器根据接收到的力输出电压值。当驾驶员不踩踏板时,输出电压为0V,当驾驶员对踏板施加全部力时,输出电压为3.3V,电压的变化反映了踏板的运动。我们将其作为输入来构建驾驶行为模型。


图7. 力阻传感器以及在踏板上的位置

汽车的运动是由FreeIMU模块测量的。FreeIMU模块由加速度计、陀螺仪以及罗盘组成,其信号包括以下9个参数:i) 陀螺仪的三轴参数;ii) 加速度计的三轴参数;iii)磁场的三轴参数。传感器数据划分为两组:训练数据和测试数据。

2) 分析驾驶员驾驶行为

图8. 计算均值、标准差以及系数

根据从电阻传感器和FreeIMU模块(采样率为1ms)采集的数据,采用主成分分析法对数据进行简化,建立疲劳驾驶识别模型,对驾驶员的驾驶行为进行分析。为了分析驾驶员的驾驶行为,包括两个步骤:i)从训练数据中计算平均值、标准偏差和系数值,用于对驾驶员陈述进行建模;ii)使用训练数据的平均值、标准偏差和系数计算测试数据的方差。我们可以通过图8中的流程图计算平均值、标准差和系数值。


图9. 驾驶状态识别算法

疲劳驾驶识别如图9所示。首先,利用z-score对来自传感器和FreeIMU模块的数据进行归一化,然后通过主成分分析对数据进行分析,以减少数据的维数。然后,利用训练数据的均值、标准差和系数值,计算主成分分析(PCA)的变量得分方差。最后,选择5列的组合方差。当组合方差大于阈值时,该算法将驾驶状态判断为正常状态。但是,当组合方差小于阈值时,该算法把驾驶状态判断为疲劳状态。

实验和结果

图10显示了在60s的测试视频中检测到眼睛闭上和睁开的时间间隔。图中只显示峰值的时刻。
眨眼检测结果如图11所示,其中高值表示检测到眼睛闭合,低值表示检测到眼睛睁开。眨眼的持续时间也可以计算出来。在视频捕捉过程中,由21次眨眼,其中一次在21s到25s之间,眨眼持续4s。

图10. 闭眼和睁眼时间间隔 图11. 检测到的眨眼

在相同位置和驾驶模拟视频中,眨眼检测结果如表1所示:

表1. 眨眼检测结果 表2. 驾驶行为结果
上一篇下一篇

猜你喜欢

热点阅读