趙中堂,馬 倩,陳益強
(1.鄭州航空工業管理學院 a.計算機科學與應用系;b.管理科學與工程學院,鄭州 450015;2.中國科學院計算技術研究所,北京 100190)
據2007年的統計數據,大約 30%的美國人患有肥胖癥。肥胖癥導致的冠心病、高血壓、糖尿病、膽石癥、痛風、脂肪肝等并發病,每年大約消耗1 000億美元的醫療費用。而這一年,中國的超重比例為28.9%。并非只有美國和中國有此現象,肥胖癥已成為一個世界性的難題。大量的研究證明,運動是保持健康的重要方法,只要長期有規律地堅持運動,人們就能保持健康。對于減肥也是如此,適量的運動有助于燃燒脂肪,減輕體重,從而強身健體。然而,目前沒有合適的工具能檢測用戶每天的運動量,也就無法給予用戶科學的指導。
普適計算技術倡導“以人為中心”的計算,使得計算設備能夠在無形中為用戶提供智能的、透明的服務。為了提供適時適地的服務,計算設備必須具有感知用戶上下文信息的能力[1-3]。動作行為識別 (Motion Activity Recognition, MAR)技術[4]是感知計算的一個重要分支,基于加速度傳感器數據識別人的MAR是目前研究的熱點之一。
文獻[5]較為全面地研究了基于加速度傳感器的行為識別。該方法先在用戶身上5個不同部位綁上加速度傳感器,當用戶做出不同動作時,系統記錄加速度值,并使用多種分類器識別用戶行為。實驗結果表明,決策樹(Decision Tree, DT)算法在所采用的分類器中表現最好,準確率大約為 84%。但這種在用戶身上綁置多個特定裝置的方法操作不便,因此,不符合實際需求。
文獻[6]僅使用一個固定在骨盆處的三軸加速度傳感器來采集行為數據,采用不同的分類器,在4種情況下進行實驗,對某人混在一起的不同時間的行為數據進行分類,分類精度可達 99.57%。對多個人多個時間的行為數據混在一起進行分類,分類精度可達99.82%。對于一個人在不同時間的行為數據,以一天的數據作為訓練數據,另一天的數據作為測試數據,分類精度能夠達到90.61%。對于2個人的不同數據,以一個人的數據作為訓練數據,另一個人的數據作為測試數據,分類精度僅可以達到73.33%。
文獻[7]提出了一種與加速度傳感器朝向無關的算法,將Nokia N95手機內置三軸加速度傳感器的信號值投影到豎直和水平方向,使用戶無需關心手機的朝向問題,拓寬了行為識別算法的使用范圍。
由于采集加速度傳感器數據并進行標定是代價較高的工作,因此為了簡化甚至省去該過程,現有的工作集中在如何找到一個通用的識別模型,只需對少數人標定一次數據,便可以應用在任何人的行為數據上。這樣做的結果必定是以犧牲個人精度為代價的,導致每個人的行為識別精度都不能達到較高的水平。本文提出一種基于通用模型遷移的自適應行為識別方法 AdaMAR(Adaptive Motion Activity Recognition),該方法首先采集少數幾個人的行為數據并進行標定,在此基礎上訓練一個通用行為識別模型。當新用戶使用該模型時,模型可以根據用戶的數據和通用模型的識別結果自適應地調整,逐步形成一個識 別精度高的個性化模型。
報告顯示,如果長期堅持有規律的運動,即使運動量較小,對人們的身體健康也是大有裨益。對于老年人來說尤為如此,適量運動可以有效地預防和控制疾病。為了協助人們管理自己的運動,本文設計實現了個人運動管理系統,該系統能夠運行于移動終端之上。
圖1為個人運動管理系統的應用場景。白天,用戶打開個人運動管理系統,將移動終端攜帶在身上。系統自動地采集加速度數據,提取特征,用行為識別模型識別用戶的行為。這樣,用戶的行為被翻譯為行為序列,包括靜止、散步、跑步、上下樓梯等。由于每個行為樣本的持續時間可由加速度計的采樣頻率得到,因此可以統計用戶每天的行為信息,包括有哪些行為、每種行為總的累積時間是多少、每種行為最長的持續時間是多少。根據這些信息,結合運動常識,用戶就可以很好地自我指導鍛煉,保持健康的體魄。晚上,在用戶上床睡覺之前,系統可以通過短信的方式將用戶一天的運動信息上傳到用戶的微博。這樣,用戶可以和他的好友共享運動信息,朋友也可以對他的運動進行監督和指導。

圖1 個人運動管理系統應用場景
由此可知,系統的核心在于如何通過加速度數據獲取用戶的行為類別,且識別模型應具有自我調整的能力,逐漸成為一個適合用戶的個性化模型。為此,本文提出了一個基于通用模型遷移的自適應行為識別方法AdaMAR。
AdaMAR方法的框架結構如圖2所示。

