基于卷积神经网络的疲劳驾驶检测方法及系统与流程

文档序号:15348892发布日期:2018-09-04 23:05阅读:456来源:国知局

本发明涉及一种基于卷积神经网络的疲劳驾驶检测方法,属于图像处理与模式识别技术领域。



背景技术:

随着经济的高速发展,汽车行业获得高速增长,人们出行方式变得丰富,汽车是最主要的出行方式之一。与此同时,道路的交通秩序和安全状况也变得十分复杂,交通事故的发生也越来越频繁。疲劳驾驶是其中一个最容易导致交通事故的原因,如果能及时发现驾驶员的疲劳驾驶并及时提醒,便能将这类交通事故阻止在源头,降低交通事故的发生率。疲劳驾驶检测技术不仅保障了驾驶员的生命财产安全,还能改善道路交通状况。因此,对于疲劳驾驶进行评估具有十分重大的意义。

驾驶员产生疲劳驾驶的原因主要包括长时间驾驶车辆、睡眠休息不足或睡眠质量差、身体状态差等,从而使驾驶员产生疲劳状态,而疲劳状态又最容易反映在驾驶员的面部表情上,正常状态下驾驶员面部表情呈现认真轻松的状态,而疲劳状态下则呈现呆滞疲劳的状态。因此,通过研究驾驶员的面部表情状态去反映其疲劳状态具有一定的可行性。

目前,基于传统机器学习方法的人脸表情识别技术拥有比较好的识别效果。但人脸表情识别技术一般针对的是愤怒、厌恶、恐惧、高兴、悲伤、惊讶及中性法在面部表情识别上对数据量的要求不是很高,且部分是基于面部表情的纹理特征来进行识别分类的。在面对疲劳这种抽象的面部表情时,小数据量的数据库不能充分反映面部疲劳的特征,实现良好好识别效果十分困难。因此,必须建立大型的疲劳驾驶数据库和能处理大量数据的识别算法,才能实现良好的识别效果。



技术实现要素:

本发明所要解决的技术问题是:

提供一种基于卷积神经网络的疲劳驾驶检测识别方法及系统,解决传统方法不能准确实现疲劳驾驶识别的问题,从而为疲劳驾驶实时监测提供一种可行、高效的方法途径。

本发明为解决上述技术问题采用以下技术方案:

本发明提出一种基于卷积神经网络的疲劳驾驶检测识别方法,包括如下步骤:

步骤1、建立疲劳驾驶图像库:采集驾驶员在驾驶状态下的二维面部图像作为样本,按照样本图像对应的实际疲劳程度,将样本图像划分至属于不同的疲劳驾驶状态,建立疲劳驾驶图像库;

步骤2、划分样本:根据基于卷积神经网络的训练方法,将每类疲劳驾驶状态的样本分别按8:2的比例划分为训练集合、验证集合,并对每个样本图像按照疲劳驾驶状态类别标注标签;

步骤3、构建卷积神经网络结构:所构建的卷积神经网络含有1层数据层、2层卷积层、2层池化层、2层连接层和1层分类层;

步骤4、训练卷积神经网络:将步骤2所述的训练集合、验证集合连带其标签,作为卷积神经网络数据层的输入,再利用反向传播算法对所述卷积神经网络进行迭代训练、优化训练全局参数,最终使卷积神经网络输出的损失函数值下降并收敛,生成用于识别疲劳驾驶的分类模型;

步骤5、卷积神经网络的识别分类:将新的驾驶状态面部图像作为测试样本,验证所述卷积神经网络的准确性;如果通过准确性验证,则将所述卷积神经网络应用于疲劳驾驶检测的识别分类工作。

进一步地,上述本发明提出的基于卷积神经网络的疲劳驾驶检测识别方法中,步骤1所述疲劳驾驶的不同状态包括:正常状态、轻度疲劳、重度疲劳。

进一步地,上述本发明提出的基于卷积神经网络的疲劳驾驶检测识别方法中,步骤2所述卷积神经网络的网络结构包括如下:

数据层:该层为网络的第一层,存储着疲劳驾驶图像库中的样本图像及对应样本类别的标签数据;

第一卷积层:该层为网络的第二层,采用k1个m1*m1的卷积核、步长为l1个像素,对图像卷积后作为下一层的输入;

第一池化层:该层是网络的第三层,是对第一卷积层的下抽样;

