发明内容
发明目的:为了克服现有技术的不足,本发明公开基于数据融合的疲劳驾驶识别方法,其可以解决特征分析准确率低、识别精度低和误报率高的问题。
技术方案:本发明所述的基于数据融合的疲劳驾驶识别方法,该方法包括:
获取驾驶员的人脸图像,并根据所述人脸图像进行轮廓特征点提取;
获取车辆操纵数据,对车辆操纵行为进行特征提取,并采用SVM对指定时间段内的车辆操纵行为的频度进行分析,以识别出清醒状态车辆操纵行为和疲劳状态车辆操纵行为,进而得到清醒状态车辆操纵行为特征集和疲劳状态车辆操纵行为特征集;
根据提取的轮廓特征点进行人脸疲劳特征抽取,并得到对应的疲劳驾驶样本集;
将人脸疲劳特征和车辆操纵行为特征融合,并构建疲劳风险指数模型,该模型的输出用于判断疲劳驾驶的可能性;
判断驾驶员是否为危险驾驶,若是危险驾驶,则发出预警信号。
进一步的,包括:
所述疲劳风险指数模型表示为:
δΔswp(t)=swp(t)-swp(t*)
其中,t为当前时刻,t
*为t的上一个采样时刻,*为卷积运算符,swp(t)为t时刻的驾驶员睡醒指数,swp(t
0)为基准时刻t
0的swp值,δ为睡醒指数缩放因子;
和
为衰减函数,F
m(t)为眯眼行为特征函数,F
y(t)为哈欠行为特征函数。
进一步的,包括:
所述驾驶员睡醒指数表示为:
swp(t)=10.9-0.6(S+C+U)
其中,
该值用于表征驾驶员睡醒后到当前时间的清醒程度;
该值为人体日节律指数;θ
1为清醒状态图中渐进线对应横轴坐标2.4的纵轴坐标值,θ
2为驾驶员的睡眠开始时刻,θ
3为中位值,θ
4为相位。
进一步的,包括:
提取的轮廓特征点进行人脸疲劳特征抽取,包括:
首先,根据眯眼行为特征得到眯眼行为特征函数,具体的:
则在T
m时刻,当
为1,即:车辆操纵行为为疲劳状态车辆操纵时,令眯眼特征值
α是衰减系数;
为0,即:车辆操纵行为为清醒状态车辆操纵行为时,令F
mv=0;
定义眯眼行为特征函数:
其次,根据哈欠行为特征得到哈欠行为特征函数,具体的:
定义哈欠行为特征函数:
其中,参数值表示为:
且基于疲劳驾驶样本集提取以下特征:
其中,
为第i次眯眼时对应的行为特征,
为第j次哈欠时对应的行为特征,C
m和C
y分别为疲劳驾驶样本集中眯眼和哈欠的次数。
进一步的,包括:
因为眯眼行为的发生间隔为随机变量,因此,设
为驾驶员在疲劳状态下眯眼事件序列,
为k次眯眼特征值的累积和,k=1,2,3,…;
令
为眯眼特征值累加和大于P
ym的最小眯眼行为次数,则τ(P
ym)的期望值
P
ym为疲劳状态下眯眼次数的经验值,Inf为下确界,n
m的值是眯眼特征值累加和大于P
ym的最小眯眼行为次数;
若在tms时刻发生眯眼行为,在tmo时间段内没有再次出现眯眼行为,则Fmv值应在tme时刻衰退至0,tme=tms+tmo,则:
其中,mnz(Fmv)为Fmv的最小非0值;
同理,若在tys时刻发生眯眼行为,在tyo时间内没有再次出现眯眼行为,则Fyv值应在tye时刻衰退至0,tye=tys+tyo;
则
进一步的,包括:
衰减系数α、β表示为:
进一步的,包括:
所述采用SVM对指定时间段内的车辆操纵行为的频度进行分析,以识别出清醒状态车辆操纵行为和疲劳状态车辆操纵行为,其中,SVM判别函数表示为:
其返回值Labt表示在t时刻车辆操纵行为是否异常,Labt=1表示异常,即为疲劳状态车辆操纵行为,Labt=0表示正常,即为清醒状态车辆操纵行为。
进一步的,包括:
参数ωp和bp的训练方法为:
首先,表示清醒状态车辆操纵行为特征集和疲劳状态车辆操纵行为特征集:
设清醒状态车辆操纵行为特征集:
设疲劳状态车辆操纵行为特征集:
其中,CF为转向特征表示,EB为制动特征表示,Lab用来判断车辆操纵行为是否异常,Labt=1表示异常,Labt=0表示正常,上标c表示这是清醒状态下采集的样本,上标f表示这是疲劳状态下采集的样本;
其次,通过输入的训练样本和Lab值,训练Fsvm的参数ωp和bp。
有益效果:本发明与现有技术相比,其显著优点是:
1、本发明提出一种融合驾驶员人脸疲劳特征和车辆操控状态特征的疲劳特征抽取方法,通过时变模型对疲劳驾驶程度进行估算以实现疲劳驾驶警示。基于成熟卷积神经网络获取人脸轮廓特征点,进而从中提取人脸疲劳特征,避免了对人脸疲劳特征训练样本的需求量,且保证了特征分析的准确率;
2、融合基于车载网络采样的车辆运行参数中提取的车辆操控状态特征,有效降低非疲劳因素产生的人脸特征对整个模型的干扰。
3、基于时域冲击模型能够记忆长时间的历史特征数据,在不明显增加计算资源成本的前提下提高疲劳驾驶识别精度,降低误报率。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
本发明所述的基于数据融合的疲劳驾驶识别方法,该方法包括:
S1获取驾驶员的人脸图像,并根据所述人脸图像进行轮廓特征点提取。
本实施例中,如图2所示的采用基于Dlib库的人脸特征点检测API获取近红外图像中驾驶员脸部68个轮廓特征点,其中,xi表示第i个特征点的x坐标值,yi表示第i个特征点的y坐标值。Dlib库的人脸特征点检测基于残差深度神经网络设计,人脸轮廓特征点抽取精度达到99.3%以上。
S2获取车辆操纵数据,对车辆操纵行为进行特征提取,并采用SVM对指定时间段内的车辆操纵行为的频度进行分析,以识别出清醒状态车辆操纵行为和疲劳状态车辆操纵行为,进而得到清醒状态车辆操纵行为特征集和疲劳状态车辆操纵行为特征集。
车辆操纵行为特征的提取在滑动时间窗模式下进行,包括:
(1)转向特征
方向盘操纵特征的提取基于方向盘转向角度值(SW)实现。车辆保持直线前进时,方向盘转向角度传感器输出的SW值为0,顺时针转动方向盘时方向盘转向角度传感器输出的SW值为正值,反之为负值。转向特征通过方向盘角度修正频度CF来表征。设:
其为时间窗Wt内的转向修正频度值。
其中,SW
i为时间窗W
t内第i个SW采样值,
为时间窗W
t内所有SW值的均值,N
sw为时间窗W
t中采样点的数量。
(2)制动特征
制动器操纵特征的提取基于制动压力值(BP)实现。在驾驶员采取制动行为时,制动压力传感器输出的值为制动液压油的压力值;在驾驶员未采取制动行为时,制动压力传感器输出的值为0。设
EBt=max(BPi) (5)
为制动特征值,其值为时间窗Wt内BPi的最大值。其中,BPi为时间窗Wt内第i个BP采样值。
(3)提取特征
现有研究资料表明,驾驶员在疲劳驾驶状态下对方向盘和制动器的操纵频度会明显有别于正常情况。因此采用SVM(核函数为径向基)对指定时间段内的转向与制动频度进行分析,以识别出异常。
SVM判别函数
其返回值Labt表示在t时刻车辆操纵行为是否异常(Labt=1表示异常,Labt=0表示正常)。
参数ωp和bp的训练方法为:
首先,表示清醒状态车辆操纵行为特征集和疲劳状态车辆操纵行为特征集:
设清醒状态车辆操纵行为特征集:
设疲劳状态车辆操纵行为特征集:
其中,CF为转向特征表示,EB为制动特征表示,Lab用来判断车辆操纵行为是否异常,Labt=1表示异常,Labt=0表示正常,上标c表示这是清醒状态下采集的样本,上标f表示这是疲劳状态下采集的样本;
其次,通过输入的训练样本和Lab值,迭代训练Fsvm的参数ωp和bp。
S3根据提取的轮廓特征点进行人脸疲劳特征抽取,并得到对应的疲劳驾驶样本集;
S31计算缩放因子
由于驾驶员在实际驾驶时,其脸部与摄像头的距离坐姿、座椅位置会发生变化,导致人脸特征点在欧式空间中的分布也发生变化,干扰后续基于特征点空间的人脸疲劳特征分析。以驾驶员在某一正常坐姿状态下的人脸特征点值为基准,采用公式(1)计算缩放比例因了
其中,x′i与y′i为基准人脸轮廓的第i特征点的x与y坐标值,xi与yi分别是实时获取的人脸轮廓第i特征点的x与y坐标值。
S32眯眼行为特征(公式2):
定义眯眼行为特征函数:
S33哈欠行为特征(公式3):
定义哈欠行为特征函数:
S4将人脸疲劳特征和车辆操纵行为特征融合,并构建疲劳风险指数模型,该模型的输出用于判断疲劳驾驶的可能性;
根据生理疲劳特点,本发明提出通过疲劳驾驶指数模型IP(t)实时描述t时刻的疲劳驾驶的程度。IP值越大表明疲劳驾驶可能性越大。由于提取的疲劳特征在时域上为数据流,难以获取完整的疲劳模式信息,因此采用冲击累积模型来构建疲劳驾驶指数模型。将眯眼和哈欠特征函数值作为冲击源,其对系统响应的作用力是离散的。而睡醒指数对系统响应的作用力是连续的,两者共同作用产生的系统响应为疲劳风险指数。定义IP(t)模型为
δΔswp(t)=swp(t)-swp(t*) (6)
其中,t为当前时刻,t*为t的上一个采样时刻,*为卷积运算符,swp(t)为t时刻的驾驶员睡醒指数,swp(t0)为基准时刻t0的swp值,δ为睡醒指数缩放因子。
驾驶员睡醒指数表示为:
swp(t)=10.9-0.6(S+C+U)
其中,
该值用于表征驾驶员睡醒后到当前时间的清醒程度;
该值为人体日节律指数;θ
1为清醒状态图中渐进线对应横轴坐标2.4的纵轴坐标值,θ
2为驾驶员的睡眠开始时刻,θ
3为中位值,θ
4为相位。清醒状态图是参考文献中提出的图。参考文献为:Torbjrn,kerstedt,and,Jennie,Connor,and,Andrew,Gray,and,Gran。Predicting road crashes from a mathematical model ofalertness regulation-The Sleep/Wake Predictor。
为了减轻偶发性的非疲劳性眨眼、交谈等行为对疲劳驾驶分析的干扰,采用衰减函数
和
降低其对疲劳驾驶指数的影响。
模型参数
基于疲劳驾驶样本集提取以下特征:
Cm和Cy分别为疲劳数据集中眯眼和哈欠的次数。模型参数值为:
因为眯眼事件的发生间隔为随机变量。
设
为驾驶员在疲劳状态下眯眼事件序列,
为k次眯眼特征值的累积和。
令
为眯眼特征值累加和大于P
ym的最小眯眼行为次数。
Nm,同上
如在tms时刻发生眯眼行为,在tmo内没有再次出现眯眼行为,则Fmv值应在tme时刻衰退至0,tme=tms+tmo,则
其中,mnz(Fmv)为Fmv的最小非0值。
同理,如在tys时刻发生眯眼行为,在tyo内没有再次出现眯眼行为,则Fyv值应在tye时刻衰退至0,tye=tys+tyo。则
S5判断驾驶员是否为危险驾驶,若是危险驾驶,则发出预警信号。
分别采集驾驶员在清醒和疲劳驾驶状态下的人脸轮廓特征点、转向角度值和制动压力值数据流样本。
原始样本来源于YawDD数据集和现场数据集。现场数据集的车辆驾驶环境为:车辆行驶道路中96%为直行车道,平均车速30-50km/h。人脸视频采样率为10HZ;车辆操纵行为数据流样本采样率为5hz,其采样时间窗长度默认值为10s。
设疲劳风险指数值IP的范围为[0,100],tmo=3600s,tyo=1800s。
取样本总量的90%用于模型参数估计,其在测试样本集上的疲劳驾驶平均识别精度达到86.23%,平均误报率为5.97%。
上述S1-S5的实现是基于多任务的操作系统,创建多个并发任务实现对车辆操控状态和驾驶员人脸状态等疲劳特征的实时提取和分析处理,如图1和图4中,任务A:实现人脸疲劳特征提取功能;任务B:实现方向盘和制动器操纵特征提取功能;任务C:实现疲劳驾驶识别和警示功能。
本发明同时对驾驶员脸部生理特征和车辆操纵行为特征进行抽取和融合,特征计算过程简单高效,人脸疲劳特征基于眼部和嘴部轮廓的几何比例变化状态进行分析,车辆操纵特征基于基本统计量进行分析。提出了疲劳指数模型,用于反映疲劳眯眼、哈欠与睡醒指数对疲劳驾驶程度估计的实现方法。该方法既保证了疲劳驾驶识别精度,也降低了非疲劳因素引起的眯眼、谈话、唱歌等事件产生的干扰,降低了误报率,且有更好的鲁棒性和实用性,有明显的现实意义和运用价值。
在该方法的基础上,还保护一种疲劳驾驶识别器,其安装在识别系统中,系统的输入部分由红外摄像头和车载OBD接口组成,红外摄像头负责实时采集驾驶员人脸红外图像数据,OBD接口负责从车辆CAN总线提取车辆的相关操控数据。两类数据传入疲劳驾驶识别器,由识别器驱动警示设备发出疲劳驾驶警告。如图3所示。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。