一种基于动量优化的BP神经网络的非接触式疲劳驾驶检测方法与流程

文档序号:20919916发布日期:2020-05-29 14:01阅读:329来源:国知局
一种基于动量优化的BP神经网络的非接触式疲劳驾驶检测方法与流程

本发明属于建模检测领域,具体涉及一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法。



背景技术:

疲劳驾驶是世界上导致交通事故最常见的原因之一。根据who(世界卫生组织)的报告,每年有超过130万的人死于交通事故,有2千万到5千万的人因为交通事故遭受非致命伤害,这中间约有20%的致命交通事故是由疲劳驾驶引起的。因此,如果能够研发一种自动检测疲劳驾驶的系统,并且能够提前警告驾驶员正处于疲劳驾驶状态,就可以有效避免大量的交通事故,降低交通事故发生率。

目前检测疲劳状态的方法主要分为两大类:1.接触式疲劳状态检测;2非接触式疲劳状态检测。

接触式的疲劳检测方法主要是检测驾驶员的生理状态。虽然这种方法得到的数据可靠,误差小,受外界干扰较小,但是这种方法要在驾驶员身上安装相应检测生理信号的装置,对于驾驶员的干扰过于大。为此,研究人员通过使用无线电来测量生理信号,并通过zigbee,蓝牙等来获取信号,这些技术已经比较成熟,但是精确度会大幅度降低,人为干扰会造成检测假象和错误。

非接触式的疲劳检测的方法主要是监测驾驶员的面部特征和车辆参数检测。对于驾驶员面部特征的分析个体差异较大,并且亮度的改变或者驾驶员佩戴墨镜、口罩等遮挡面部的物品都会对检测造成极大的干扰,整套装置所需要的成本也会提高;对于车辆状态和行驶轨迹的检测,所需要的硬件支持较高,价格昂贵。而且对外界的条件的要求比较苛刻(如道路标识,气候和照明条件等)。这种方法的一个很大局限性就是这是对车辆的检测,不是对驾驶员直接的检测,可靠性、精确度大大降低。

综上所述,虽然目前已经有多种方法实时测量驾驶员的疲劳状态,但大多只限于理论研究层次,已经问世的监测装置存在很多的局限性,有很多问题需要解决。每种疲劳驾驶检测方法都有其优点和局限性,因此对于驾驶员疲劳驾驶的检测不应该仅用单一方法。很多研究表明,混合检测方法的可靠性和精确度比单一检测的方法要高。所以,要开发一个有效的疲劳驾驶检测系统,应该将各种检测方法组合在一个混合系统中进行检测。生理状况检测所得到的数据可靠性高,但对驾驶员干扰较大。所以要设计一个非接触式检测驾驶员生理信号的装置,再结合神经网络模型对生理信号训练学习,得到用于检测驾驶员疲劳状态的算法模型。



技术实现要素:

鉴于以上存在的技术问题,本发明实现非接触式检测驾驶员生理状态,避免对驾驶员造成身体上和驾驶上的干扰,提高准确性;能够快速高效的对数据进行处理;算法模型采用动量优化的bp神经网络模型,学习效率相较于传统的bp神经网络要快,准确性高。

基于上述目的,本发明提供了一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法。

包括以下步骤:

s10,通过多普勒雷达模块采集驾驶员的生理信号;

s20,对生理信号分类;

s30,对生理信号进行滤波及ceemd算法分解,得到心跳和呼吸两段包含完整时频域特征的信号;

s40,设计动量优化的bp神经网络模型对数据集进行训练,从而得到驾驶员疲劳状态检测的算法模型;

s50,通过驾驶员疲劳状态检测的算法模型对疲劳状态进行检测。

优选地,所述生理信号至少包括驾驶员的呼吸信号和心跳信号。

优选地,所述动量优化的bp神经网络根据误差反向传播算法迭代更新权重矩阵,利用梯度下降来最小化网络实际输出值与期望输出值之间的均方误差,从而得到驾驶员疲劳状态检测的算法模型。

优选地,所述设计动量优化的bp神经网络模型中,bp神经网络权值迭代方程为:

其中,α为学习率,m为样本总量,β为动量系数,并且β∈(0,1),为前一次迭代的动量梯度值,为权重误差累积值。

优选地,所述多普勒雷达模块采用微波多普勒雷达探测器探头传感器hb100模块。

与现有技术相比,本发明所采用的多普勒雷达模块能够实现非接触式准确检测驾驶员的生理信号,且生理信号能够准确反映驾驶员的疲劳状态,能够有效解决不同个体在不同疲劳状态下生理信号的差异性。所使用的动量优化的bp神经网络模型学习效率快,迭代次数少,准确性高,计算量大幅度减少。

附图说明

图1为本发明实施例的一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法的步骤流程图;

图2为本发明一实施例的一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法的专家评测方法标准图;

图3为本发明一实施例的一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法中多普勒雷达采集处理采样的驾驶员生理信号经ceemd算法分解的心跳信号和呼吸信号时频分析图;

图4为本发明一实施例的一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法的动量优化的bp神经网络模型图;

图5为本发明一实施例的一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法的动量优化的bp神经网络网络训练结果图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的方法包括数据采集、数据处理、数据训练。数据采集部分主要由多普勒雷达模块为核心、模拟驾驶器配套的模拟驾驶软件系统组成,用于采集驾驶员的呼吸和心跳信号。数据处理部分主要是对采集到的呼吸和心跳信号通过专家评判方法进行信号的等级分类,然后对各组信号进行滤波处理,再对信号进行ceemd算法分解,得到没有相位失真的心跳信号和呼吸信号。数据训练部分主要是设计动量优化的bp神经网络模型,对采集到的数据进行训练,得到驾驶员疲劳状态检测的算法模型。

