耿宏楊,郇 戰,梁久禎,侯振杰,高 歌,呂士云
(常州大學 計算機與人工智能學院,江蘇 常州 213164)
近年來,隨著計算機技術的不斷發展,微電子和集成電路向著體積小和性能高的趨勢發展,嵌入式設備也會變得更加廉價、實用.智能手機、可穿戴設備逐漸被人們廣泛使用,基于傳感器的活動識別研究也在許多科學和應用領域逐漸成為研究熱點[1].
基于傳感器的人類活動識別主要研究來自手機或可穿戴設備中監測到的人類活動信號,運用各種機器學習和數據挖掘方法對信號中的動作信息進行預測和識別.文獻[2]使用在語音識別方面具有良好表現的隱馬爾科夫模型(Hidden Markov Model,HMM),并結合支持向量機(Support Vector Machines,SVM)對傳統的隱馬爾可夫(HMM)模型進行改進,對不同的人類活動類別具有良好的效果.文獻[3]引入一種基于自我訓練(ST)方法的半監督主動學習(SSAL)來進行人類活動識別,部分自動化注釋來提高分類器效率,可運用于監督和非監督的方法中,保證識別效果的同時提高效率.除了機器學習方法外,深度學習方法也被應用與人類活動識別(Human Activity Recognition,HAR),并取得很不錯效果.文獻[4]采用卷積神經網絡(Convolutional Neural Network,CNN)[5]進行特征學習的方法相比于基線模型動作分類的速度和效率明顯提高.文獻[6]針對日常動作信號提出一種深度長短時記憶網絡提取高級特征,將監督和非監督的損失并在一起,充分利用了未標記的數據,從而獲得好的識別效果.另一方面,相關的數據集建立也是對基于傳感器的人類活動識別研究做出巨大貢獻,如文獻[7,8]等.論文中將活動分為靜態動作,過渡動作,動態動作3類[9],在參考前人工作的基礎上,主要集中在解決動作與動作之間的過渡問題和動作狀態轉換關系問題.論文的主要工作如下:
1)針對復雜且連續的人類活動,提出一種基于時間序列信號的運動狀態轉移識別(MSTR,Motion State Transition Recognition)模型,該模型可將靜態動作(坐、站立、躺)、動態動作(走、上樓梯、下樓梯)及靜態動作之間轉換的過渡動作檢測并標定出來,精度可達到采樣點級別.
2)根據靜態動作序列信號平穩的特點,將靜態信號進行檢測和定位,目的是更準確地定位靜態動作區域和區分靜態動作之間的過渡動作.在靜態動作被定位的前提下,引入有限狀態機的思想,通過動作與動作之間的上下文依賴關系,來確定過渡動作片段.
3)論文實驗將在用于人類活動研究的Human Activity Recognition Using Smartphones(HARuS)數據集進行.此外,實驗結果將會與已知方法進行對比,來說明論文所提方法的優越性.
大多數日常行為研究主要致力于單個動作識別(例如走、站、坐、跑等).然而,真正的人類日?;顒油菑碗s的、連續的,且總是存在多個不同或相同動作狀態之間的轉換.基本的日常動作往往是復雜的,其復雜性就體現在動作狀態轉換之間存在的過渡動作,過渡動作往往是短暫且伴隨著劇烈變化,許多HAR研究都會忽略對過渡動作的識別[10].通過可穿戴傳感器監測日常行為生活,運用機器學習的相關方法對監測的活動進行分割,且只對基本動作進行檢測和分割[11].Dafne San-Segundo等人[12],提出的人類活動識別分割系統只針對連續信號中的6種不同的基礎動作(走、上樓梯、下樓梯、坐、站、躺)進行分割識別,并未對連續信號中存在的過渡動作進行分割和識別.Li等人[13],使用貪婪高斯分割(GGS)來識別動作過渡時產生的間斷點并通過XGboost模型來預測每個窗口內的人類活動,同時忽略過渡動作的識別.
但是,也有針對過渡動作的分割方法的研究.Fidad等人[14],測試不同長度的窗口,選擇對短時間活動(坐、站和過渡)和長時間活動(走、上樓梯下樓梯)識別最優的窗口,該分割方法獲取了高于90%的準確率.將連續活動數據進行切片,獲取的動作數據段通過分類的方式來獲取段的動作信息[9].這種方法可以將連續動作中的某些動作識別出來,但是考慮到人類活動的實際情況時,固定長度的滑動窗口難免會出現一個窗口內包含兩個或者兩個以上動作的情況.這種情況常出現于動作段與過渡段之間,即影響分類準確性,也降低了分割準確度.文獻[15]克服固定滑動窗口分割局限性問題,提出自適應的滑動窗口方法,根據窗口內動作的概率大小自適應地拓展窗口,以提高分類準確性,并取得很好的識別率.該算法需要選定基礎的固定窗口,且只能動態放大,如果可以自適應地放大縮小,就可以更加精細地分割動作邊界.
無論是固定的還是自適應的滑動窗口,還是需要考慮不同動作狀態之間存在的過渡轉換問題,這將決定分割和識別的準確率.因此,這些問題也是論文即將要解決的問題.
針對復雜動作進行分割識別的整體構架,如圖1所示.該框架主要包括兩個步驟:第1部分,通過使用固定長度的滑動窗口對連續動作序列進行分割識別,為了規避滑動窗口對過渡動作識別效果差的弊端,這里只對非過渡動作進行訓練識別,最終將復雜連續動作中的動態動作和靜態動作標定出來.第2部分,檢測靜態動作(坐、站、躺)的邊界,將兩類靜態動作之間存在的過渡動作進行標定,再根據有限狀態機可以確定動作狀態之間存在的過渡動作類別.

