支持向量机辅助下的智能手机行人运动模式识别

Posted 测绘通报

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机辅助下的智能手机行人运动模式识别相关的知识,希望对你有一定的参考价值。

 目前,运动模式识别领域主要是基于影像或传感器两种方式。近几年来随着微机电系统(MEMS)在智能手机上的应用,大大促进了基于手机传感器的运动模式识别的研究。运动模式识别除了在健康保障领域有广阔的应用前景外,在室内定位方面也有较广泛的应用。

 室外定位可以通过全球卫星导航系统(GNSS)解决,而室内环境没有可用的GNSS信号,故发展室内定位技术变得非常重要。行人航迹推算(PDR)(室内定位方法)受行人运动模式影响很大,室内环境下,不仅要求一个便携式导航定位设备成本低功耗低,还需要在人体不同运动模式下的定位结果具有稳健性和可用性,因为在不同运动模式下需要不同的算法和约束条件。如步行时,要执行行人航迹推算算法;坐扶梯或走楼梯时,可以与地图进行匹配;坐厢梯时,平面位置不变,只需改变行人高度等。

 模式识别领域常用的分类方法有决策树、人工神经网络、朴素贝叶斯、支持向量机等。支持向量机具有高分类精度,对噪声具有稳健性的特点,是目前最好的分类方法之一。Tran等利用支持向量机对行人运动模式识别,但是没有考虑到上/下厢梯和上/下扶梯模式;张毅等只是对特定人群老人的运动模式进行识别,没有普适性;路永乐等用MEMS作为运动模式识别的数据采集工具,与智能手机相比不易推广。

 本文研究了线性SVM对室内常见的几种行人运动模式的识别。图 1为本文要识别的行人运动模式:静止、行走、上/下楼梯、上/下厢梯、上/下扶梯。

支持向量机辅助下的智能手机行人运动模式识别
图 1 行人运动模式

图选项


1 线性SVM原理

 支持向量机是一种二元分类模型,基本模型定义为特征空间上的间隔最大的线性分类器。支持向量机包含有核函数,本文探讨线性核函数支持向量机分类,具体原理如下:

 假设有{(x1y1), (x2y2), …, (xnyn)}这样一个训练数据集,yi(i=1, 2, …, n)等于1或-1,用来表示xi属于不同类别。xi是由不同特征组成的向量。SVM是要找出一个超平面(hyperplane)f(xi)=w·xi+b,这个超平面可以将数据分为两个部分(如图 2(a)所示),每部分同属一类,其实这样的超平面有很多,要找到一个如图 2(b)所示的最佳超平面。

支持向量机辅助下的智能手机行人运动模式识别
图 2 二元SVM分类示意图

图选项

 因此增加一个约束:这个超平面到每边最近数据点的距离是最大的,这个分类器就是最大间隔分类器。两类的最大几何间隔可以用 支持向量机辅助下的智能手机行人运动模式识别 来衡量,这时||w||越小间隔越大。为避免一些数据点落入最大分类间隔里,增加了以下约束

支持向量机辅助下的智能手机行人运动模式识别(1)

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

支持向量机辅助下的智能手机行人运动模式识别(2)

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

支持向量机辅助下的智能手机行人运动模式识别(3)

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

支持向量机辅助下的智能手机行人运动模式识别(4)

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

支持向量机辅助下的智能手机行人运动模式识别(5)


2 SVM分类器模型建立过程

 分类过程分为两个步骤:获取数据样本,分类器训练与测试。


2.1 获取数据样本

 图 3是获取数据样本过程,分为原始数据的输入、数据预处理、特征提取3个步骤。

支持向量机辅助下的智能手机行人运动模式识别
图 3 获取数据样本流程

图选项


2.1.1 原始数据输入

 利用小米4智能手机采集原始数据,手机包含三轴加速度计、三轴陀螺仪、三轴磁力计和气压计等传感器。本文需要用到加速度计获取的三轴加速度和气压计获取的气压值作为行人运动模式分类依据。


2.1.2 数据预处理

 很多时候,从传感器获得的部分原始数据对于运动模式识别效果不理想,这就需要对原始数据进行预处理,如x轴方向的加速度在主要运动方向为其他轴的情况下对识别效果贡献不大,但是利用三轴加速度的范数或把加速度归算到水平、竖直方向上对识别效果更有意义。数据预处理后的结果称为变量。


2.1.3 特征提取

 表 1列举的是从数据预处理之后的变量提取出来的特征。本文利用统计特征作为运动分类依据。在进行分类时,加入13种统计特征。由于大气压绝对值受温度、湿度等影响,其值不能反映局部高度变化,故采用大气压梯度作为统计特征。


支持向量机辅助下的智能手机行人运动模式识别


2.2 分类器训练与测试

 产生最终样本后,按照图 4所示流程执行分类器训练与测试。首先把样本分成两个部分:训练数据(80%)和测试数据(20%),选取的13个特征用来训练分类器,分类器的好坏可利用测试数据测试。具体解释如下:

