2. 沈阳东软智能医疗科技研究院有限公司, 辽宁 沈阳 110167;
3. 东北大学 计算机科学与工程学院, 辽宁 沈阳 110169
2. Neusoft Research of Intelligent Healthcare Technology Co., Ltd., Shenyang 110167, China;
3. School of Computer Science & Engineering, Northeastern University, Shenyang 110169, China
随着汽车保有量的逐年增加, 日渐增多的交通事故已在世界范围内造成了巨大的人员伤亡以及财产损失, 因此, 如何减少交通事故已成为一个世界性的迫切需要解决的难题.在各国对导致交通事故原因的统计中, 疲劳驾驶均占有较大比重:在英国, 2015年度因疲劳驾驶导致的道路交通事故共有1 784起, 在驾驶者受伤或注意力分散类因素所致事故中所占比重约为15.38%[1]; 在美国, 2011年至2015年间共有4 121人在疲劳驾驶导致的道路交通事故中丧生[2], 因此如何监测疲劳驾驶的出现并及时阻止已成为一个世界范围的重要课题.
目前已经有多种用于监测疲劳驾驶的方法, 这些方法可被大致归为以下三类[3]:
1) 利用车辆的行为特征进行监测;
2) 利用驾驶员的行为以及面部表情进行监测;
3) 利用驾驶员的生理信号特征进行监测.
针对第一类监测方法, 目前有计算车辆行驶速度、前方车距、车道偏移等多种监测方法, 如美国ITERIS公司研制的利用CCD摄像头监测汽车行驶轨迹的AutoVue系统等.但由于受路况以及驾驶员驾车习惯等因素的影响, 此类监测方法的可靠性不如后两类监测方法.针对第二类监测方法, 目前有基于PERCLOS(percentage eye closure)特征、嘴部状态特征、瞳孔大小特征等多种监测方法, 这类监测方法通常需要利用各种摄像头采集图像信号或视频信号, 结合图像处理技术提取相关特征以达到监测目的.该类监测方法更容易达到更高的准确率, 但存在易受光照条件影响, 对系统计算能力要求高等问题.而针对第三类监测方法, 目前脑电信号(electroencepha-lography, EEG)、眼电信号(electrooculography, EOG),以及心电信号(electrocardiography, ECG)等多种生理信号已被证明与疲劳之间存在直接或间接关系.针对该监测方法, 目前市场上已有成熟且便携的可测量多种生理信号的产品, 如新西兰Apex Medical公司研制的Embla系统等.心电信号是心脏电活动的一种客观表现, 代表着心脏在兴奋发生、传导和恢复过程中的电位变化, 反映了心脏的工作状态.近年来, 人们发现心电信号除了可被应用于心脏疾病诊断以外, 还可用于情绪辨别, 如心理压力的检测, 同时也可用于身份辨别等[4].由于心电信号不易受外界环境, 如光照条件等影响, 且其采集较脑电信号更方便, 加之具备非侵入性、成本低廉、市场已有成熟方案等[5]优势, 本算法选用了心电信号.针对基于心电信号的疲劳驾驶检测算法, 最常用的手段为通过计算心率变异性(heart rate variability, HRV)指标以判断驾驶者是否进入疲劳驾驶状态[6].心率变异性是指心脏搏动周期存在的微小变异现象, 心率变异性可作为反映心脏交感神经和迷走神经活动紧张性和均衡性的一种非侵入性重要指标.然而该方法需要待分析的信号时长至少5 min, 不利于现实中疲劳驾驶监测系统的快速响应.本文设计了一种将多种时域/频域特征及经过预训练深度卷积神经网络模型提取的短时心电信号相关特征相结合, 并利用随机森林进行分类的疲劳驾驶检测算法.
1 数据和信号处理 1.1 数据本算法的数据来源为比利时列日大学的Drozy数据库[7], 该数据库于2016年发布, 可用于疲劳驾驶检测.14名受试者分别在第一天的10:00~11:00, 第二天的3:30~4:00, 第二天的12:00~12:30采集相关生理信号.实验中受试者被禁止摄入咖啡、茶以及其他任何兴奋剂或含有兴奋剂的饮料, 受试者被剥夺的睡眠时长在28~30 h.本系统仅选用了数据库中的心电信号(采样频率512 Hz, 每个受试者每次均采集10 min的心电信号), 同时为使疲劳驾驶状态与非疲劳驾驶状态的区别最大化, 仅将第一天的10:00~11:00采集到的数据认定为非疲劳驾驶状态下的样本数据, 第二天的12:00~12:30采集到的数据认定为疲劳驾驶状态下的样本数据.为尽可能获取到更多的样本, 本次实验按照0~30 s, 15~45 s, 30~60 s……的规律截取短时心电信号序列.
1.2 短时心电信号的噪声样本剔除目前, 常用的QRS波群检测方法有:差分阈值法、模板匹配法、小波变换法以及神经网络法等[8].本算法采用了差分阈值法以获取R-R间期序列, 理由是该算法简单, 对计算性能要求低, 易于工程实现.而在心电信号测量时, 因受试者呼吸等多种因素影响, 仪器最终测得的心电信号可能包含噪声.由于在对心电信号进行特征提取前需要得到心电信号的R-R间期序列, 而这些噪声可能会导致最终得到的R-R间期序列包含非R波峰间的差值, 进而导致特征的计算结果出现误差甚至无法得出结果, 因此在特征提取前必须将对R-R间期序列提取造成影响的含噪声的心电信号样本从样本数据中剔除.相关研究已经证明可以通过为R-R间期差值设置阈值以达到滤除噪声样本的目的[9], 由于正常的心率所对应的R-R间期差值不可能大于2 s, 因此将阈值设置为0~2 s, 本算法通过对信号进行三阶微分以确定R波的位置, 并计算相邻的R-R间期差值, 若差值序列内存在大于2 s的值, 则将该信号筛去.最终, 在筛去噪声样本数据后, 得到了715个样本用于特征提取, 其中包含301个非疲劳驾驶状态的样本以及414个疲劳驾驶状态的样本.
2 特征及其提取本算法的特征及其提取分为两部分, 分别是计算时域/频域特征以及利用预训练卷积神经网络模型提取特征.其特征提取流程如图 1所示.
心率变异性分析的多个指标, 如SDNN, HF, LF等已被证明与疲劳之间存在联系[10].受心率变异性分析启发, 为短时心电信号序列设置了5个时域特征和3个频域特征, 分别为心率(HR)、总体标准差(SDNN)、差分均方根(RMSSD)、相邻间期差值>50 ms的个数(NN50)、相邻间期差值>50 ms的百分比(PNN50)、低频段的功率(LF)、高频段的功率(HF)以及低频段与高频段的功率比值(LF/HF).LF指R-R间期序列的功率谱在0.04~0.15 Hz频段的功率, HF指R-R间期序列的功率谱在0.15~0.4 Hz频段的功率.
HR的计算公式可表示为
(1) |
式中:RRi为R-R间期差值; RR为平均R-R间期差值.
SDNN的计算公式可表示为
(2) |
RMSSD的计算公式可表示为
(3) |
卷积神经网络已经在图像、视频甚至音频等领域得到了成功应用.在2012年, Krizhevsky等提出了一种新型的深度卷积神经网络并对ImageNet LSVRC-2010比赛中的图像数据集进行训练, 并最终在ILSVRC-2012比赛中得到了最佳的分类结果[11].在随后几年里, 基于Krizhevsky等提出的深度卷积神经网络的改进模型如VGG, GoogLeNet等相继出现并在ILSVRC比赛中得到了越来越好的结果.然而深度卷积神经网络在训练时往往需要大量的数据集以避免出现过拟合现象, 在现实运用模型时, 有标签的样本数据往往十分匮乏且难以获取.因此, 为了将深度卷积神经网络模型运用于小规模数据集, 本算法尝试引入了迁移学习, 即运用预训练卷积神经网络模型以提取特征.
近年来, 迁移学习已被运用于图像、文字甚至房颤心电信号的分类任务并取得了不错的结果[12-14].迁移学习放宽了传统机器学习中的两个基本假设[15]:
1) 用于学习的训练样本与新的测试样本满足独立同步分布;
2) 必须有足够可用的训练样本.
本算法采用了Inception_V3[16]模型并使用ImageNet数据集进行预训练以提取特征.该模型的网络结构庞大, 除了常规的卷积层以外, 还包含有多个混合层、池化层以及最大池化层.由于ImageNet数据集规模庞大, 运用该数据集训练的网络模型往往具备更好的迁移能力以及泛化能力[17], 因此本算法使用了基于该数据集的预训练模型.同时, 为了更好对比Inception_V3预训练模型提取的特征的分类效果, 本文还选取了同样基于ImageNet数据集的VGG-16预训练模型以提取特征.
卷积神经网络自诞生伊始, 便是以二维数据作为模型的输入内容.基于卷积神经网络在特征提取方面的优势, 目前已有多种将一维的信号输入到网络中的方法, 如对神经网络模型进行改进以适应一维信号或通过快速傅里叶变换等方法将一维信号映射至二维等.本算法通过对心电信号序列进行短时傅里叶变换以将一维信号映射至二维, 理由是短时傅里叶变换相较于快速傅里叶变换而言, 保留了更多的信息, 如时域特征等.在将短时傅里叶变换后获取的二维数据输入预训练模型后, 得到了512个特征以进行进一步分类.
在预训练模型完成特征提取后, 需要将这些特征与时域/频域的8个特征相结合并进行分类.为均衡预训练模型所提取特征与时域/频域特征对分类结果产生的影响, 同时为保证在对特征降维时不会损失过多的信息, 本算法采用了等度量映射(Isomap)的方法[18]将神经网络提取的512个维度特征降至8个维度, 即与时域/频域特征维度相同.等度量映射利用了流形学习的方法.高维空间中的直线距离在低维嵌入流形上是不可达的, 因此等度量映射需要找到高维空间中的真正距离去度量, 即在降维时保持样本间的距离不变, 且基于样本之间的欧式距离找出最近邻点.依据所有点的近邻接点信息建立近邻接图, 进而将非近邻点距离的计算转化为近邻接图内相应两点的最短路径问题.在得到两点之间的距离后, 再利用基本的线性降维方法(如本实验中的MDS)进行降维, 最终输出8维特征.
3 分类器设计在运用预训练模型提取特征时, 输入的是原始信号, 即并未对信号进行降噪.另外, 在计算时域/频域特征时, 某些样本的计算结果会不可避免地产生误差.因此选择一个合适的分类器显得尤为重要.
基于上述原因, 设计了一种随机森林(random forest, RF)分类器[19], 它是由装袋算法(bagging)衍生的集成学习分类器.装袋算法使用重采样的方式, 即从给定的样本集合中有放回地随机抽取一定数量的样本.每次重采样的样本都会用来训练一个决策树的基分类器, 最后对训练出的多个基分类器用多数投票机制选择最合适的作分类预测.随机森林分类器以装袋算法为基础, 在对基分类器进行训练时随机选择决策树节点的部分属性作为子集, 并在子集中选择最优属性用于划分.由于以上存在两种具有随机性的特点, 使得随机森林分类器具有非常好的鲁棒性, 且随着基分类器数量的增加, 随机森林分类器通常会收敛到较低的泛化误差.
4 结果为更好地对比Inception_V3预训练模型所提取的特征的分类结果, 本文对比了VGG-16预训练模型和Inception_V3预训练模型提取的特征运用等度量映射降维后在随机森林分类器和支持向量机(support vector machine, SVM)下的分类结果, 并使用准确率(ACC)以及F1-score作为衡量标准.分类结果如表 1所示, 可以看出两种预训练模型所提取的特征都取得了较好的分类结果.相较于VGG-16预训练模型所提取特征的分类结果而言, Inception_V3预训练模型所提取的特征在SVM以及RF两种分类器下都得到了更好的分类结果.除此之外, 相较于SVM而言, RF分类器的F1-score在两次分类结果中均取得了更高的数值, 这代表着在面对神经网络提取的特征时, RF分类器的综合性能是优于SVM的.
为进一步提升分类效果, 加入了人工提取的时域/频域特征, 将其与降维后的预训练模型提取的特征共同训练, 分类结果如表 2所示.为便于表达, 表中时域/频域特征用T/F指代.可以看出, 由于部分时域/频域特征存在误差, SVM在使用VGG-16预训练模型所提取的特征与时域/频域特征共同训练后, 其准确率以及F1-score均出现了下降; 而RF分类器的分类结果在两种衡量标准下都取得了相较于SVM而言更好的结果.尤其在使用Inception_V3预训练模型所提取的特征与时域/频域特征共同训练后, 准确率达到了最大值0.91.这进一步证明了RF分类器相较于SVM而言在面对噪声样本时具有更高的鲁棒性.
本文使用ImageNet数据集预训练的深度卷积神经网络模型在对短时心电信号进行短时傅里叶变换所得到的数据上具备良好的迁移性, 因此将迁移学习运用于基于短时心电信号的疲劳驾驶检测上是可行的.相较于传统的SVM而言, RF分类器在识别基于心电信号特征的疲劳驾驶检测时具有更高的精度.
[1] |
Department for Transport.Reported road casualties Great Britain: 2015 annual report[EB/OL].(2016-06-30) [2018-05-24].https://www.gov.uk/government/statistics/reported-road-casualties-in-great-britain-main-results-2015.
|
[2] |
National Highway Traffic Safety Administration.Traffic safety facts crash stats: drowsy driving 2015[EB/OL].(2017-10-15) [2018-06-29].https://crashstats.nhtsa.dot.gov/Api/Public/ViewPublication/812446.
|
[3] |
Reddy B, Kim Y H, Yun S, et al.Real-time driver drowsiness detection for embedded system using model compression of deep neural networks[C]// Computer Vision and Pattern Recognition Workshops.Honolulu, 2017: 438-445.
https://www.researchgate.net/publication/319283901_Real-Time_Driver_Drowsiness_Detection_for_Embedded_System_Using_Model_Compression_of_Deep_Neural_Networks |
[4] |
Berkaya S K, Uysal A K, Gunal E S, et al.
A survey on ECG analysis[J]. Biomedical Signal Processing and Control, 2018(43): 216–235.
|
[5] |
Sannino G, Pietro G D.
A deep learning approach for ECG-based heartbeat classification for arrhythmia detection[J]. Future Generation Computer Systems, 2018, 86(9): 446–455.
|
[6] |
袁翔, 孙香梅.
疲劳驾驶检测方法研究进展[J]. 汽车工程学报, 2012, 2(3): 157–164.
( Yuan Xiang, Sun Xiang-mei. Development of driver fatigue detection method research[J]. Chinese Journal of Automotive Engineering, 2012, 2(3): 157–164. DOI:10.3969/j.issn.2095-1469.2012.03.001 ) |
[7] |
Massoz Q, Langohr T, Francois C, et al.The ULg multimodality drowsiness database(called DROZY) and examples of use[C]// 2016 IEEE Winter Conference on Applications of Computer Vision.New York: IEEE, 2016: 1-7.
https://www.researchgate.net/publication/303563949_The_ULg_multimodality_drowsiness_database_called_DROZY_and_examples_of_use |
[8] |
Köhler B U, Hennig C, Orglmeister R.
The principles of software QRS detection[J]. IEEE Engineering in Medicine and Biology Magazine, 2002, 21(1): 42–57.
DOI:10.1109/51.993193 |
[9] |
Bruun I H, Hissabu S, Poulsen E S, et al.Automatic atrial fibrillation detection: a novel approach using discrete wavelet transform and heart rate variability[C]// The 39th Annual International Conference of the IEEE Engineering in Medicine and Biology Society.Jeju Island, 2017: 3981-3984.
https://www.ncbi.nlm.nih.gov/pubmed/29060769 |
[10] |
Piotrowski Z, Szypulska M.
Classification of falling asleep states using HRV analysis[J]. Biocybernetics and Biomedical Engineering, 2017, 37(2): 290–301.
|
[11] |
Krizhevsky A, Sutskever I, Hinton G E.ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems.Stateline: Curran Associates Inc, 2012: 1097-1105.
https://www.researchgate.net/publication/267960550_ImageNet_Classification_with_Deep_Convolutional_Neural_Networks |
[12] |
陈炳超, 洪佳明, 印鉴.
基于迁移学习的图分类[J]. 小型微型计算机系统, 2011, 32(12): 2379–2382.
( Chen Bing-chao, Hong Jia-ming, Yin Jian. Transfer learning for graph classification[J]. Journal of Chinese Computer Systems, 2011, 32(12): 2379–2382. ) |
[13] |
Yang Q.Transfer learning beyond text classification[C]// Asian Conference on Machine Learning: Advances in Machine Learning.Berlin: Springer-Verlag, 2009: 10-22.
https://link.springer.com/chapter/10.1007%2F978-3-642-05224-8_3 |
[14] |
Bazi Y, Alajlan N, Alhichri H, et al.Domain adaptation methods for ECG classification[C]// 2013 International Conference on Computer Medical Applications.Sousse: IEEE, 2013: 1-4.
https://www.researchgate.net/publication/261082828_Domain_adaptation_methods_for_ECG_classification |
[15] |
庄福振, 罗平, 何清, 等.
迁移学习研究进展[J]. 软件学报, 2015, 26(1): 26–39.
( Zhuang Fu-zhen, Luo Ping, He Qing, et al. Survey on transfer learning research[J]. Journal of Software, 2015, 26(1): 26–39. ) |
[16] |
Szegedy C, Vanhoucke V, Ioffe S, et al.Rethinking the inception architecture for computer vision[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas: IEEE, 2016: 2818-2826.
https://www.researchgate.net/publication/285648386_Rethinking_the_Inception_Architecture_for_Computer_Vision?ev=auth_pub |
[17] |
Donahue J, Jia Y Q, Vinyals O, et al.DeCAF: a deep convolutional activation feature for generic visual recognition[C]// The 31st International Conference on Machine Learning.Beijing, 2014: 647-655.
https://www.researchgate.net/publication/319770357_DeCAF_A_Deep_Convolutional_Activation_Feature_for_Generic_Visual_Recognition |
[18] |
Balasubramanian M, Schwartz E L.
The Isomap algorithm and topological stability[J]. Science, 2002, 295(5552): 7–8.
DOI:10.1126/science.295.5552.7a |
[19] |
Breiman L.
Random forest[J]. Machine Learning, 2001, 45: 5–32.
DOI:10.1023/A:1010933404324 |