圖1 模型總體框架
滑動窗口法用于分割識別,被廣泛應用于HAR研究,使分割的步行、跑步、站立、坐姿、上樓梯和下樓梯等動作有很好的識別效果[16,17].具體步驟如圖2所示,對復雜運動序列進行粗分割,主要包括模型訓練和連續動作序列信號的預測和識別.

圖2 粗分割流程圖
3.1.1 數據預處理
通過具有內置慣性傳感器的手機或者可穿戴設備采集的人體行為數據存在許多噪聲和異常值.濾波是去除噪聲的關鍵步驟之一,噪聲大多由各種來源反射的高頻分量(例如設備連接松動,放錯位置,外界的電磁干擾等)[18].針對信號中存在的噪聲,使用3階巴特沃思濾波器去除基線漂移噪聲[19].PSD是一種估計功率在頻率上的分布的度量,并且已被廣泛用于評估帶有基線漂移噪聲的高頻濾波器[20],通過對原始信號計算功率譜密度(PSD)進行截止頻率的選擇.
3.1.2 特征提取
基于慣性傳感器的動作識別中,由于標準分類模型不適用于此類數據,因此我們需要在提取特征之前將傳感器數據劃分為多個段.在處理時間序列數據時,滑動窗口[21]技術得到了廣泛的應用,并被證明是有效的[22].通過對原始數據求導得到新的6組數據(包括加速度和角速度的每一軸信號),其次,對原始加速度和角速度數據求歐幾里得范數得到新的2組數據.因此,總共獲得14組數據(包括6組原始數據和8組新的數據).候選固定長度為0.5秒、1.28秒、2.56秒、3秒的滑動窗口[23],并以50%重疊的方式截取6種基本動作的慣性傳感器信號.對每個窗口的14組數據中每一組提取包含6組時域特征(均值、標準差、最大值、最小值、眾數和過零點個數)和4組頻域特征(均值、方差、偏度和峰度),這樣每個滑動窗口可以獲取140個特征.
3.1.3 分類器
LightGBM是起源于微軟亞洲研究院,由Guolin Ke等人提出的.其算法和XGboost[24]類似,都是基于梯度提升決策樹(GBDT)[25]框架所提出的.該框架在GBDT基礎上結合基于梯度的單邊采樣(GOSS)和互斥特征捆綁(EFB)以及深度限制,使其在訓練速度,內存使用率優化,分類準確性等方面的性能大大提升[26,27].LightGBM分類器在整個模型中用作基本動作的分類,為后續工作提供動作類別的先驗知識.
論文提出的運動狀態轉移模型(Motion State Transition Model,MSTM),通過運動狀態之間轉換關系來識別過渡動作,此模型針對靜態動作之間的狀態轉換.該模型主要包括靜態動作檢測和有限狀態機.
3.2.1 靜態動作檢測
靜態動作信號為受試者靜止不動的情況下記錄的傳感器信號,包括坐、站、躺3種動作,加速度傳感器均受到重力的影響,在垂直方向會有一個加速度值,其余兩個方向的加速度值都是在零值上下震動.相較于陡峭明顯且波動較大的過渡信號,靜態信號就顯得平穩且波動小.
根據以上分析,靜態動作相較于其他動作擁有較小的變化率,檢測并保留變化率較小的信號區域,以實現對靜態動作與非靜態動作信號的分割.為了減少靜態動作信號中存在的離群點和隨機噪聲造成的干擾,使用一階濾波器對信號進行平滑,濾除靜止動作中存在的毛刺信號如圖3(a)所示.其次,對濾波后的信號進行差分處理,靜態動作的差分值波動較小,然而,過渡動作的差分值波動變化大,可以設置允許靜態動作波動的閾值α來分離這兩類信號.
閾值α的設定對于區分靜態動作和過渡動作至關重要.理想情況下,靜態動作信號差分波動的最大幅值小于相鄰的過渡信號的波動的最小幅值,這樣閾值α可以完全將兩種動作分開.實際情況下,在持續的靜態動作中難免出現由于身體抖動或者其他原因造成短暫的信號突變.如圖3(a)中所示,可以看出濾波后的信號明顯變得平滑.另一方面,由靜態動作向過渡動作進行轉換的起始時段變化率和靜態動作的變化率相似,所以這部分信號很難進行區分.在此引入統計學中的第三四分位數(Q3)的思想[28],統計訓練樣本中的靜態動作信號差分絕對值集合,將其以從小到大順序排列,取其中的第三四分位數點(第75%位置點),相同地,對過渡動作信號差分絕對值集合取第25%位置的點,依次取靜態和過渡動作信號第80%和第10%,第85%和第15%,第90%和第10%,第95%和第5%的差分絕對值分位點進行統計比較.在HARuS數據集[29]中,統計5組分位數情況下靜態動作信號和過渡動作信號差分絕對值的均值.如圖4所示,第95%和第5%情況下,靜態動作的最大值大于過渡動作的最小值,所以很難將兩種情況分離.因此,取靜態動作差分幅值第90%位置點均值為閾值α的取值,如圖3(b)所示.

