一种基于决策树的行人运动模态识别方法 | ![]() |
近年来,随着科技的快速发展,微机电系统(micro-electro-mechanical system, MEMS)在智能手机上的应用越来越广泛,利用手机传感器对行人进行导航定位成为行人自主导航的主要方式[1]。目前,行人自主导航系统的算法大多基于单一姿态进行定位推算,能够得到较为稳定的结果,但是由于行人运动状态和手机位置的多样性,存在行人与手机运动状态不一致的问题,使得手机传感器数据无法反映行人的运动特征,从而导致行人导航算法的定位结果产生错误。因此,有必要对行人的运动模态进行识别,基于手机的传感器数据来进行行人运动模态识别也逐渐成为一个活跃的研究领域。
通过手机中的传感器可以获取行人的运动信息,结合特征提取及机器学习领域的分类方法,可以识别行人的运动模式[2, 3]。模式识别常用的分类方法有决策树[4]、支持向量机[5]、朴素贝叶斯[6]等。文献[7]基于MEMS加速度计信号,采用朴素贝叶斯、决策树、K最近邻分类算法对人体运动模式进行了识别,在3种算法中,决策树分类器的性能表现最好;文献[8]基于BP神经网络对人体行为模态进行了识别,模型的识别准确率高于90%,但是BP神经网络模型的收敛速度较慢,且容易陷入局部极小值;文献[9]利用MEMS传感器数据构建了一种决策树分类器,能够准确识别摆臂和非摆臂姿态,分类准确率高于95%,但是并没有提及如何对模型的泛化性和稳定性进行评估;文献[10]根据背景差分法提取目标,接着将目标二值化,通过阴影去除、膨胀、腐蚀等一系列图像预处理得到运动目标;文献[11]通过获取语义信息并基于卷积神经网络(convolutional neural network, CNN)来识别目标体当前的状态行为(选取4种状态:即静止、车行、步行和其他),进而为室内定位提供依据不同运动状态实现相应定位切换的方法。
基于此,本文以智能手机内置的MEMS惯性传感器为硬件基础,提出了一种基于决策树的行人运动模态识别方法。该算法首先对原始数据进行预处理,然后提取特征值,基于决策树模型对行人的4种运动模态进行了判别。该算法的可解释性高,分类速度较快,并结合k折交叉验证(k-fold cross-validation)法对决策树模型的泛化性和稳定性进行了评估,实验结果表明,该算法能够准确识别4种运动模态。
1 模态定义在现实生活中,行人会经历各种各样的运动,如静止、步行、跑步等,与此同时,携带的智能手机也会经历许多不同的状态,如手持通话、手持摆臂、置于裤兜等,因此,行人运动与智能手机状态这两者的任意组合都有可能出现。本文给出了绝对静止、通话步行、摆臂步行以及裤兜步行这4种运动模态的定义,以便更好地表示用户携带智能手机的几个典型状态。
1)绝对静止是指用户和智能手机都处于静止状态的情形。此时,手机MEMS惯性传感器的输出数据基本稳定,波动较小。
2)通话步行是指用户手持智能手机,一边步行,一边接听电话。此时,手机移动设备的状态接近于静止。
3)摆臂步行是指用户手持智能手机步行,并在行走时伴随着摆臂动作。
4)裤兜步行是指将智能手机放置于用户裤子的口袋中,并持续步行的情形。
2 决策树模型 2.1 算法流程本文的算法流程如图 1所示。整个算法分为两部分:训练和分类。在训练过程中,对原始数据预处理后,进行特征选择以得到合适的特征值,然后代入决策树模型进行训练,训练时结合k折交叉验证方法,根据分类准确率选择最优的决策树模型作为最终的分类器。训练完成后,对数据集进行分类,得到模态识别结果。
![]() |
图 1 算法流程图 Fig.1 Flow Chart of the Algorithm |
2.2 数据预处理
由于传感器的原始输出数据含有噪声,因此首先需要对原始数据进行预处理,继而开展下一步。人体运动时,加速度计和陀螺仪输出数据的主频率通常低于15 Hz[12],因此对原始数据进行低通滤波。
巴特沃斯低通滤波器的幅频特性如图 2所示,其中,ωp、ωs分别表示通带边界频率以及阻带截止频率。通过傅里叶变换对数据进行频域分析,可以设定滤波器的各项参数。
![]() |
图 2 巴特沃斯低通滤波器幅频特性 Fig.2 Frequency Response Curve of Butterworth Low-Pass Filter |
本文设定数据采样率为100 Hz,依次采集4种模式的传感器数据,每种模式时长2 min,根据变换后得到的数据频率特征,设定巴特沃斯低通滤波器的采样率为100 Hz,通带边界频率为15 Hz,阻带截止频率为30 Hz,滤波结果如图 3、图 4所示。
![]() |
图 3 三轴陀螺仪数据低通滤波结果 Fig.3 Signals of Tri-axis Gyroscope Before and After Butterworth Low-Pass Filter |
![]() |
图 4 三轴加速度计数据低通滤波结果 Fig.4 Signals of Tri-axis Accelerometer Before and After Butterworth Low-Pass Filter |
2.3 特征提取
本文将原始数据经低通滤波后,进行了取模处理,随后进行特征选择。采集100 Hz下的4种不同模态的手机MEMS传感器数据,每种模态2 min,经数据预处理之后,进行取模运算。设置滑动窗口长度为100,滑动窗口间隔为30,以加速度计为例,得到输出数据的能量序列,如图 5所示。根据图像可以看出,由于运动强度不同,绝对静止、通话步行模态的能量较低,而摆臂步行、裤兜步行模态的能量较高,存在明显差异,因此,可以选取信号能量作为特征值来进行模态识别。
![]() |
图 5 不同模态的加速度计输出能量序列 Fig.5 The Energy Distribution of Accelerometer Signals in Different Motion Modes |
与此类似,本文提取了数据的不同特征值,并从中选择能够显著区分不同运动模态的特征值作为分类依据,最终选取的特征值如表 1所示。
表 1 特征值 Tab.1 Feature Values |
![]() |
2.4 决策树训练与测试
1)代价复杂度剪枝。在构建决策树的过程中,如果不进行剪枝操作,决策树会不断生长,直至每一个叶子节点所包含的训练样本都属于同一类,使得根据决策树模型对测试数据集进行分类时,分类效果远不及训练集,造成过拟合现象。因此,需要对决策树进行剪枝,以获得大小合适、误分率低的子树,使得模型更具泛化能力。本文采用代价复杂度剪枝(cost-complexity pruning, CCP)算法进行剪枝。CCP算法由Olshen等[13]在1984年首次提出,是一种后剪枝方法。根据CCP算法对原始决策树修剪得到决策树的集合,然后在集合中选择最优的决策树作为最终分类器。
2) k折交叉验证。在机器学习建模过程中,通常将数据集分为训练集和测试集,训练集用来构建模型,测试集用来评价模型。现实中,数据总是有限的,为了充分利用数据,采用交叉验证的方法评估模型的泛化性和稳定性,让模型的输出更加可靠。k折交叉验证的基本思想是:首先将全部训练数据分为k个不相交的子集,每次取其中一个子集作为验证集,其他k-1个子集作为训练集,交叉验证k次,根据训练集得到模型,然后利用验证集对模型进行预测,得到分类准确率,用这k个模型的平均分类准确率作为该分类器的最终性能指标。一般还会进行多次k折交叉验证求均值,以求更加精确,本文采用10次10折交叉验证。
3)模型评价指标。在机器学习领域,混淆矩阵(confusion matrix)又称为可能性表格或者误差矩阵,用来衡量分类模型分类的准确程度,呈现算法性能的可视化效果。其中,矩阵的每一列表示模型的预测值,每一行表示实际类别。对于二分类问题模型,其混淆矩阵如表 2所示。
表 2 二分类(A、B)模型混淆矩阵 Tab.2 Confusion Matrix of Binary Classification (Class A, B)Model |
![]() |
表 2中,TP表示实际和预测的类别都是A; FP表示实际类别是A,模型预测类别是B; FN表示实际类别是B,预测类别是A; TN表示实际和预测的类别都是B。因此,模型的准确率为:
$ \text { Accuracy }=\frac{\mathrm{TP}+\mathrm{TN}}{\mathrm{TP}+\mathrm{FP}+\mathrm{FN}+\mathrm{TN}} $ |
如图 6所示,本文利用OPPO K1智能手机作为数据采集装置,在宽阔的广场上采集了绝对静止、通话步行、摆臂步行以及裤兜步行4种模态下的手机MEMS惯性传感器数据,共约12万个样本,分为训练集和测试集(约17.5%)。
![]() |
图 6 数据采集过程示意图 Fig.6 Schematic Diagram of Data Collection |
对采集的原始数据预处理后,进行取模处理,然后计算相应特征值,包括信号能量、方差、均值、最大值及最小值,将这些特征代入决策树模型进行训练,再对训练所得的决策树进行CCP剪枝,继而选取最优决策树。在训练过程中,采用10次10折交叉验证方法,得到模型的分类准确率如图 7所示。
![]() |
图 7 模型分类准确率 Fig.7 Classification Accuracy of the Model |
由图 7可以看出,决策树模型分类准确率最低为97.69%,最高达98.34%,将这100个模型分类准确率求均值,得98.07%,即决策树模型的经验分类准确率为98.07%。10次10折交叉验证之后,选择其中最优的决策树模型。然后使用构建好的模型,对所有训练数据进行预测,根据预测结果评估模型精度,得到混淆矩阵如表 3所示。
表 3 所有训练数据混淆矩阵 Tab.3 Confusion Matrix of All Training Data |
![]() |
根据图 7可知,4种运动模态的分类准确度均高于98.56%,整体的分类准确率为99.35%。然后,再将原先预留的测试集代入此决策树模型进行分类,进一步评估模型的预测性能,可得到混淆矩阵如表 4所示。
表 4 测试集混淆矩阵 Tab.4 Confusion Matrix of Testing Data |
![]() |
通过表 3、表 4可以发现,4种运动模态中,绝对静止的分类准确率最高,没有发生错误分类的情况,这是因为静止时,惯性传感器的输出值较小且稳定,与其他模态的输出值有明显差异,所以能够很好进行区分。此外,计算求得测试集的分类准确率均高于93.73%,整体准确率为97.23%,说明构建的决策树模型能够很好地对行人的运动模态进行识别。
4 结束语本文根据智能手机采集的MEMS惯性传感器数据,结合决策树算法对行人运动4种模态进行了识别。通过对原始数据预处理之后,提取特征值,采用10次10折交叉验证法对模型进行验证,从而得到100个分类模型,选择其中的最优决策树模型,将所有训练数据代入模型分类,得到整体的分类准确率为99.35%,之后将测试集代入此模型,得到整体准确率为97.23%。模型具有很好的识别效果,可为增强PDR(pedestrian dead reckoning)算法在复杂运动下的可靠性提供帮助。
[1] |
基于PDR、WiFi指纹识别、磁场匹配组合的室内行人导航定位[J]. 测绘地理信息, 2016, 41(3): 29-32. |
[2] |
Chen Y, Shen C. Performance Analysis of Smartphone-Sensor Behavior for Human Activity Recognition[J]. IEEE Access, 2017, 5: 3 095-3 110. DOI:10.1109/ACCESS.2017.2676168 |
[3] |
Li Y, Xue D, Forrister E, et al. Human Activity Classification Based on Dynamic Time Warping of an On-Body Creeping Wave Signal[J]. IEEE Transactions on Antennas & Propagation, 2016, 64(11): 4 901-4 905. |
[4] |
Uddin M T, Billah M M, Hossain M F. Random forests Based Recognition of Human Activities and Postural Transitions on Smartphone[C]. International Conference on Informatics. IEEE, Mataram, Indonesia, 2016
|
[5] |
Cheng W C, Jhan D M. Triaxial Accelerometer-Based Fall Detection Method Using a Self-Constructing Cascade-AdaBoost-SVM Classifier[J]. IEEE Journal of Biomedical and Health Informatics, 2013, 17(2): 411-419. DOI:10.1109/JBHI.2012.2237034 |
[6] |
Goumas S K, Zervakis M E, Stavrakakis G S. Classification of Washing Machines Vibration Signals Using Discrete Wavelet Analysis for Feature Extraction[J]. IEEE Transactions on Instrumentation & Measurement, 2002, 51(3): 497-508. |
[7] |
Susi M, Borio D, Lachapelle G. Accelerometer Signal Features and Classification Algorithms for Positioning Applications[C]. International Technical Meeting of the Institute of Navigation, Portland, USA, 2011
|
[8] |
基于多传感器时域特征的实时人体行为识别[J]. 中国惯性技术学报, 2017, 25(4): 455-460. |
[9] |
Susi M, Renaudin V, Lachapelle G. Motion Mode Recognition and Step Detection Algorithms for Mobile Phone Users[J]. Sensors(Basel, Switzerland), 2013, 13(2): 1 539-1 562. DOI:10.3390/s130201539 |
[10] |
基于视频的行人检测跟踪与统计算法研究[J]. 测绘地理信息, 2019, 44(3): 88-93. |
[11] |
利用CNN实现室内人行/车行定位方法切换下的行为状态识别[J]. 测绘地理信息, 2020, 45(3): 70-74. |
[12] |
Mathie M J. Monitoring and Interpreting Human Movement Patterns Using a Triaxial Accelerometer[D]. Sydney, Australia: University of New South Wales, 2003
|
[13] |
Olshen R, Breiman L, Friedman J, et al. Classification and Regression Trees[M]. New York: Chapmanand Hall, 1984.
|