圖2 AdaMAR方法框架結構
該方法分為2個階段:離線訓練階段和在線自適應調整階段,前者的數據流用虛線表示,后者的數據流用實線表示。
(1)離線訓練階段
采集多個人的行為數據,標定且提取特征后訓練通用的行為識別模型。
(2)在線自適應調整階段
根據新用戶逐漸積累的數據,將通用行為識別模型調整為個性化行為識別模型,并用其進行分類。
可以用多種機器學習方法建立分類模型,比如決策樹、樸素貝葉斯(Na?ve Bayesian, NB)、支持向量機(Support Vector Machine, SVM)。通過性能比較,本文選擇決策樹作為行為識別模型。
如果用戶的行為數據出現在通用模型的訓練集中,則模型對該用戶具有較強的識別能力。然而新用戶的數據往往是未經標定、未在訓練集中出現的,因此,模型對新用戶的分類能力不能達到用戶的要求。通過分析發現,在采用通用行為識別模型分類新用戶數據時,已經隱含地將共性知識遷移到了分類結果中,如果能對分類結果做進一步調整,就能得到較高的分類精度。
在樣本空間中,設樣本的特征集合為F={f1, f2,…,fn}。當樣本空間中有多個人的數據時,特征 fi(1≤i≤n)的取值范圍設為[Pi, Qi];當樣本空間中僅有某一個人的數據時,特征fi的取值范圍設為[pi, qi]。一般情況下會有Pi≤pi 假設新用戶的樣本空間為D,經通用行為識別模型分類后,被劃分為n個子空間D1,D2,…, Dn,每個子空間由特征向量及其類標號組成,即: Di={ 前期實驗表明,對于未參與訓練的樣本集合,用決策樹分類器對其分類,會達到較好的分類精度,分類正確的樣本數平均超過了60%。本文認為,各類樣本已被較好地聚集到一起,各類樣本的中心 mi已經接近真實的類中心,在此基礎上進一步做自適應調整,就能更加逼近真實的類中心。 令子空間 Di的樣本數量為 ni,則其中心 mi的計算公式為: 樣本誤差平方和Je的計算公式為: 通用模型遷移和自適應調整過程如圖3所示。 圖3 通用模型遷移及自適應調整過程 從通用行為識別模型確定的類中心開始,不斷進行迭代調整,直到樣本誤差平方和達到最小為止。這樣,經過調整的子空間 Di就是被重新標定過的精度較高的訓練集,用此訓練集來調整原決策樹各個節點的閾值,就可以得到分類精度較高的個性化行為識別模型。 本文使用Nokia N95手機來采集加速度傳感器數據。每2個參與人員為一組,A在腰部佩戴N95手機采集加速度數據,B在旁邊記錄,N95的時鐘要和B的計時用時鐘一致。開啟程序后,A將N95手機放入手機袋內,掛在身體右側的腰帶上。B指揮A按順序做站立、靜坐、站立、散步、站立、慢跑、站立、上樓梯、站立、下樓梯、站立、上電梯(電梯向上運行)、站立、下電梯(電梯向下運行)、站立等動作,并記錄每個動作的開始時間、結束時間。為了得到充足的樣本,每個動作的持續時間不低于5 min。所有動作完成后將數據保存在N95手機的文件中,然后上傳到服務器進行標定處理。目前共采集了4人的行為數據。 數據標定是一項費時費力的工作,它的準確與否直接決定了分類器的精度。根據B記錄的時間區間和動作名稱,將A的動作區分開并分別存入不同的文件中。對每一個動作文件中的數據做窗口大小為5的中值濾波,進一步去除噪聲、平滑數據。 至此建立了一個小型的行為數據庫,該數據庫包含4個人的數據,每個人都分別做了靜坐、站立、散步、慢跑、上樓梯、下樓梯、上電梯、下電梯等日常動作。通過實驗發現,靜坐、站立、上電梯、下電梯等動作由于幾乎不涉及加速度變化,它們之間很難區分,因此可以歸為靜止類。這樣,動作行為就分為靜止、下樓梯、散步、慢跑、上樓梯5類。各類樣本數量如表1所示。 表1 動作行為樣本信息 本文采用滑動窗口的方法來提取特征。觀察發現,加速度傳感器各個軸上的的信號波形呈周期變化。對于走路的動作來說,大概每秒對應一個動作周期,對于其他動作,周期會更短。由于N95的采樣頻率為32 Hz,因此設窗口的大小為64個數據,這樣可以包含2個周期的信號。滑動的步長設為窗口的一半,即32。這種數據處理方法的優點可以見文獻[5]。 對每個窗口中的數據,分別取x、y、z軸數據的均值、方差、離散傅里葉變換后的能量,再提取各個軸之間的相關系數。這樣每一個樣本可以得到 12個特征。其中,均值能夠反映某類動作的劇烈程度,例如某人的散步和慢跑在垂直方向的加速度數據波形圖明顯不同,它們的波形中心相距甚遠。方差能夠反映數據偏離中心的幅度,例如散步和下樓梯的加速度大小在均值上相似,而下樓梯的加速度值的變化范圍明顯大于散步。離散傅里葉變換將數據從時域轉換到頻域,因此,能量特征能夠區分運動周期不同的動作,如散步和慢跑。相關系數能將多個方向都有運動的動作和僅在某一個方向有運動的動作區分開來,如散步和上樓梯[8-10]。 下面分別用當前比較流行的決策樹、支持向量機和樸素貝葉斯網絡建立分類器,并比較它們的分類精度。使用SVM訓練分類器時,采取十折交叉驗證的方法來選擇最優的參數 c和 g。選取行為數據庫中3個人的數據作為訓練數據,另外一個人的數據作為測試數據,得到的實驗結果如表2所示。 表2 不同分類器分類精度比較 (%) 從表 2可以看出,決策樹在平均性能上稍高于SVM和NB網絡,同時由于采用決策樹作為分類器計算代價較低,適合在智能終端等對功耗要求較高的設備上使用,因此本文采用決策樹作為分類器模型。 對4個人的行為數據進行交叉實驗驗證。選取其中3人的行為數據作為訓練數據,訓練通用模型,剩余一人的行為數據作為測試數據,測試識別精度。表3給出了通用模型對未參與訓練人的行為數據的分類結果和自適應模型得到的分類精度。 表3 2種模型對新用戶數據的分類精確度比較 (%) 從表 3可以看出,在實施 AdaMAR方法之前,系統的平均識別精度為67.31%,實施AdaMAR方法后,平均識別精度可達到 83.54%,識別精度平均提高了16%左右。 本文針對個人運動管理系統中行為識別模型的需求,提出一種基于遷移學習的自適應行為識別方法,能夠將群體行為的共性特征知識遷移到新個體行為上,不需要對新個體的數據進行標定,并可以隨著個體行為樣本的增多,自適應地調整共性知識,形成特定個體的行為識別模型。 在研究過程中還發現,對于某些人的某些動作,比如散步和上樓梯,僅用加速度傳感器還較難區分。下一步將研究融合多傳感器(比如加速度傳感器和陀螺儀)的行為識別算法,以進一步提高本文模型的精度。 [1]徐光佑, 史元春, 謝偉凱.普適計算[J].計算機學報,2003, 26(9): 1042-1050. [2]李 蕊, 李仁發.上下文感知計算及系統框架綜述[J].計算機研究與發展, 2007, 44(2): 269-276. [3]Weiser M.The Computer for the Twenty-first Century[J].Scientific American, 1991, 265(3): 94-100. [4]徐光佑, 曹媛媛.動作識別與行為理解綜述[J].中國圖象圖形學報, 2009, 14(2): 189-195. [5]Bao L, Intille S S.Activity Recognition from User Annotated Acceleration Data[D]//Proc.of the 2nd International Conference on Pervasive Computing.Vienna,Austria: [s.n.], 2004. [6]Ravi N, Dandekar N, Mysore P, et al.Activity Recognition from Accelerometer Data[C]//Proc.of the 19th National Conference on Artificial Intelligence.Pittsburgh, USA:[s.n.], 2005. [7]Yin Jie, Chai Xiaoyong, Yang Qiang.High-level Goal Recognition in a Wireless LAN[C]//Proc.of the 19th National Conference on Artificial Intelligence.San Jose,USA: [s.n.], 2004. [8]Yang Jun.Toward Physical Activity Diary: Motion Recognition Using Simple Acceleration Features with Mobile Phones[C]//Proc.of the 1st International Workshop on Interactive Multimedia for Consumer Electronics.Beijing, China: [s.n.], 2009. [9]Lee Seon-Woo, Mase K.Recognition of Walking Behaviors for Pedestrian Navigation[C]//Proc.of IEEE International Conference on Control Applications.Mexico City, Mexico: IEEE Press, 2001. [10]Chen Yiqiang, Zhao Zhongtang, Wang Shuangquan, et al.Extreme Learning Machine Based Device Displacement Free Activity Recognition Model[J].Soft Computing,2012, 16(9): 1617-1625.


4 實驗與結果分析
4.1 數據采集和標定

4.2 特征提取
4.3 通用識別模型的建立

4.4 AdaMAR方法的性能分析

5 結束語