2. 精密工程与工业测量国家测绘地理信息局重点实验室, 湖北 武汉 430079
2. Key Laboratory of Precise Engineering and Industry Surveying, NASMG, Wuhan 430079, China
目前,运动模式识别领域主要是基于影像或传感器两种方式[1-2]。近几年来随着微机电系统(MEMS)在智能手机上的应用,大大促进了基于手机传感器的运动模式识别的研究。运动模式识别除了在健康保障领域有广阔的应用前景外,在室内定位方面也有较广泛的应用[3]。
室外定位可以通过全球卫星导航系统(GNSS)解决,而室内环境没有可用的GNSS信号,故发展室内定位技术变得非常重要。行人航迹推算(PDR)(室内定位方法)受行人运动模式影响很大,室内环境下,不仅要求一个便携式导航定位设备成本低功耗低,还需要在人体不同运动模式下的定位结果具有稳健性和可用性[4],因为在不同运动模式下需要不同的算法和约束条件。如步行时,要执行行人航迹推算算法[5];坐扶梯或走楼梯时,可以与地图进行匹配[6];坐厢梯时,平面位置不变,只需改变行人高度[7]等。
模式识别领域常用的分类方法有决策树[8]、人工神经网络[9]、朴素贝叶斯[10]、支持向量机[11]等。支持向量机具有高分类精度,对噪声具有稳健性的特点,是目前最好的分类方法之一[4]。Tran等[12]利用支持向量机对行人运动模式识别,但是没有考虑到上/下厢梯和上/下扶梯模式;张毅等[13]只是对特定人群老人的运动模式进行识别,没有普适性;路永乐等[14]用MEMS作为运动模式识别的数据采集工具,与智能手机相比不易推广。本文研究了线性SVM对室内常见的几种行人运动模式的识别。图 1为本文要识别的行人运动模式:静止、行走、上/下楼梯、上/下厢梯、上/下扶梯。
![]() |
图 1 行人运动模式 |
支持向量机是一种二元分类模型,基本模型定义为特征空间上的间隔最大的线性分类器[15]。支持向量机包含有核函数,本文探讨线性核函数支持向量机分类,具体原理如下:
假设有{(x1, y1), (x2, y2), …, (xn, yn)}这样一个训练数据集,yi(i=1, 2, …, n)等于1或-1,用来表示xi属于不同类别。xi是由不同特征组成的向量。SVM是要找出一个超平面(hyperplane)f(xi)=w·xi+b,这个超平面可以将数据分为两个部分(如图 2(a)所示),每部分同属一类,其实这样的超平面有很多,要找到一个如图 2(b)所示的最佳超平面。
![]() |
图 2 二元SVM分类示意图 |
因此增加一个约束:这个超平面到每边最近数据点的距离是最大的,这个分类器就是最大间隔分类器。两类的最大几何间隔可以用

式(1)中的两个方程组合得到

在尽量避免数据点落入间隔的同时,需要忽视一些偏差比较大的数据。因此需要考虑损失函数(loss function), 即

兼顾超平面间隔和损失函数,需要使下式最小(C是惩罚参数)

最小化式(4)之后,便可得到w和b值,进而利用下式进行分类