圖3

圖4 靜態動作差分幅值均值最大與過渡動作差分幅值均值最小在不同分位情況下的對比
根據文獻[14]的工作經驗所知過渡活動的持續時間有限,平均為3.37±1.2s,那么只需統計符合在零值上下α波動且連續的采樣點,并超過過渡動作可持續時間的最大限度即可,本文設置為5s.最后,把符合條件的信號的序列起始位置記錄下來.為了從差分序列的界限轉換到原始序列,需要將記錄下來的末尾邊界加一作為彌補,對應到原始靜態動作起始如圖3(c)所示.詳細算法流程如下所示:
算法1.靜態動作分割算法
輸入:低通濾波后的加速度數據Fdata;
輸出:靜態動作起始索引集合static_index
1.設置變量參數Threshold=α,count=0;
2.dFdata=diff(Fdata)/*對Fdata進行差分操作*/
3.forifrom1 to length(dFdata)do
4.ifabs(dFdata(i)) 5. count=count+1 6.else 7. if count>5*50then/*判斷序列是否滿足靜態持續時長*/ 8. static_index([i-count,i+1] /*保存索引 */ 9. count=0 10.else 11. count=0 12.endif 13.endif 14.endfor 15.returnstatic_index 3.2.2 有限狀態機 有限狀態機(finite-state machine)又稱有限狀態自動機,簡稱狀態機,表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型[30].靜態動作之間存在一些未知情況主要分為兩種:1)同種靜態動作狀態之間的轉換.受試者在靜止不動的時候難免存在身體的顫動,或者受到某些外界的干擾或影響,使得整個靜態動作之間存在著幅度小且短暫的無用信號如圖5框中標記所示;2)不同種類靜態動作之間的轉換.正常的動作轉換必不可少存在過渡動作,持續時間是大于無用信號持續時間的.本文設置了9種狀態,分別為: 圖5 靜態動作中出現的干擾信號 S0:表示坐狀態; S1:表示站狀態; S2:表示躺狀態; S3,S4:坐到站和站到坐的過渡狀態; S5,S6:站到躺和躺到站的過渡狀態; S7,S8:躺到坐和坐到躺的過渡狀態; 動作狀態之間的轉換條件如圖6所示.假設S={Si|i=1,…,n}表示檢測出來的n段靜態動作信號,A={Si,j|i≠j;i=1,…,n;j=1,…,n}表示兩個靜態動作狀態Si和Sj之間的過渡動作狀態,ΔT為相鄰兩個靜態動作狀態Si-1和Si之間的時間間隔,Sk靜態動作之間的未知動作狀態,不同的ΔT體現不同的運動狀態Sk如公式(1)所示.當ΔT<1s時,表示未知段為同類靜態動作的干擾部分;當1s<ΔT<5s時,表示未知段為過渡動作;當ΔT>5s時,說明中間存在一個靜態動作與ΔT設定矛盾,所以不考慮. 圖6 FSM動作狀態轉換過程 (1) 論文的實驗數據來源于UCI(UC Irvine,加州大學歐文分校)機器學習存儲庫中的“使用智能手機進行人類活動識別”數據集.該數據集包含30位年齡段在19-48歲的志愿者,每一位志愿者在腰間佩戴智能手機(三星Galaxy S II)進行連續的6個活動(步行,上樓梯,下樓梯,坐,站立,躺).使用其嵌入式加速度計和陀螺儀,以50 Hz的恒定速率采樣3軸線性加速度和3軸角速度.數據集包含13182s的記錄,包括來自30個用戶的400個活動實例[29]. 4.2.1 數據預處理 根據3.1節,針對人類活動相關的慣性傳感器數據,使用3階巴特沃斯低通濾波器.對HARuS數據集中的動作數據計算功率譜密度(PSD),如圖7所示,給出了加速度X軸信號和角速度X軸的PSD曲線,可以看出信號能量主要分布在0Hz-15Hz之間,大于15Hz的部分逐漸趨于0值,因此選擇15Hz作為截止頻率. 圖7 HARuS數據集加速度 4.2.2 滑動窗口和分類器選擇 不同長度的滑動窗口截取的動作樣本,決定分類器的訓練效果,另外,分類器選擇也將影響整個分類的效果,同時動作分類的準確度也將決定預分割的效果.使用固定長度為0.5秒、1.28秒、2.56秒、3秒的滑動窗口作為候選窗口,并以50%重疊的方式提取6個基本動作信號,然后每個窗口提取140個統計特征(具體參考3.1節特征提取部分). 為了體現所提及的LightGBM分類器的分類效果,使之與經典分類器隨機森林(Random Forest,RF)、SVM、K-近鄰法(K Nearst Neighbors,KNN)、樸素貝葉斯(Naive Bayes,NB)、GBDT[25]、XGboost[24]進行對比,并且每一個分類器訓練使用十折交叉驗證的形式度量模型的泛化性.在表1中展示4個不同窗口長度下的不同分類器對應的分類準確率(Accuracy). 表1 不同窗口長度和分類器的準確率 根據表1所示,4種不同長度的滑動窗口對比下,LightGBM和XGBoost分類優勢明顯,平均識別可到達98%.其中,GBDT和XGBoost分類器的識別效果與LightGBM相差很小,但是,分類器訓練的時候發現GBDT和XGBoost分類器的訓練過程耗時比較長如表2所示,因此,說明LightGBM作為整個模型中的分類器是比較合適.其中,當滑動窗口長度為2.56s時分類識別效果最好,總體識別率高達98.69%,對于每個動作的識別率達到97%以上. 表2 不同分類器訓練時間對比 4.3.1 評價方法 論文所要解決的問題是動作分割,精準地檢測每個活動的起始位置,為了評估所提方法的性能選擇評價指標[31]:精度(Precision),召回率(Recall)和F1,各個指標定義如公式(2)-公式(5)所示: (2) (3) (4) (5) 4.3.2 實驗結果 論文將從HARuS數據中30位受試者的60個樣本中隨機抽取其中的5組作為測試,其余的數據作為LightGBM分類器的訓練樣本.其中,5組測試樣本是完整連續動作序列,剩下的55組訓練樣本進行分類訓練,同時,根據2.2節所提方法統計出閾值α=0.0011.實驗的實驗平臺在搭載了Intel? CoreTMi7-4710HQ 2.5GHz CPU和NVIDIA GeForce? GTX 850M 2G GPU的ASUS筆記本電腦上進行,操作系統是Windows 8.1,使用開源編程語言Python 3.6.0進行實驗測試. 表3所示,5組測試樣本所對應4種評價方法(Precision、Recall、F1)的結果,Accuracy最高可達到了98%以上,最低為95%左右,其余都達到97%以上,說明絕大多數的動作類別點都被正確識別.其中,S5樣本在Accuracy和F1表現最優.12種類別的混淆矩陣如表4所示,基本動作的分割準確率都比較高,過渡動作坐到躺和站到躺的查全率(recall)達到100%.在圖8中,展示的是S5樣本的加速度X軸信號數據散點圖,對3類動態動作、過渡動作和靜態動作分別用5類不同顏色的點進行標定.其中圖8(a)為樣本分割效果圖,不同的動作已用對應的顏色進行標定.圖8(b)是圖8(a)對應的GroundTruth樣本對比圖,其中,對HARuS數據庫中未經標定動作的段留白,防止對其他動作造成干擾.從圖8(a)中可以看出靜態動作、動態動作和過渡動作都準確地被標定出來,一些錯誤標定的部分出現在無用段,不作為評價對象,再者就是一些過渡段與靜態動作的前后連接處往往不能精確地區分出來,因為人類由一個動作向另一個動作過渡時,很難界定過渡動作的起始時刻. 表3 5個測試樣本不同評價指標下的結果 圖8 S5實驗對比圖 表4 S5測試樣本每個動作分割結果混淆矩陣 4.3.3 實驗結果對比 通過對比前人的研究成果來體現所提方法的優越性.所提出的模型在HARuS數據集上進行實驗,所以選取的對比研究同樣是在HARuS數據集上進行的.具體體現在表5和表6中,分別對每個動作類別的準確率和召回率進行對比. 表5 提出的方法與其他方法精確率的對比 表6 提出的方法與其他方法召回率的對比 文獻[15]提出AW-TD算法,根據每一類動作信號屬于特定的概率,建立多元高斯函數來自適應地調整窗口大小.不同的是論文所提出的模型可以檢測UCI數據庫中所有的12類動作,而文獻[15]只對其中走、坐、站、站到坐、坐到站、坐到躺、躺到坐動作進行分割識別.同樣的,文獻[32]結果也是來自文獻[15]只對7種動作進行分割識別,且兩種的分割識別方法表現出很好的效果,AW-TD算法對走、坐、站的分割精確率達到了95%以上,召回率也是高于90%,兩者遠遠高于GD算法.另外,論文所提方法對坐、站、站到坐、坐到站躺到坐動作的分割精確率均高于AW-TD算法表現,整體識別率也是達到98%以上,高于AW-TD的96.5%和GD的91.9%. 論文針對復雜動作的分割識別,提出了狀態轉移識別模型,可以分割并識別復雜動作序列中的基本動作和過渡動作,并將每個動作數據點進行類別的標定,將動作分割精確到采樣點級別.整個模型分兩個部分:第1部分,根據滑動窗口分割方法分割識別基本動作(動態動作和靜態動作),將其中周期較強的動態動作的分割識別結果保留,另外,將靜態動作作為動作先驗保留.第2部分,根據靜態動作信號變化率接近零值的特性,通過統計法給定靜態動作信號波動閾值,將進一步細分靜態動作區域,再根據有限狀態機和動作先驗可將過渡動作精準分割.本模型在UCI公開的HARuS數據集上進行研究實驗,從結果可以看出,提出的模型可以很好地分割識別出動態動作、靜態動作和過渡動作,并且整體準確率達到98%以上.另外,與已知的在同一個數據集上并做相同的研究相比,整體準確率比GD方法高6.3%,比AW-TD方法高1.7%. 盡管,提出的模型在復雜動作分割和識別取得相對較好的效果,但是模型本身存在許多問題,尤其是模型的魯棒性和在線分割識別方面存在不足.接下來的探索將會在模型的基礎上開發自適應的分割方法,并在其他的相關公共數據集上進行實驗來優化模型,提高查準率的同時兼顧查全率,增加其魯棒性.

4 實驗及結果分析
4.1 數據集介紹
4.2 分類訓練



4.3 實驗設置與結果分析





5 結 論