張鑫 李治軍 姜守旭
摘 要:現(xiàn)階段科技技術(shù)的發(fā)展進步,智能手機的功能越來越強大,手機上也集成了多種傳感器模塊,而手機的便于攜帶使用,功能強大等特性使得手機在相比于個人電腦和可穿戴設備上有著明顯的優(yōu)勢。本文通過分析智能手機傳感器采集到的用戶運動狀態(tài)數(shù)據(jù),使用SVM多分類方法,來識別用戶的運動狀態(tài)。本文實驗采用交叉驗證方法,實驗結(jié)果良好,能夠很好地說明識別用戶運動狀態(tài)的準確率比較高。本文的下一個方向是結(jié)合MYO手環(huán)的手部識別,來更好更多地區(qū)分人的運動狀態(tài)。
關(guān)鍵詞 : Android手機;傳感器數(shù)據(jù);SVM;運動狀態(tài)識別
中圖法分類號: 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 引 言
隨著科學技術(shù)的發(fā)展進步,智能手機也進入了高度集成和快速研發(fā)。時下,在某種意義上來講,智能手機就是一臺便于攜帶使用的電腦,其在人們?nèi)粘I钪械闹匾哉c日俱增[1-3]。雖然說智能手機相當于便攜式電腦,但是卻有著個人電腦所不具備的優(yōu)點,不僅表現(xiàn)在智能手機的便于攜帶使用,更突顯于其比個人電腦更多地集成了數(shù)類新式傳感器模塊,這都是個人電腦所沒有的。
而相校于其他的可穿戴設備來講,智能手機又是使用方便,對用戶友好的普適設備,畢竟可穿戴設備普遍要求用戶學習掌握特定的操作,而智能手機則不需要用戶花費額外的金錢、時間和精力來操控其使用,只需要安裝本研究編寫的采集數(shù)據(jù)的應用,在用戶運動的同時,借助該應用來采集用戶的運動數(shù)據(jù)。
本文正是基于智能手機相比個人電腦和可穿戴設備的優(yōu)點,研究采用智能手機來作為數(shù)據(jù)采集設備,并通過智能手機中的傳感器模塊來記錄用戶的運動數(shù)據(jù),進而分析用戶的運動數(shù)據(jù),以最終識別用戶的運動狀態(tài)。
1 數(shù)據(jù)的采集與存儲
本文所采集的數(shù)據(jù)是智能手機的傳感器數(shù)據(jù),而智能手機是伴身跟隨用戶的,所以收集到的手機的運動數(shù)據(jù)也就相當于用戶的運動數(shù)據(jù)[4]。
Android手機上傳感器采集運動數(shù)據(jù)的程序流程圖如圖1所示。
圖1 采集程序流程圖
Fig.1 Collection Procedure Flow Chart
由圖1可見,圖1中新建的線程為采集程序的子線程,可用其將傳感器數(shù)據(jù)寫入到文本文件中,存儲在手機的本地。
2 運動狀態(tài)識別
這個部分需要將上一部分采集到的數(shù)據(jù)進行分類,識別用戶的運動狀態(tài),研究中使用了SVM多分類方法來進行分類識別[5]。
2.1 數(shù)據(jù)格式
本文所采集的數(shù)據(jù)按照“時間戳,x軸加速度,y軸加速度,z軸加速度”格式寫入到文本文件中。數(shù)據(jù)格式如圖2所示。
圖2 數(shù)據(jù)格式
Fig.2 Data Format
圖2中為某一段采集到的數(shù)據(jù),每一個數(shù)據(jù)點為一行。
2.2 特征提取
本研究提出的特征有:平均值,方差,最大值,最小值,振幅(極大值的平均值和極小值的平均值,極大值和極小值的方差),頻率(極大值和極小值的平均距離)總共10個特征,下面將針對各個特征展開具體分析。
平均值:取樣本的各軸加速度數(shù)據(jù),分別求平均值作為特征,描述樣本數(shù)據(jù)的總體趨勢。
方差:對樣本的各軸數(shù)據(jù)分別求方差,方差能夠體現(xiàn)樣本的變化波動。
最大最小值:對樣本的各軸數(shù)據(jù)分別求最大最小值,能夠描述數(shù)據(jù)的變化范圍。
振幅:包含4個特征值—極大值的平均值和極小值的平均值,極大值和極小值的方差,描述了樣本的波動的變化范圍。
頻率:包含2個特征值—極大值和極小值的平均距離,實際上是用波長來刻畫頻率,描述了樣本的波動的快慢。
其中,振幅和頻率都用到了極大值和極小值。下面給出本文中求得極大極小值的算法,算法流程如下:
算法——對給定的數(shù)值數(shù)組求極大極小值
輸入:數(shù)值型數(shù)組z,長度為m;
輸出:極大值數(shù)組,極小值數(shù)組和極大值極小值在原數(shù)組中的時間戳。
(1) 首先判斷的數(shù)組z的第一個值z[1]和第二個值z[2],如果z[1]≤z[2]則令flag = 0,表示首先查找極大值,z[1]>z[2]則令flag = 1,表示首先查找極小值;
(2) for i 從1到m遍歷數(shù)組z;
(3) 如果flag = 0,則轉(zhuǎn)(4),flag = 1,則轉(zhuǎn)(5);
(4) 比較z[i]和z[i+1],如果z[i]≤z[i+1],則繼續(xù)比較直到z[i]>z[i+1],記錄z[i]為極大值,存入極大值數(shù)組,并且記下z[i]的時間戳,轉(zhuǎn)(5);
(5) 比較z[i]和z[i+1],如果z[i]≥z[i+1],則繼續(xù)比較直到z[i] (6) 遍歷整個數(shù)組z,輸出極大值數(shù)組,極小值數(shù)組和相應的時間戳。 本算法的優(yōu)點在于只需要遍歷一次就可以找到所有的極大值和極小值,時間復雜度為O(n)。 分別求極大值和極小值的平均值,方差作為振幅。其中,平均值描述了極大值和極小值的平均水平,方差體現(xiàn)了極大極小值的波動性。 分別求極大值和極小值的時間戳差值的平均值,體現(xiàn)了相鄰的極值間的時間長度,也就是波長,用波長來刻畫頻率。 而在描述振幅和頻率的常規(guī)方法中,可以用離散傅里葉變換來得到采樣點中占若干個最大的采樣點對應的點,但是該方法并不適合本研究,因為采集到的樣本數(shù)據(jù)的長度不一致,即使得離散傅里葉變換的點也各不相同,進而導致無法統(tǒng)一刻畫離散傅里葉變換得到的結(jié)果,為此研究使用本文已提出的求極值算法、得到極值,再使用極值來刻畫振幅和頻率。 3 實驗結(jié)果與結(jié)論分析 本文使用Google Nexus S手機來采集實驗數(shù)據(jù),每隔0.05秒采集一次三軸的加速度傳感器數(shù)據(jù),并寫入到文本文件中,存儲在手機本地。 數(shù)據(jù)集由4位志愿者通過攜帶的Android手機進行采集,共采集樣本600個,其中包含了靜止、行走、奔跑、跳躍、上樓梯、下樓梯共6個運動狀態(tài)。每個運動狀態(tài)100個樣本,每個樣本文件長度在15秒到50秒之間不等。 實驗采用交叉驗證,把樣本分成5等分,使用其中的4份作為訓練集,第5份作為測試集,再使用不同的4份做訓練集,第5份做測試集,共循環(huán)5次,使每份樣本都能夠獨立作為測試集使用,而后綜合5次的對應結(jié)果,從而得到整個樣本的實驗結(jié)果。 5次實驗結(jié)果如圖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 交叉驗證的實驗結(jié)果 Fig.3 Cross Validation of Experimental Results 由圖3可以看出5次交叉實驗結(jié)果的正確率分別為80%,100%,93.333 3%,92.5%,95.833 3%,取其平均值可得92.333 3%,故該樣本的識別準確率為92.333 3%。 4 結(jié)束語 本文使用SVM多分類方法類對智能手機傳感器采集的運動狀態(tài)數(shù)據(jù)進行運動狀態(tài)的分類。用到的采集分類的特征值有平均值、方差、最大最小值、振幅(極大極小值的平均值和方差),頻率(極大極小值之間的平均距離)共10個。其中方差、振幅、頻率均能有效地區(qū)分各個類別,而最大最小值則由于數(shù)據(jù)采集上的誤差和干擾而對分類結(jié)果的影響較小。另據(jù)分析可知,平均值因為加速和減速的抵銷,在樣本量較多時將會趨于0,從而對分類結(jié)果的影響較小。 本文后續(xù)的研究方向是使用已經(jīng)得到的運動狀態(tài)識別模型,結(jié)合MYO手環(huán)的手部識別來識別更多的運動行為,從而實現(xiàn)對用戶行為習慣的高效且良好的監(jiān)督。 參考文獻: [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.