第二卷积层:该层为网络第四层,采用k2个m2*m2的卷积核、间隔步长为l2个像素,对图像卷积后作为下一层的输入;

第二池化层:该层是网络的第五层,是对第二卷积层的下采样;

第一连接层:该层是网络的第六层,是上层输出的二维特征变为一维特征的过程;

第二连接层:该层是网络的第七层,是第一连接层的全连接输出;

分类层:该层是网络的最后一层,输出概率分布向量p,即属于第j类的概率值pi,并在pi中寻找最大值,将概率最大的i所对应的类别作为检测结果,i=1,2,…,n,n为分类类别数。

进一步地,上述本发明提出的基于卷积神经网络的疲劳驾驶检测识别方法中,步骤4所述损失函数定义如下:

其中,f(θ)表示损失函数,m为训练样本总数,n为分类类别数;1{y(i)=j}为指示函数,当括号值为真时函数值为1,否则函数值为0;x(i)表示全连接层输出节点所构成的向量,θ1,θ2,…,θn表示模型参数,t表示矩阵的转置。

进一步地,上述本发明提出的基于卷积神经网络的疲劳驾驶检测识别方法中,步骤4所述概率值的定义如下:

identity(y)=argmax(pj)

其中,pj表示属于第j个类别的概率值,x(i)表示连接层2输出节点所构成的向量,identity(y)表示测试样本y的分类结果。

本发明还提出一种基于卷积神经网络的疲劳驾驶检测识别系统,包括:

疲劳驾驶图像库模块,用于采集驾驶员在驾驶状态下的二维面部图像作为样本,按照样本图像对应的实际疲劳程度,将样本图像划分至属于不同的疲劳驾驶状态,建立疲劳驾驶图像库;

样本划分模块,用于根据基于卷积神经网络的训练方法,将每类疲劳驾驶状态的样本分别按8:2的比例划分为训练集合、验证集合,并对每个样本图像按照疲劳驾驶状态类别标注标签;

卷积神经网络构建及训练模块:用于构建含有1层数据层、2层卷积层、2层池化层、2层连接层和1层分类层的卷积神经网络;并且,将样品划分模块的训练集合、验证集合连带其标签,作为卷积神经网络数据层的输入,再利用反向传播算法对所述卷积神经网络进行迭代训练、优化训练全局参数,最终使卷积神经网络输出的损失函数值下降并收敛,生成用于识别疲劳驾驶的分类模型;

识别分类模块,用于将新的驾驶状态面部图像作为测试样本,验证所述卷积神经网络的准确性;如果通过准确性验证,则将所述卷积神经网络应用于疲劳驾驶检测的识别分类工作。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1、本发明使用的卷积神经网络方法,是一种能自动学习大量数据特征的识别分类算法,且不用人工干预进行特征提取和分类。数据样本的质量和数量理论上决定最终的识别分类效果。因此,对比于传统机器学习方法,可以明显提高识别分类效果;

2、本发明使用卷积神经网络算法训练出的网络模型,在疲劳驾驶图像的噪声、遮挡、拍摄角度等图像差异性问题上,具有良好的健壮性。

附图说明

图1是本发明基于卷积神经网络的疲劳驾驶检测识别方法流程图。

图2是本发明疲劳驾驶图像库中各类状态的图片示例。

图3是本发明卷积神经网络结构示意图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

深度学习是计算机视觉研究中的一个新热点,是机器学习方法中的一个新方向,其核心在于建立一个模拟人脑学习分析的神经网络模型,以此模仿大脑机制来进行解释分析数据,如常见的文字、声音、图像及视频数据。首先,使用深度学习方法进行的疲劳驾驶检测能得到较高的识别率,这也是疲劳驾驶检测识别最重要的要求之一;其次,深度学习的优势能自动从数据样本中学习表情特征,通过迭代学习自动获取同类的相似和异类的差异,并不像传统机器学习方法手动设计特征提取的算法;最后,深度学习可以和大数据完美结合,深度学习方法最欠缺的就是数据,注重数据的质和量,在大数据背景下数据的采集变得简单,深度学习对这些数据的处理变得更加的高效。综上所述,对于疲劳驾驶的检测识别,使用深度学习的方法是最合适的。