支持向量机辅助下的智能手机行人运动模式识别
图 4 分类器训练与测试

图选项


2.2.1 K折交叉检验(K-fold cross-validation)

 在训练线性SVM时,需要把训练数据分为训练集和评估集。训练集用于训练线性SVM模型,评估集用于评估模型的好坏。简单地把所有的训练数据划分为两种子集不能充分地利用现有数据,因此在数据划分时用到交叉检验方法,它是在SVM训练模型中,防止模型过于复杂而引起的过拟合所采用的一种方法。在K折交叉检验中,把训练数据随机分为k份,其中k-1份作为训练集,剩下的1份作为评估集,这样通过k次循环后,所有的数据都曾作为评估集,平均k次结果。本文采用目前常用的10折交叉检验法。


2.2.2 多元分类效果判定指标

 由于一个二元线性SVM分类器不能实现多元分类,故需要N(N-1)/2个二元线性分类器对N类问题进行分类。用测试数据检验训练数据得到的分类器模型时,常用精度(precision)、召回率(recall)和F1值作为分类好坏的依据。表 2是两类AB的模糊矩阵(confusion matrix)。

支持向量机辅助下的智能手机行人运动模式识别

 表 2中,TP:实际为A类的数量,预测为A类的数量;FN:实际为A类的数量,预测为B类的数量;FP:实际为B类的数量,预测为A类的数量;TN:实际为B类的数量,预测为B类的数量。

 召回率和F1值定义如下

支持向量机辅助下的智能手机行人运动模式识别(6)


3 运动模式分类结果与分析

 在试验中,用于行人运动模式分类的数据在武汉银泰创意城购物中心采集,8种运动模式下共收集了约100 000个样本。图 5是在3 s滑动窗口下,利用主元分析(PCA)在两个特征上生成的散点分布图。x轴和y轴分别代表压缩后的特征,8种灰度点分别代表 8种运动模式下的样本分布。由可视化散点图可知8种运动模式几乎没有重叠,因此,后续流程是可以对数据进行分类的。

支持向量机辅助下的智能手机行人运动模式识别
图 5 压缩后散点图

图选项

 图 6所示是3 s数据滑动窗口的训练正确率与交叉检验正确率曲线图。可以看到两个曲线图随着训练样本的增加正确率收敛到约96.5%,不存在欠拟合和过拟合问题,因此3 s的滑动窗口在训练数据上可以得到较好的分类效果。

支持向量机辅助下的智能手机行人运动模式识别
图 6 学习曲线

图选项

 经过训练数据训练的分类器模型用测试数据测试,得到表 3的8种运动模式模糊矩阵。从表 3中可看到实际类和预测类总体上相差并不大,尤其是上/下厢梯的实际类和预测类几乎没有差别,可以得到较好的分类结果。这是由于厢梯升降很快,气压变化较大,与气压相关的特征对分类起到很大作用。但是上/下扶梯与静止,上/下楼梯与行走之间的实际类与预测类之间相差比较。这是由于上/下扶梯与静止和上/下楼梯与行走的加速度波形很相似,主要靠气压的相关特征来区分,但气压变化相比上/下厢梯小得多。如果把人本身的状态分为静止类和运动类,静止、上/下厢梯、上/下扶梯为静止类,行走、上/下楼梯为运动类,那么静止类与运动类仅有42个错误的分类样本(矩形框里)。

支持向量机辅助下的智能手机行人运动模式识别

图 7所示为训练好的分类器在8种运动模式F1值,可以看到8种运动模式平均F1值在96.4%,上楼梯的F1值最低也在91%以上。说明所建立的分类器模型可以很好地对运动模式进行识别。

图 7 8种运动状态F1值

图选项


4 结语

 本文探讨了利用智能手机传感器数据对行人运动模式进行识别,采集了8种运动模式下的100 000个样本,采用SVM中常用的10折交叉检验方法,对80%样本进行训练得到分类模型,剩下的20%样本测试分类模型的效果,由此得到:选取13个特征可以在3 s的数据滑动窗口、0.5 s数据采样间隔,得到96.4%的识别正确率。这种识别结果可以在后续的PDR研究中提升PDR精度和稳健性。


引文格式:郭际明,王威,张帅。支持向量机辅助下的智能手机行人运动模式识别[J]. 测绘通报,2018(2):1-5. DOI: 10.13474/j.cnki.11-2246.2018.0033.



郭际明,男,博士,教授,主要从事高精度GNSS数据处理研究。E-mail:jmguo@sgg.whu.edu.cn



————————&    End    &————————


微信投稿邮箱:lyg0061@163.com

进群请备注:姓名+单位


以上是关于支持向量机辅助下的智能手机行人运动模式识别的主要内容,如果未能解决你的问题,请参考以下文章

支撑向量机

智能财务风险预警方法—支持向量机

基于SVM支持向量机的车牌分割识别算法matlab仿真——详细版

基于SVM支持向量机的车牌分割识别算法matlab仿真

3分钟掌握支持向量机-机器学习面试必备

Python数模笔记-Sklearn支持向量机