本发明涉及人体健康检测技术领域,特别是涉及一种基于毫米波雷达的非接触式驾驶员疲劳检测方法。
背景技术:
近年来,中国经济飞速发展,国民出行的交通方式由公共交通逐步衍变成私家车,与之伴随的是高居不下的交通事故发生率。造成交通事故发生的起因中,驾驶员人为因素不可小觑。据相关人士调查发现,高达30%的事故是由疲劳驾驶导致。倘若能有效检测出驾驶员发生困倦状态并向其发出预警,将会大大降低疲劳因素导致的交通事故。
现阶段智能识别驾驶员疲劳研究主要集中于驾驶员行为和车辆行为层面实现,但这类研究要考虑的如光照、天气等客观因素较多,方法缺少鲁棒性。解析驾驶员的生理信息受之前技术条件的限制,检测过程中需在驾驶员身上粘贴数量繁多的电极,由于车体狭窄,驾驶员舒适程度较低等因素,尽管此方法准确度较高,却难以在实车上应用。使用毫米波雷达无接触采集驾驶过程中驾驶员的生理信息后再后续解析,不仅可以实现生理信号的检测精度,还能灵活运用在车体上,打造便利的检查环境,在达到较高准确率的同时满足安全性和非接触性。
人体胸腔的震动是由于心脏和呼吸功能共同调节的,故毫米波雷达通过检测驾驶员的胸腔震动信息,可以从中解析出心跳频率与呼吸频率。由心跳变异性和呼吸频率可计算衍生的心率特征值和呼吸特征值,作为可靠的研究变量。后续运用当下效果较好的机器学习方法建立有效的疲劳状态检测模型,即可较好的预测出疲劳发生的时刻。
技术实现要素:
本发明的目的是运用毫米波雷达采集人体生理信息,然后建立有效通用的疲劳状态检测模型,解决普通仪器在检测时带来的高昂成本与人体不适性,灵活运用在车体上,通过使用改进的随机森林算法有效判定驾驶员疲劳发生时间并向其发出预警而降低交通事故发生率,保护人身安全与财产。
本发明的技术方案:
一种基于毫米波雷达的非接触式驾驶员疲劳检测方法,包括毫米波采集的数据处理、生理特征选取与分析、基于贝叶斯优化算法的改进随机森林算法判定疲劳状态;
所述的毫米波采集的数据处理,设计并开展疲劳驾驶模拟实验,实验过程中采集驾驶员的生理信息;对采集到的胸腔振动信号采取感兴趣相位跟踪并提取、解卷绕、带通滤波流程将心率信号与呼吸信号分离开,进而使用小波变换的方法计算两个生理信号各自的时频域值,由此得到心跳频率和呼吸频率;
所述的生理特征选取与分析:由分离出的心跳信号计算出心跳频率与心率变异性,进而根据心率变异性计算衍生的多样性参数;根据分离出的呼吸信号计算出呼吸频率,进而得到呼吸频率衍生的多样性参数;其次,确定选取的生理特征,找寻参数与时间的规律性;最后,使用统计学方法判断疲劳出现的时间;
所述的基于贝叶斯优化算法的改进随机森林算法:以贝叶斯优化算法作为超参数调优的算法,在维持随机森林算法查找全局最优解的速度下,提升随机森林算法的精确度;将采集到的生理数据按4:1划分成训练数据和测试数据,以判定出的驾驶员产生疲劳的时间给数据贴上标签,将数据输入随机森林算法中训练,保存训练好的模型,再以测试数据检验最终的测试结果;
具体步骤如下:
步骤一、选取15名22~25岁年龄层的实验人员开展疲劳驾驶模拟实验;实验开始前和实验结束后让实验人员填写疲劳调查问卷,验证长途驾驶前后人体的疲劳程度是否加深;实验过程中毫米波雷达不断向pc端传输采集到的数据,保存毫米波采集到的生理信息;首先将模拟信号转为数字信号,并对数字信号展开快速傅里叶变换,提取频段信息,在获取的频段范围内找寻最大阈值从而确定感兴趣的频段范围;77ghz毫米波雷达工作释放的波长已经达到由呼吸引起的波长3倍;为了更准确地测量出结果,防止相位跳变,对相位进行解卷绕处理;当连续相位的差值处于(-∞,-π)或(+π,+∞)时,需将其差值恢复为原始默认值(-π,+π)。采用两个不同频率的串联带通滤波器分别提取胸腔信号包含的心率和呼吸频域信息;由于人体静息心率在0.83~1.5hz(每分钟50至90次心跳)之间,故将分离心率信号的带通滤波频段设置为0.80-2.0hz,分离呼吸信号的带通滤波频段设置为0.1-1.0hz;求得分离心率信号的椭圆滤波器阶数为16阶,分离呼吸信号的椭圆滤波器阶数为10阶;分离出心率和呼吸各自的频谱后,采取谱估计方式计算心率和呼吸频率;谱估计方式采用小波变换,小波变换考虑信号的时域信息和频域信息;由于胸腔运动是连续曲线变化,所以采用连续小波变换,变换原理如下:
其中,w(t)为小波,f(t)为原始信号,平移长度设定为τ,a为尺度因子,ψ(t)为小波母函数。小波基采用morlet复小波(complexmorlet,cmor)对心跳信号进行分析;根据采样频率设置cmor小波中的fb-fc数值为7-7,得出心率和呼吸频率后,可计算出每分钟的心跳次数与呼吸次数;
步骤二、人体心脏跳动是以接连的qrs波组成的,故由心跳频率计算出心跳间隔rr,计算公式如下:
心跳间隔又名心跳变异性,计算由其衍生出的许多特征值;以5分钟为一节点,划分全部时长的生理数据;选取心率平均值、心率均方根差值rmssd、心率低频值lf、心率高频值hf、心率低频与高频的比值lf/hf、呼吸频率、心率与呼吸频率的比值七种特征值作为后续机器学习算法的输入,心率均方根差值rmssd的计算方法如下:
其中,n为正常心跳间隔数,rri+1为第i+1个rr间期,rri为第i个rr间期。频率范围在0.04-0.15hz的数据为心率低频值lf,频率范围在0.15-0.4hz的数据为心率高频值hf;为寻求七种生理特征随驾驶时间累积呈现的变化规律,对七种参数做线性回归,线性回归表达式为y=ax+b,回归结果得出拟合优度、截距、斜率和相关系数;使用学生t检验方法判别生理指标是否与疲劳具有显著判别性。样本t检验统计量计算方法如下:
其中,
步骤三、将此分类问题看做二分类问题,设置类别为正常和疲劳,根据步骤二中学生t检验结果为训练数据与测试数据贴上对应标签;训练初始的随机森林模型,根据训练误差的收敛趋势图与不断调试随机森林参数mtry,设置决策树数量为150,mtry值为8,完成初始模型的训练;应用贝叶斯优化算法需要指定需要优化参数与其初始范围值,随机森林算法中需要优化的四个参数为max_depth:决策树的最大深度;max_features:寻求每个节点最佳分割时考虑的特征数;min_samples_split:分割每个节点时所需的最少样本数;n_estimators:决策树数量。指定n_estimators初始范围为10~150,min_samples_split为2~10,max_features为0.1~0.999,max_depth为5~20;设置贝叶斯优化算法使用的采集函数为上置信边界,以auc(areaundercurve,roc曲线与坐标轴围成的面积)结果为评价指标依据不断优化,通过迭代方式选取出最优超参数,得出最终优化参数结果。最后以优化后的参数结果重新开始训练随机森林模型,并保存调试。
本发明的有益效果:
1.通过使用毫米波雷达可以达到无接触式采集驾驶员的生理信号,在满足精度要求的情况下可以为驾驶员营造舒适安全的正常行驶环境。
2.深入探究毫米波雷达工作原理,并制定适合的数据处理方案,成功将adc数据转换成所需求的频域信息,进一步求得心率信号与呼吸信号。
3.探究生理信号随时间的变化规律,证明了随驾驶时间的累积,人体的生理信号会呈现线性变化,也就是说,生理信号是可以直观反映出驾驶员疲劳的产生。
4.通过运用机器学习方法对疲劳和非疲劳的生理数据进行判别,可以实现较高的准确率,后续使用贝叶斯优化算法,提升超参数寻优的性能,提高算法检测的准确性,为他人超参数寻优提供新的思路。
附图说明
图1为本发明所述的一种基于毫米波雷达的非接触式驾驶员疲劳检测方法的流程图。
图2为本发明所述的毫米波采集数据预处理流程图。
图3为本发明所述的生理特征计算流程图。
具体实施方式
以下结合附图和技术方案,进一步说明本发明的具体实施方式。
参照图1,当进行毫米波雷达采集生理信号的实验时,进入步骤s100,开始。
步骤s100:将毫米波雷达布置在驾驶员身后座椅上或其他合适位置,将毫米波雷达与pc端进行连接,行车过程中不断向pc端传输数据。
步骤s101:获取毫米波雷达采集好的胸腔震动数据。
步骤s102:通过对获取的胸腔震动数据进行预处理。
步骤s103:从原始信号中滤波分离出心率信号和呼吸信号,
步骤s104:使用公式计算心率信号的衍生时域特征值。
步骤s105:使用小波变换法计算心率信号的衍生频域特征值。
步骤s106:使用公式计算呼吸信号的衍生时域特征值。
步骤s107:确定贝叶斯优化算法需要优化的随机森林超参数,并指定超参数所处范围。
步骤s108:使用预先标注好的同一驾驶员生理数据输入进随机森林算法,对训练好的随机森林模型加以保存。
步骤s109:对实时采集到的驾驶员生理数据不断传输进随机森林算法中进行判别当前驾驶员的疲劳程度。
步骤s110:结束毫米波雷达工作进程。
参照图2,数据预处理具体过程如下:
步骤s200:对毫米波雷达采集的原始信号做距离傅里叶变换rangefft。
步骤s201:找到并计算跟踪峰值的相位。
步骤s202:提取胸腔震动信号的主要相位范围值,滤去多余噪声相位。
步骤s203:对感兴趣频段的相位值进行解卷绕处理。连续相位的差值大于或小于±π时,对应相位值需±2π。
步骤s204:采用两个椭圆带通滤波器串联的方式分离心率和呼吸信号。
步骤s205:提取呼吸信号的带通滤波器频段设置成0.10-1.0hz。
步骤s206:完整的呼吸波形提取出来后,使用谱估计方式即可转换到呼吸信号的频域,从而计算呼吸频率。
步骤s207:提取心率信号的带通滤波频段设置成0.80-2.0hz。
步骤s208:完整的心跳波形提取出来后,使用谱估计方式即可转换到心跳信号的频域,从而计算心跳频率。
参照图3,生理特征获取具体过程如下:
步骤s300:获取毫米波雷达的原始数据。
步骤s301:对获得的原始数据进行解卷绕和带通滤波处理,将心率信号与呼吸信号进行分离。
步骤s302:使用相应公式计算心率信号的时域特征值——心率平均值和心率均方根差值rmssd。
步骤s303:使用小波变换方法计算心率信号的频域特征值——心率低频值lf、心率高频值hf、心率低频与高频的比值lf/hf。
步骤s304:使用相应公式计算呼吸信号的时域特征值——呼吸频率平均值和心率与呼吸频率的比值。
步骤s305:应用数学统计方法——学生t检验判定驾驶员产生疲劳的时间,进而对特征值划定标签。
显然,上述方法仅仅是为清楚地说明本发明涉及的案例,而并非对全部计算方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无需也无法对所有的实施方式予以穷举,而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。