卷积神经网络是一种深层次的神经网络模型,同时也是一种多层的监督学习神经网络。对比与普通神经网络模型,卷积神经网络一方面它的神经元之间的连接是非全连接的;另一方面,卷积神经网络同一层中神经元之间的连接的权重是共享的,这种非全连接和权值共享的网络结构降低了网络模型的复杂度,减少了权值的数量。从而实现了神经网络的层次结构化、局部感知,使网络结构对二维图像的平移、旋转、倾斜、比例缩放等操作变的不敏感,使图像特征具有高度不变特性。卷积神经网络实现特征提取最重要的网络结构是网络中的隐含层,也就是卷积层和池化层,通过这两个层的实现数据图像特征降维和特征提取。同时采用梯度下降法最小化损失函数对网络中的权重参数逐层反向调节,通过一定的迭代训练提高网络的精度,实现图像特征的准确提取。

如图1所示,本发明基于卷积神经网络的疲劳驾驶检测方法的实现主要包含以下步骤:

步骤1,建立疲劳驾驶图像库:

持续观察驾驶员在长时间驾驶过程中,从正常状态、轻度疲劳到重度疲劳过程中,根据驾驶员的主观感受采集驾驶员面部表情进行标记。并对采集的驾驶员面部图像进行属性的统一包括分辨率、大小、格式等。实际应用上存在的拍摄角度、曝光强弱、色彩饱和度等问题,注意这里并不改变采集图像的拍摄角度、曝光强弱和色彩饱和度,使样本数据具有一定的多样性。最后使采集的图像校准为如图2所示像素大小为128*128、格式为jpg的彩色图像,建立样本数量达6000张以上疲劳驾驶图像库,其中正常状态2000张,轻度疲劳2000张,重度疲劳2000张。对上述建立的数据库进行数据增强,具体增强包括对图像的旋转、反射、翻转、平移、尺度、对比度、噪声等等,使增强后的数据样本量达到12万张,其中正常状态4万张,轻度疲劳4万张,重度疲劳4万张。

步骤2,划分疲劳驾驶图像库:

在完成驾驶员疲劳驾驶图像库的建立后,根据基于卷积神经网络的训练方法,将疲劳驾驶图像库中每类表情按8:2的比例划分为训练样本、验证样本,即训练样本每类图像32000张、验证样本每类图像8000张,并分别标注每类表情对应标签号。

步骤3,构建卷积神经网络结构:

构建含有1层数据层、2层卷积层、2层池化层、2层连接层和1层分类层的卷积神经网络结构,本发明的卷积神经网络结构示意图,如图3所示。

数据层:该层将划分疲劳驾驶图像库后的训练样本、验证样本和样本标签作为卷积神经网络数据输入,其需要转换成深度学习平台指定的数据类型;

卷积层1:该层为卷积神经网络中卷积层1,采用50个7*7的卷积核、步长间隔为4像素,实现对输入的样本图像多层卷积功能,并作为下一层的输入;

池化层1:该层为卷积神经网络中池化层1,采用池化窗口为2*2的平均池化,从而降低数据维度,并作为下一层的输入;

卷积层2:该层为卷积神经网络中卷积层2,采用128个3*3的卷积核、步长间隔为1像素,实现对池化层1输出数据多层卷积功能,并作为下一层的输入;

池化层2:该层为卷积神经网络中池化层2,采用池化窗口为2*2的平均池化,从而降低数据维度,并作为下一层的输入;

连接层1:该层为卷积神经网络中连接层1,是池化层2的全连接输入,该层包含1024个节点。并作为下一层的输入;

连接层2:该层为卷积神经网络中连接层2,是连接层1的全连接输入,该层包含1024个节点。并作为下一层的输入;

分类层:该层是网络的最后一层分类层,是连接层2的全连接输入,输出为第j类的概率值pj,并在pj中寻找最大值,将概率最大的j所对应的类别作为识别分类结果;

步骤4,训练卷积神经网络:

以步骤2划分的训练样本、验证样本及其对应数据标签作为卷积神经网络的输入,利用反向传播算法对设计的神经网络迭代训练,并优化训练全局参数使网络输出损失函数值下降并收敛。

步骤5,卷积神经网络的识别分类:

利用该网络模型对驾驶员驾驶状态下的面部图像进行识别分类。输入驾驶员驾驶状态下的面部图像测试样本验证网络的准确性,并应用于疲劳驾驶检测的识别分类工作,开发疲劳驾驶自动评估系统。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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