1.本发明涉及一种用于车辆的辅助检测方法及系统,尤其涉及一种驾驶员疲劳检测方法及系统。
背景技术:2.近年来,随着汽车产业不断发展,车辆智能化程度也随之越来越高。在现在车辆内,往往会对驾驶员进行疲劳检测,以在驾驶员出现疲劳或注意力不集中的情况时进行语音或震动提醒,从源头预防交通事故发生。
3.在当前现有技术中,驾驶员疲劳检测手段通常分为主动式检测和被动式检测。其中,被动式检测可以采集驾驶员的驾驶行为,其通过对汽车的行驶状态,如速度,转角等数据进行分析,可以对当前驾驶行为进行判断,以此来检测当前驾驶员的一个疲劳程度。
4.而主动式检测能够通过收集驾驶员的面部图像、心率数据以及呼吸频率等生理数据来检测驾驶员的疲劳状态和分心情况。在实际应用时,由于主动式检测收集的数据更贴近驾驶员的真实疲劳情况,所以目前较多的研究方法集中在主动式检测。
5.在现有的主动式疲劳检测过程中,实践中往往会将驾驶员打哈欠作为一个疲劳的指标纳入疲劳检测中;所以目前的驾驶员疲劳检测集中在眼睛闭合和嘴巴张开这两个特征,辅以阈值判断驾驶员当前是否处于闭眼或打哈欠状态,并以此作为疲劳检测的依据。然而,这种人脸检测手段主要用眼睛区域和嘴巴区域的定位,而对于人脸其他部分的特征并没有积极的利用起来。
6.近年来,随着人脸检测技术的迅速发展,现在关于人脸关键点从以前的5个点、68个点到现在可以检测定位上千个点,这代表对于人脸的检测精细化程度越来越高。由此可以看到,实际上人脸可以提供给用于疲劳检测分析的特征并不仅仅局限在眼睛嘴巴区域。因此,发明人期望获得一种新的驾驶员疲劳检测方法,其可以使用深度学习网络来训练寻找最能表征驾驶员疲劳状态的特征。
技术实现要素:7.本发明的目的之一在于提供一种基于深度学习的驾驶员疲劳检测方法,该驾驶员疲劳检测方法可以使用深度学习网络来寻找最能表征驾驶员疲劳状态的特征,其可以全面利用人脸检测的信息,并能够找出更深层次的驾驶员疲劳状态特征,从而判断出更真实的驾驶员疲劳状态。
8.为了实现上述目的,本发明提出了一种基于深度学习的驾驶员疲劳检测方法,其包括训练步骤和实测步骤,其中在训练步骤:
9.采集驾驶员在不同疲劳状态下的面部图像作为样本数据,其中所述样本数据是经过标定的样本数据;
10.构建特征提取神经网络,将所述样本数据输入所述特征提取神经网络,以使特征提取神经网络输出表征驾驶员疲劳状态的特征向量,对输出的特征向量进行三元组损失函
数计算以得到误差,并基于误差对特征提取神经网络进行反向传播参数更新,以训练特征提取神经网络的参数;
11.其中,在实测步骤:
12.采集驾驶员的面部图像;
13.将该面部图像输入经过训练的特征提取神经网络,以输出实测特征向量;
14.将该实测特征向量与先前样本数据集中获取到的各不同状态的平均向量特征进行比较,以确定驾驶员的当前疲劳状态。
15.在本发明上述技术方案中,发明人提出了一种新的驾驶员疲劳检测方法,其通过利用收集不同驾驶员在不同疲劳状态下的面部数据,进行深度学习分析,通过构建的特征提取神经网络模型可以提取出最能表征驾驶员疲劳状态的特征,从而对驾驶员的当前疲劳状态进行检测,以确定驾驶员的当前疲劳状态。
16.本发明所述的驾驶员疲劳检测方法通过利用提取出的驾驶员疲劳状态特征来更新不同群体下聚类出的疲劳特征,以达到更好自适应驾驶员的目标。
17.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,在训练步骤中,采集驾驶员不同角度下的面部图像,并对其进行人脸姿态归一化处理,以将偏斜的人脸统一校正到正脸的姿态下。
18.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,采用仿射变换进行人脸姿态归一化处理。
19.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,所述样本数据包括若干个样本组,其中每一个样本组均由《锚点,正样本,负样本》构成,其中锚点和正样本为同一疲劳状态或同一类别下的不同的两张驾驶员面部图像,负样本为不同于锚点和正样本所表征的疲劳状态或类别的另一疲劳状态或类别下的驾驶员面部图像。
20.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,所述三元组损失函数l为:
21.l=max(d(a,p)-d(a,n)+margin,0)
22.其中,函数d(a,p)表示锚点的向量特征a和正样本的向量特征p之间的距离,d(a,n)表示锚点的向量特征a和负样本的向量特征n之间的距离,margin表示不同类间的距离,其为设置的常量。
23.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,所述特征提取神经网络包括:若干个卷积层、平均池化层和全连接层,其中输入层为卷积层,输出层为全连接层。
24.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,所述卷积层为卷积核为3
×
3的卷积层。
25.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测方法中,所述特征提取神经网络依次包括:两个卷积层、一个平均池化层、两个卷积层、一个平均池化层、三个卷积层、一个平均池化层、三个卷积层、一个平均池化层、三个卷积层、一个平均池化层、三个全连接层。
26.相应地,本发明的另一目的在于提供一种基于深度学习的驾驶员疲劳检测系统,该车辆主动接管方法结构简单,适用性强,采用该驾驶员疲劳检测系统可以有效实施本发
明上述的驾驶员疲劳检测方法。
27.为了实现上述目的,本发明提出了一种基于深度学习的驾驶员疲劳检测系统,其包括图像采集装置、特征提取模块和状态识别模块,其中:
28.所述图像采集装置采集驾驶员在不同疲劳状态下的面部图像作为样本数据,并在实测步骤中采集驾驶员的实测面部图像;
29.特征提取模块,采用所述样本数据对其进行训练,以使得:将实测面部图像输入特征提取模块,其输出表征驾驶员疲劳状态的实测特征向量;
30.状态识别模块,其将实测特征向量与先前样本数据集中获取到的各不同状态的平均向量特征进行比较,以确定驾驶员的当前疲劳状态。
31.进一步地,在本发明所述的基于深度学习的驾驶员疲劳检测系统中,所述特征提取模块依次包括:两个卷积层、一个平均池化层、两个卷积层、一个平均池化层、三个卷积层、一个平均池化层、三个卷积层、一个平均池化层、三个卷积层、一个平均池化层、三个全连接层。
32.相较于现有技术,本发明所述的基于深度学习的驾驶员疲劳检测方法及系统具有如下所述的优点和有益效果:
33.不同于现有技术,本发明提出了一种新的驾驶员疲劳检测方法,其通过利用收集驾驶员在不同疲劳状态下的面部数据,进行深度学习分析,通过构建的特征提取神经网络模型可以提取出最能表征驾驶员疲劳状态的特征,从而对驾驶员的当前疲劳状态进行检测。
34.(1)现有技术中的驾驶员疲劳检测技术只采用了驾驶员眼睛和嘴部的信息,而本发明所述的驾驶员疲劳检测方法能够全面利用人脸图像信息,包括输入数据扩展后利用多模态的数据。
35.(2)现有技术中的驾驶员疲劳检测技术通常利用阈值来对驾驶员闭眼和打哈欠做出判断,这种技术方案很难能适配不同眼睛嘴部外貌的驾驶员,容易造成误识别且边界不明。而本发明所述的驾驶员疲劳检测方法能够寻找边界,较好的区分不同外貌下的驾驶员,结合自适应方法以更好的适配不同的驾驶员。
36.(3)现有技术中的驾驶员疲劳检测技术更多是利用闭眼时间和打哈欠时间来判断深层次的疲劳状态,这些实质是基于闭眼或打哈欠这一项基本特征。而本发明所述的驾驶员疲劳检测方法能通过对驾驶员面部图像数据集的学习,从中找出更深层次的疲劳表征,其能够更有效的利用专家标注或脑电波信号这类标签数据,更好的利用疲劳等级分类信息,从而判断更真实的驾驶员疲劳状态。
37.相应地,采用本发明所述的基于深度学习的驾驶员疲劳检测系统可以有效实施本发明所述的驾驶员疲劳检测方法,因此该驾驶员疲劳检测系统同样具有上述优点以及有益效果。
附图说明
38.图1示意性地显示了本发明所述的驾驶员疲劳检测方法在一种实施方式下对特征提取神经网络的参数进行训练的流程图。
39.图2为本发明所述的特征提取神经网络在一种实施方式下的网络架构。
40.图3示意性地显示了一组样本组中的锚点、正样本和负样本优化类间距离的过程。
41.图4示意性地显示了本发明所述的驾驶员疲劳检测方法在一种实施方式下经过训练的特征提取神经网络在实测步骤中的应用逻辑图。
具体实施方式
42.下面将结合说明书附图和具体的实施例对本发明所述的基于深度学习的驾驶员疲劳检测方法及系统做进一步的解释和说明,然而该解释和说明并不对本发明的技术方案构成不当限定。
43.在本发明中,本发明所述的基于深度学习的驾驶员疲劳检测方法包括:训练步骤以及实测步骤。其中,在训练步骤中,需要采集驾驶员在不同疲劳状态下的面部图像作为样本数据,并将该样本数据输入到构建的特征提取神经网络中,以训练特征提取神经网络的参数。
44.在本实施例中,可以利用实际驾驶数据,模拟驾驶舱收集驾驶员在驾驶时的面部图像,通过采集时的标定数据辅以脑电波分析及专家标注,得到不同疲劳状态下的驾驶员面部图像数据集,并以这一驾驶员面部图像数据集作为样本数据,这种样本数据是经过标定的样本数据。
45.需要说明的是,在训练过程中,为了保证采集的样本数据的分布和实际应用场景中一致,对于驾驶员的姿态会采集不同角度下的面部图像。而为了训练提取出更能表征驾驶员疲劳状态的特征,则需要对输入面部图像进行人脸校正,以对面部图像进行人脸姿态归一化处理,将偏斜的人脸统一校正到正脸的姿态下。在本实施方式中,可以采用仿射变换进行人脸姿态归一化处理,对于经过人脸关键点定位后得到的面部图像,可以将事先选取的标记点的位置取出,计算出一个仿射变换矩阵,通过该矩阵将偏斜的人脸图像进行仿射变换,即可得到姿态校正后的图像。
46.此外,在本发明中,在上述驾驶员面部图像数据集中,驾驶员的面部图像数据应尽可能的广,特别是应尽可能地具有不同疲劳状态下有关驾驶员眼睛嘴巴的外貌轮廓大小数据。因此,在本实施例中,每个驾驶员都应该收集至少两张不同疲劳状态下的面部图像。其中,驾驶员的面部角度也需要作为一个数据集中的场景,在摄像头能够覆盖的范围内,设定一个较为明晰的驾驶员头部姿态,采集包括正面左右偏转在内的不同头部姿态下的面部数据,保证数据的分布更接近实际的驾驶员疲劳时的头部姿态表现。
47.在本实施例中,采集驾驶员面部图像数据集作为样本数据,将其分为训练集、验证集和测试集,三者的比例控制为8:1:1,以尽可能地保证三者的数据分布一致。这三种数据集中的数据均为同一驾驶员在不同疲劳状态下的面部图像。
48.图1示意性地显示了本发明所述的驾驶员疲劳检测方法在一种实施方式下对特征提取神经网络的参数进行训练的流程图。
49.如图1所示,在本实施例中,样本数据可以包括若干个样本组,每一个样本组均由《锚点,正样本,负样本》构成,其中锚点和正样本为同一疲劳状态或同一类别下的不同的两张驾驶员面部图像,负样本为不同于锚点和正样本所表征的疲劳状态或类别的另一疲劳状态或类别下的驾驶员面部图像。
50.训练过程中,将《锚点,正样本,负样本》样本组输入特征提取神经网络。若设疲劳
状态分为c类,每类各有图像n张,则样本组的组合数可以为:
51.组合数=c*n*(n-1)*(c-1)*n
52.需要说明的是,在本实施方式中,将采集获得的样本数据输入已构建的特征提取神经网络中,特征提取神经网络通过卷积层、池化层、全连接层等网络结构可以将图像中最能表征驾驶员疲劳状态的特征提取出来,一个样本组可以分别获得三个特征向量。同时,针对特征提取神经网络输出的这三个特征向量进行三元组损失函数计算就能够得到误差,基于误差对特征提取神经网络进行反向传播参数更新,即可训练特征提取神经网络的参数,以得到最能表征驾驶员疲劳状态的特征。
53.图2为本发明所述的特征提取神经网络在一种实施方式下的网络架构。
54.如图2所示,在本实施方式中,本发明所述的特征提取神经网络可以包括:13个卷积层、5个平均池化层和3个全连接层。其中,卷积层均选用卷积核为3
×
3的卷积层。
55.参阅图2可以看出,图2所示的特征提取神经网络依次包括:两个卷积层(64通道)、一个平均池化层、两个卷积层(128通道)、一个平均池化层、三个卷积层(256通道)、一个平均池化层、三个卷积层(512通道)、一个平均池化层、三个卷积层(512通道)、一个平均池化层、三个全连接层(4096通道)。其中,输入经过卷积核为3
×
3的卷积层后,输出大小保持不变;经过平均池化层后,长宽各变为原来的二分之一;全连接层将输入映射为长度为4096的向量。通过这种特征提取神经网络可以利用卷积池化全连接将图像映射为一个4096维的特征向量。
56.需要说明的是,在本实施方式中,样本组中的锚点、正样本、负样本的图像可以自第一个卷积层(64通道)输入,经上述网络架构后,自最后一个全连接层(4096通道)分别输出,以输出4096维的特征向量。
57.相应地,特征提取神经网络输出的4096维的特征向量进一步经过三元组损失函数计算就能够得到误差。在本实施例中,三元组损失函数l的计算公式具体为:
58.l=max(d(a,p)-d(a,n)+margin,0)
59.其中,函数d(a,p)表示锚点的向量特征a和正样本的向量特征p之间的距离,d(a,n)表示锚点的向量特征a和负样本的向量特征n之间的距离,margin表示不同类间的距离,其为设置的常量,通常可以设置为1.0。如下述图3所示,图3示意性地显示了一组样本组中的锚点、正样本和负样本优化类间距离的过程,三元组损失函数希望优化的就是最大化类间的距离以及最小化类中的距离。
60.图4示意性地显示了本发明所述的驾驶员疲劳检测方法在一种实施方式下经过训练的特征提取神经网络在实测步骤中的应用逻辑图
61.如图4所示,在本实施方式中,本发明所述的驾驶员疲劳检测方法的实测步骤具体包括以下步骤(1)-(3):
62.(1)采集驾驶员的面部图像。
63.(2)将该面部图像输入经过训练的特征提取神经网络,以输出实测特征向量。
64.(3)将该实测特征向量与先前样本数据集中获取到的各不同状态的平均向量特征进行比较,以确定驾驶员的当前疲劳状态。
65.如图4所示,在实测过程中,面部图像输入到经过训练的特征提取神经网络后,可以输出得到实测特征向量,将该实测特征向量与先前样本数据集中获取到的各不同状态的
平均向量特征进行比较,最接近的那个表示为驾驶员当前疲劳状态。在此过程中需用识别到的驾驶员本人的特征向量去不断加权更新对应的疲劳状态,以此来更好的适配不同驾驶员的疲劳状态。
66.相应地,为了实施本发明上述基于深度学习的驾驶员疲劳检测方法,发明人进一步提出了一种驾驶员疲劳检测系统,该驾驶员疲劳检测系统包括:图像采集装置、特征提取模块和状态识别模块。
67.其中,图像采集装置能够采集驾驶员在不同疲劳状态下的面部图像作为样本数据,并在实测步骤中采集驾驶员的实测面部图像;特征提取模块能够采用样本数据对其进行训练,以使得:将实测面部图像输入特征提取模块,其输出表征驾驶员疲劳状态的实测特征向量;状态识别模块可以将实测特征向量与先前样本数据集中获取到的各不同状态的平均向量特征进行比较,以确定驾驶员的当前疲劳状态。
68.需要说明的是,本发明保护范围中现有技术部分并不局限于本技术文件所给出的实施例,所有不与本发明的方案相矛盾的现有技术,包括但不局限于在先专利文献、在先公开出版物,在先公开使用等等,都可纳入本发明的保护范围。
69.此外,本案中各技术特征的组合方式并不限本案权利要求中所记载的组合方式或是具体实施例所记载的组合方式,本案记载的所有技术特征可以以任何方式进行自由组合或结合,除非相互之间产生矛盾。
70.还需要注意的是,以上所列举的实施例仅为本发明具体实施例。显然本发明不局限于以上实施例,随之做出的类似变化或变形是本领域技术人员能从本发明公开的内容直接得出或者很容易便联想到的,均应属于本发明的保护范围。