实施例1

参见图1,一种基于动量优化的bp神经网络的非接触式疲劳驾驶检测方法的步骤流程图,s10,通过多普勒雷达模块采集驾驶员的生理信号;

s20,对生理信号分类;

s30,对生理信号进行滤波及ceemd算法分解,得到心跳和呼吸两段包含完整时频域特征的信号x1和x2;

s40,设计动量优化的bp神经网络模型对数据集进行训练,从而得到驾驶员疲劳状态检测的算法模型;

s50,通过驾驶员疲劳状态检测的算法模型对疲劳状态进行检测。

生理信号至少包括驾驶员的呼吸信号和心跳信号。

动量优化的bp神经网络根据误差反向传播算法迭代更新权重矩阵,利用梯度下降来最小化网络实际输出值与期望输出值之间的均方误差,从而得到驾驶员疲劳状态检测的算法模型。

设计动量优化的bp神经网络模型中,bp神经网络权值迭代方程为:

其中,α为学习率,m为样本总量,β为动量系数,并且β∈(0,1),为前一次迭代的动量梯度值,为权重误差累积值。

多普勒雷达模块采用微波多普勒雷达探测器探头传感器hb100模块。

参见图2为疲劳等级的专家评判标准。驾驶员疲劳状态等级分类4个等级:清醒状态、i级疲劳状态、ii疲劳状态、iii级疲劳状态。每个疲劳等级都有相应的特征表现,如眨眼频率、打哈气次数等,通过专家对视频信息分析,判断该段视频信息中驾驶员的疲劳等级,进而可以得到与该段视频信息相对应的生理信号的疲劳等级。通过该方法将采集的所有的生理信号进行分类。

参见图3为多普勒雷达模块采集的生理信号以及其频谱特性图。可以看到通过该雷达模块能够成功采集到人体的生理信号。该生理信号包括呼吸信号和心跳信号,经ceemd算法分解得到心跳和呼吸两段包含完整时频域特征的信号。

参见图4bp神经网络模型图。bp神经网络根据误差反向传播算法迭代更新权重矩阵θ。bp神经网络基本思想是梯度下降算法,利用梯度下降来最小化网络实际输出值与期望输出值之间的均方误差。bp神经网络是基于标准梯度下降算法的训练权重,往往存在局部最优解的问题。通过在bp神经网络基础上做动量优化,能有效地解决局部最优解问题,并且训练更高效。具体模型建立过程如下:

首先,实现前向传播。设置每一层的权重矩阵为h(l-1)。l为整数,l∈[2,l]。隐藏层和输出层的激活项用a(l)表示,因此:

本网络选择的激活函数是sigmoid函数,定义为:

利用激活函数,可以加入非线性特征,使学习速度更快、效率更高,对于整个样本集有:

a(2)=g(h(1)x(i))(3)

a(l)=g(h(l-1)a(l-1))(4)

利用正向传播算法计算各层的激活项a(l),根据反向传播算法,需要计算隐藏层和输出层的误差项δ(l),其计算过程如下:

δ(l)=a(l)-t(i)(5)

δ(l)=(h(l))(t)δ(l+1)×g'(h(l)a(l))(6)

δ(2)=(h(1))(t)δ(2)×g'(h(1)x(i))(7)

式中g'(h(l)a(l))为g(h(l)a(l))的一阶导数:

g'(h(l)a(l))=a(l)×(1-a(l))(8)

在计算了激活项a(l)和误差项δ(l)之后,根据梯度下降算法,需要通过迭代和更新权重矩阵来获得期望的输出。因此,定义一个新的变量表示神经网络第l层的第r行、第c列的权值误差,即权重误差累积值。

根据反向传播原理,代价函数j(θ)的一阶偏导数具有以下性质:

根据梯度下降算法得到权值矩阵具体如下:

从式(11)可以看出,每次权重更新仅与当前梯度值相关,而不涉及先前的梯度。动量梯度下降算法利用先前梯度值的指数加权平均值来获得当前梯度值,并利用当前梯度值来更新权重。

来表示动量梯度值。具体算法如下:

初始化为0:

随着训练次数的增加,不断更新:

其中,β为动量系数,β∈(0,1);为当前动量梯度值;为上一次迭代的动量梯度值;为权重误差累积。

使用动量梯度算法代替标准梯度下降算法,得到最终的权重迭代公式:

通过多次训练,最终确定的网络深度和每层的神经元数量,用nn表示:

nn=[2n506060504](15)

学习率α=0.3,动量系数β=0.9。参见图5为动量优化的bp神经网络训练结果。在图5中,整个画布被分成四个小部分,每个部分显示每个疲劳等级的输出。横坐标表示疲劳等级,纵坐标表示相应的概率。实际上,对于每个输入,对应的输出是4个点,例如,输入信号的输出表示如下:

t=(0.2,0.1,0.4,0.3)(16)

t的含义是:输入信号x对应于疲劳等级为0的概率为0.2,等级i级的概率为0.1,等级ii级的概率为0.4,等级iii级的概率为0.3,所以这个信号对应的疲劳等级ii级。各疲劳等级测试集样本的预测结果和总预测结果如下:

1)清醒状态:0.950

2)i疲劳状态:0.897

3)ii疲劳状态:0.917

4)iii疲劳状态:0.943

总概率:0.927。

应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1