张鑫 李治军 姜守旭
摘 要:现阶段科技技术的发展进步,智能手机的功能越来越强大,手机上也集成了多种传感器模块,而手机的便于携带使用,功能强大等特性使得手机在相比于个人电脑和可穿戴设备上有着明显的优势。本文通过分析智能手机传感器采集到的用户运动状态数据,使用SVM多分类方法,来识别用户的运动状态。本文实验采用交叉验证方法,实验结果良好,能够很好地说明识别用户运动状态的准确率比较高。本文的下一个方向是结合MYO手环的手部识别,来更好更多地区分人的运动状态。
关键词 : Android手机;传感器数据;SVM;运动状态识别
中图法分类号: TP391 文献标识码: A 文章编号:2095-2163(2015)03-
Motion State of Data Recognition based on Android Mobile Sensor
ZHANG Xin, LI Zhijun, JIANG Shouxu
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract: Nowadays, with the development and progress of science and technology, intelligent mobile phone function more and more powerful, the phone also integrates a variety of sensor modules, while the phone is easy to carry and use, powerful features makes the phone in personal computers and can be worn on the device has obvious advantages compared. In this paper, the mobile status data collected by the smart phone sensor is collected, and the motion state of the user is identified by using the SVM multi classification method. The experimental results of this paper are good, and it can be well to explain the accuracy of the user moving state. The next direction of this paper is the recognition of the hand of MYO bracelet, to better the movement of the regional person.
Key words: Android Mobile Phone; Sensor Data; SVM;Motion State Recognition
0 引 言
随着科学技术的发展进步,智能手机也进入了高度集成和快速研发。时下,在某种意义上来讲,智能手机就是一台便于携带使用的电脑,其在人们日常生活中的重要性正与日俱增[1-3]。虽然说智能手机相当于便携式电脑,但是却有着个人电脑所不具备的优点,不仅表现在智能手机的便于携带使用,更突显于其比个人电脑更多地集成了数类新式传感器模块,这都是个人电脑所没有的。
而相校于其他的可穿戴设备来讲,智能手机又是使用方便,对用户友好的普适设备,毕竟可穿戴设备普遍要求用户学习掌握特定的操作,而智能手机则不需要用户花费额外的金钱、时间和精力来操控其使用,只需要安装本研究编写的采集数据的应用,在用户运动的同时,借助该应用来采集用户的运动数据。
本文正是基于智能手机相比个人电脑和可穿戴设备的优点,研究采用智能手机来作为数据采集设备,并通过智能手机中的传感器模块来记录用户的运动数据,进而分析用户的运动数据,以最终识别用户的运动状态。
1 数据的采集与存储
本文所采集的数据是智能手机的传感器数据,而智能手机是伴身跟随用户的,所以收集到的手机的运动数据也就相当于用户的运动数据[4]。
Android手机上传感器采集运动数据的程序流程图如图1所示。
图1 采集程序流程图
Fig.1 Collection Procedure Flow Chart
由图1可见,图1中新建的线程为采集程序的子线程,可用其将传感器数据写入到文本文件中,存储在手机的本地。
2 运动状态识别
这个部分需要将上一部分采集到的数据进行分类,识别用户的运动状态,研究中使用了SVM多分类方法来进行分类识别[5]。
2.1 数据格式
本文所采集的数据按照“时间戳,x轴加速度,y轴加速度,z轴加速度”格式写入到文本文件中。数据格式如图2所示。
图2 数据格式
Fig.2 Data Format
图2中为某一段采集到的数据,每一个数据点为一行。
2.2 特征提取
本研究提出的特征有:平均值,方差,最大值,最小值,振幅(极大值的平均值和极小值的平均值,极大值和极小值的方差),频率(极大值和极小值的平均距离)总共10个特征,下面将针对各个特征展开具体分析。
平均值:取样本的各轴加速度数据,分别求平均值作为特征,描述样本数据的总体趋势。
方差:对样本的各轴数据分别求方差,方差能够体现样本的变化波动。
最大最小值:对样本的各轴数据分别求最大最小值,能够描述数据的变化范围。
振幅:包含4个特征值—极大值的平均值和极小值的平均值,极大值和极小值的方差,描述了样本的波动的变化范围。
频率:包含2个特征值—极大值和极小值的平均距离,实际上是用波长来刻画频率,描述了样本的波动的快慢。
其中,振幅和频率都用到了极大值和极小值。下面给出本文中求得极大极小值的算法,算法流程如下:
算法——对给定的数值数组求极大极小值
输入:数值型数组z,长度为m;
输出:极大值数组,极小值数组和极大值极小值在原数组中的时间戳。
(1) 首先判断的数组z的第一个值z[1]和第二个值z[2],如果z[1]≤z[2]则令flag = 0,表示首先查找极大值,z[1]>z[2]则令flag = 1,表示首先查找极小值;
(2) for i 从1到m遍历数组z;
(3) 如果flag = 0,则转(4),flag = 1,则转(5);
(4) 比较z[i]和z[i+1],如果z[i]≤z[i+1],则继续比较直到z[i]>z[i+1],记录z[i]为极大值,存入极大值数组,并且记下z[i]的时间戳,转(5);
(5) 比较z[i]和z[i+1],如果z[i]≥z[i+1],则继续比较直到z[i] (6) 遍历整个数组z,输出极大值数组,极小值数组和相应的时间戳。 本算法的优点在于只需要遍历一次就可以找到所有的极大值和极小值,时间复杂度为O(n)。 分别求极大值和极小值的平均值,方差作为振幅。其中,平均值描述了极大值和极小值的平均水平,方差体现了极大极小值的波动性。 分别求极大值和极小值的时间戳差值的平均值,体现了相邻的极值间的时间长度,也就是波长,用波长来刻画频率。 而在描述振幅和频率的常规方法中,可以用离散傅里叶变换来得到采样点中占若干个最大的采样点对应的点,但是该方法并不适合本研究,因为采集到的样本数据的长度不一致,即使得离散傅里叶变换的点也各不相同,进而导致无法统一刻画离散傅里叶变换得到的结果,为此研究使用本文已提出的求极值算法、得到极值,再使用极值来刻画振幅和频率。 3 实验结果与结论分析 本文使用Google Nexus S手机来采集实验数据,每隔0.05秒采集一次三轴的加速度传感器数据,并写入到文本文件中,存储在手机本地。 数据集由4位志愿者通过携带的Android手机进行采集,共采集样本600个,其中包含了静止、行走、奔跑、跳跃、上楼梯、下楼梯共6个运动状态。每个运动状态100个样本,每个样本文件长度在15秒到50秒之间不等。 实验采用交叉验证,把样本分成5等分,使用其中的4份作为训练集,第5份作为测试集,再使用不同的4份做训练集,第5份做测试集,共循环5次,使每份样本都能够独立作为测试集使用,而后综合5次的对应结果,从而得到整个样本的实验结果。 5次实验结果如图3所示。 (a)第一次交叉验证实验 (a) First cross validation experiment (b)第二次交叉验证实验 (b) Second cross validation experiment (c)第三次交叉验证实验 (c) Third cross validation experiment (d)第四次交叉验证实验 (d) Fourth cross validation experiment (e)第五次交叉验证试验 (e) Fifth cross validation experiment 图3 交叉验证的实验结果 Fig.3 Cross Validation of Experimental Results 由图3可以看出5次交叉实验结果的正确率分别为80%,100%,93.333 3%,92.5%,95.833 3%,取其平均值可得92.333 3%,故该样本的识别准确率为92.333 3%。 4 结束语 本文使用SVM多分类方法类对智能手机传感器采集的运动状态数据进行运动状态的分类。用到的采集分类的特征值有平均值、方差、最大最小值、振幅(极大极小值的平均值和方差),频率(极大极小值之间的平均距离)共10个。其中方差、振幅、频率均能有效地区分各个类别,而最大最小值则由于数据采集上的误差和干扰而对分类结果的影响较小。另据分析可知,平均值因为加速和减速的抵销,在样本量较多时将会趋于0,从而对分类结果的影响较小。 本文后续的研究方向是使用已经得到的运动状态识别模型,结合MYO手环的手部识别来识别更多的运动行为,从而实现对用户行为习惯的高效且良好的监督。 参考文献: [1] ROY N, WANG H, Roy C R. I am a smartphone and i can tell my user's walking direction[C]//Proceedings of the 12th annual international conference on Mobile systems, applications, and services, [S.l.]:ACM, 2014: 329-342. [2] LINK J A B, SMITH P, VIOL N, et al. Footpath: Accurate map-based indoor navigation using smartphones[C]//Indoor Positioning and Indoor Navigation (IPIN), 2011 International Conference on, [S.l.]:IEEE, 2011: 1-8. [3] SUSI M, RENAUDIN V, LACHAPELLE G. Motion mode recognition and step detection algorithms for mobile phone users[J]. Sensors, 2013, 13(2): 1539-1562. [4] MEDNIS A, STRAZDINS G, ZVIEDIRIS R, et al. Real time pothole detection using android smartphones with accelerometers[C]//Distributed Computing in Sensor Systems and Workshops (DCOSS), 2011 International Conference on, [S.l.]:IEEE, 2011: 1-6. [5] PEI L, LIU J, GUINNESS R, et al. Using LS-SVM based motion recognition for smartphone indoor wireless positioning[J]. Sensors, 2012, 12(5): 6155-6175.