分类过程分为两个步骤:获取数据样本,分类器训练与测试。
2.1 获取数据样本图 3是获取数据样本过程,分为原始数据的输入、数据预处理、特征提取3个步骤。
![]() |
图 3 获取数据样本流程 |
利用小米4智能手机采集原始数据,手机包含三轴加速度计、三轴陀螺仪、三轴磁力计和气压计等传感器。本文需要用到加速度计获取的三轴加速度和气压计获取的气压值作为行人运动模式分类依据。
2.1.2 数据预处理很多时候,从传感器获得的部分原始数据对于运动模式识别效果不理想[16],这就需要对原始数据进行预处理,如x轴方向的加速度在主要运动方向为其他轴的情况下对识别效果贡献不大,但是利用三轴加速度的范数或把加速度归算到水平、竖直方向上对识别效果更有意义。数据预处理后的结果称为变量。
2.1.3 特征提取表 1列举的是从数据预处理之后的变量提取出来的特征。本文利用统计特征作为运动分类依据。在进行分类时,加入13种统计特征。由于大气压绝对值受温度、湿度等影响,其值不能反映局部高度变化,故采用大气压梯度作为统计特征。
特征 | 描述 |
均值 | ![]() |
方差 | ![]() |
标准差 | ![]() |
众数 | 数据集中出现频率最大的数值 |
中位数 | 数据按大小顺序排列处在中间的数值 |
平均绝对误差 | ![]() |
第三四分位数 | 数据由小到大排列处在第三分割点位置的数值 |
四分位距 | 第三四分位数和第一四分位数的差值 |
梯度(仅针对气压) | 气压数据一阶导数 |
产生最终样本后,按照图 4所示流程执行分类器训练与测试。首先把样本分成两个部分:训练数据(80%)和测试数据(20%),选取的13个特征用来训练分类器,分类器的好坏可利用测试数据测试。具体解释如下:
![]() |
图 4 分类器训练与测试 |
在训练线性SVM时,需要把训练数据分为训练集和评估集。训练集用于训练线性SVM模型,评估集用于评估模型的好坏。简单地把所有的训练数据划分为两种子集不能充分地利用现有数据,因此在数据划分时用到交叉检验方法,它是在SVM训练模型中,防止模型过于复杂而引起的过拟合所采用的一种方法。在K折交叉检验中,把训练数据随机分为k份,其中k-1份作为训练集,剩下的1份作为评估集,这样通过k次循环后,所有的数据都曾作为评估集,平均k次结果。本文采用目前常用的10折交叉检验法[17]。
2.2.2 多元分类效果判定指标由于一个二元线性SVM分类器不能实现多元分类,故需要N(N-1)/2个二元线性分类器对N类问题进行分类。用测试数据检验训练数据得到的分类器模型时,常用精度(precision)、召回率(recall)和F1值作为分类好坏的依据。表 2是两类A和B的模糊矩阵(confusion matrix)。
表 2中,TP:实际为A类的数量,预测为A类的数量;FN:实际为A类的数量,预测为B类的数量;FP:实际为B类的数量,预测为A类的数量;TN:实际为B类的数量,预测为B类的数量。
召回率和F1值定义如下

在试验中,用于行人运动模式分类的数据在武汉银泰创意城购物中心采集,8种运动模式下共收集了约100 000个样本。图 5是在3 s滑动窗口下,利用主元分析(principle component analysis,PCA)[18]在两个特征上生成的散点分布图。x轴和y轴分别代表压缩后的特征,8种灰度点分别代表 8种运动模式下的样本分布。由可视化散点图可知8种运动模式几乎没有重叠,因此,后续流程是可以对数据进行分类的。
![]() |
图 5 压缩后散点图 |
图 6所示是3 s数据滑动窗口的训练正确率与交叉检验正确率曲线图。可以看到两个曲线图随着训练样本的增加正确率收敛到约96.5%,不存在欠拟合和过拟合问题,因此3 s的滑动窗口在训练数据上可以得到较好的分类效果。
![]() |
图 6 学习曲线 |
经过训练数据训练的分类器模型用测试数据测试,得到表 3的8种运动模式模糊矩阵。从表 3中可看到实际类和预测类总体上相差并不大,尤其是上/下厢梯的实际类和预测类几乎没有差别,可以得到较好的分类结果。这是由于厢梯升降很快,气压变化较大,与气压相关的特征对分类起到很大作用。但是上/下扶梯与静止,上/下楼梯与行走之间的实际类与预测类之间相差比较。这是由于上/下扶梯与静止和上/下楼梯与行走的加速度波形很相似,主要靠气压的相关特征来区分,但气压变化相比上/下厢梯小得多。如果把人本身的状态分为静止类和运动类,静止、上/下厢梯、上/下扶梯为静止类,行走、上/下楼梯为运动类,那么静止类与运动类仅有42个错误的分类样本(矩形框里)。
实际类 | 预测类 | |||||||
静止 | 行走 | 上楼梯 | 下楼梯 | 上厢梯 | 下厢梯 | 上扶梯 | 下扶梯 | |
静止 | 8256 | ![]() |
0 | 0 | 0 | 0 | 122 | 153 |
行走 | ![]() |
4510 | 20 | 4 | 0 | 0 | ![]() |
![]() |
上楼梯 | 0 | 40 | 502 | 0 | 0 | 0 | 0 | 0 |
下楼梯 | 0 | 19 | 0 | 437 | 0 | 0 | 0 | 0 |
上厢梯 | 2 | 0 | 0 | 0 | 1319 | 0 | 1 | 0 |
下厢梯 | 0 | 0 | 0 | 0 | 0 | 1114 | 0 | 1 |
上扶梯 | 122 | ![]() |
0 | 0 | 0 | 0 | 1893 | 1 |
下扶梯 | 78 | ![]() |
0 | 0 | 0 | 0 | 0 | 2071 |
图 7所示为训练好的分类器在8种运动模式F1值,可以看到8种运动模式平均F1值在96.4%,上楼梯的F1值最低也在91%以上。说明所建立的分类器模型可以很好地对运动模式进行识别。
![]() |
图 7 8种运动状态F1值 |
本文探讨了利用智能手机传感器数据对行人运动模式进行识别,采集了8种运动模式下的100 000个样本,采用SVM中常用的10折交叉检验方法,对80%样本进行训练得到分类模型,剩下的20%样本测试分类模型的效果,由此得到:选取13个特征可以在3 s的数据滑动窗口、0.5 s数据采样间隔,得到96.4%的识别正确率。这种识别结果可以在后续的PDR研究中提升PDR精度和稳健性。
[1] | CHEN L, HOEY J, NUGENT C D, et al. Sensor-based Activity Recognition[J]. IEEE Transactions on Systems, Man, and Cybernetics(Part C:Applications and Review), 2012, 42(6): 790–808. DOI:10.1109/TSMCC.2012.2198883 |
[2] | XU X, TANG J, ZHANG X, et al. Exploring Techniques for Vision Based Human Activity Recognition:Methods, Systems, and Evaluation[J]. Sensors, 2013, 13(2): 1635–1650. |
[3] | BUSSMANN J B J, MARTENS W L J, TULEN J H M, et al. Measuring Daily Behavior Using Ambulatory Accelerome-try:The Activity Monitor[J]. Behavior Research Methods, Instruments, & Computers, 2001, 33(3): 349–356. |
[4] | ELHOUSHI M, GEORGY J, NOURELDIN A, et al. A Survey on Approaches of Motion Mode Recognition Using Sensors[J]. IEEE Transactions on Intelligent Transporta-tion Systems, 2017, 18(7): 1662–1686. DOI:10.1109/TITS.2016.2617200 |
[5] | 牛欢, 廉保旺. 一种基于改进UKF滤波的GPS+PDR组合定位方法[J]. 测绘通报, 2017(7): 5–9. |
[6] | LI T, GEORGY J. Using Indoor Maps to Enhance Real-time Unconstrained Portable Navigation[C]//Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation(ION GNSS+). Florida: [s. n. ], 2014: 3174-3183. |
[7] | ELHOUSHI M, GEORGY J, NOURELDIN A, et al. Motion Mode Recognition for Indoor Pedestrian Navigation Using Portable Devices[J]. IEEE Transactions on Instrumentation and Measurement, 2016, 65(1): 208–221. DOI:10.1109/TIM.2015.2477159 |
[8] | UDDIN M T, BILLAH M M, HOSSAIN M F. Random Forests Based Recognition of Human Activities and Postural Transitions on Smartphone[C]//The 5th International Conference on Informatics, Electronics and Vision(ICIEV). Dhaka: IEEE, 2016: 150-255. |
[9] | KWAPISZ J R, WEISS G M, MOORE S A. Activity Recognition Using Cell Phone Accelerometers[J]. ACM SIGKDD Explorations Newslett, 2011, 12(2): 74–82. DOI:10.1145/1964897 |
[10] | 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 and Measurement, 2002, 51(3): 497–508. DOI:10.1109/TIM.2002.1017721 |
[11] | CHENG W, JHAN D M. Triaxial Accelerometer-based Fall Detection Method Using a Self-constructing Cascade-AdaBoost-SVM Classifier[J]. IEEE Journal of Biomedical and Health Information, 2013, 17(2): 411–419. DOI:10.1109/JBHI.2012.2237034 |
[12] | TRAN D N, PHAN D D. Human Activities Recognition in Android Smartphone Using Support Vector Machine[C]//20167th International Conference on Intelligent Systems, Modelling and Aimulation. Bangkok: IEEE, 2016: 64-68. |
[13] | 张毅, 任同辉, 罗元. 基于多传感器数据融合的人体运动模式识别研究[J]. 计算机测量与控制, 2016, 24(1): 303–307. |
[14] | 路永乐, 张欣, 龚爽, 等. 基于MEMS惯性传感器的人体多运动模式识别[J]. 中国惯性技术学报, 2016, 24(5): 589–594. |
[15] | 常甜甜. 支持向量机学习算法若干问题的研究[D]. 西安: 西安电子科技大学, 2010. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=D098706 |
[16] | ELHOUSHI M, GEORGY J, KORENBERG M, et al. Robust Motion Mode Recognition for Portable Navigation Independent on Device Usage[C]//Position Location and Navigation Symposium-PLANS 2014. Monterey: IEEE, 2014: 158-163. |
[17] | 胡局新, 张功杰. 基于K折交叉检验的选择性集成分类算法[J]. 科技通报, 2013, 29(12): 115–117. |
[18] | ALTUN K, BARSHAN B. Human Activity Recognition Using Inertial/Magnetic Sensor Units[C]//International Conference on Human Behavior Understanding. [S. l. ]: ACM, 2010: 38-51. |