南 靜,建中華,寧傳峰,代 偉
中國礦業(yè)大學信息與控制工程學院,徐州 221116
隨著微電子技術和計算機技術的快速發(fā)展,人體行為識別(Human activity recognition, HAR)已經成為普適計算中一個重要研究方向. 其在醫(yī)療保健、智能建筑和軍事等領域發(fā)揮著極其重要的作用.例如:在醫(yī)療保健中,醫(yī)生可以通過HAR系統(tǒng)對病人進行連續(xù)的觀察,然后給出診斷和治療方案[1-3],進而提高醫(yī)療資源的利用率;在智能建筑中,物業(yè)人員可以利用居住者的行為信息來提高環(huán)境舒適度和實現(xiàn)能源的高效使用[4-6]. 在軍事上,通過對軍人體能訓練的連續(xù)監(jiān)測,可以防止由于過度疲勞而導致意外損傷[7].
事實上,人體行為識別研究的源頭可以追溯到20世紀90年代末[8],發(fā)展至今日,其主要分為基于視頻和基于可穿戴傳感器這兩大方向. 基于視頻識別人體行為具有破壞性、成本昂貴和容易受環(huán)境影響(如:物體遮擋)等缺點,并且在某些情況下容易侵犯用戶隱私. 而基于可穿戴傳感器的識別提供了一種快速、低成本、隱私性好且不易受環(huán)境影響的替代方案. 文獻[9]首先使用可穿戴傳感器收集人體行為數(shù)據(jù),其次分別利用隨機森林(Random forests, RF)和樸素貝葉斯模型作為行為分類器. 實驗結果表明,隨機森林在識別性能上優(yōu)于樸素貝葉斯模型;文獻[10]將高斯隨機投影方法引入極限學習機(Extreme learning machine, ELM)隱含層參數(shù)分配中,以加強模型的多樣性,然后使用包含三軸加速度和陀螺儀傳感器數(shù)據(jù)的2個真實數(shù)據(jù)集進行人體行為識別研究,結果表明該分類器在兩個數(shù)據(jù)集上分別實現(xiàn)了97.35%和98.88%的識別精度. 由此可知,多傳感器數(shù)據(jù)的使用有助于提高人體行為識別模型的識別性能. 但上述可穿戴傳感器存在價格昂貴、部署繁瑣等難題,不利于HAR的廣泛實際應用.
智能手機因具有內置眾多傳感器、價格低廉和普適性等特點成為它們的替代品,并吸引許多科研工作者開展基于智能手機的人體行為識別研究. 由于智能手機傳感器數(shù)據(jù)含有噪聲,因此為識別模型提取一組魯棒性特征是非常有必要的. 而時頻域特征是一種機器學習中廣泛使用的魯棒性特征. 其中,時域特征包括平均值、最大值和最小值等,它們一般被用來區(qū)分lying和standing等簡單行為;而頻域特征是指通過將原始數(shù)據(jù)轉化到頻域再提取的特征,它包括向量夾角和最大頻率分量等. 由于頻域特征注重局部的數(shù)據(jù)變化,因此被用來區(qū)分模態(tài)相近的行為. 但是,在時頻域特征中往往含有一些不利于建模的特征,故需要進行特征選擇. 文獻[11]首先使用主成分分析(Principal component analysis, PCA)從時頻域特征集選擇最優(yōu)的特征子集,其次提出了隱馬爾科夫模型(Continuous hidden markov model, HMM)和支持向量機(Support vector machine, SVM)相結合的識別模型. 實驗的結果表明, HMM-SVM模型的識別性能遠高于HMM和SVM. 文獻[12]使用離線提取器從候選的時頻域特征集中選擇對傳感器方向不敏感特征進行人體行為識別, 并利用K近鄰(K-nearest neighbors, KNN)進行仿真實驗, 結果表明這種方法能夠用更少的特征取得相近或更好的識別性能. 然而上述特征選擇技術僅僅關注了特征的冗余性,缺少對特征相關性的考慮. 最近,深度學習也被廣泛用于人體行為識別[13-14]. 文獻[15]首先提出了利用卷積神經網絡和遞歸神經網絡分別提取空間域和時間域的特征的方法,其次使用長短期記憶網絡模型基于所提特征進行行為識別建模和分類. 結果表明,該方法實現(xiàn)93.7%的識別精度. 文獻[16]首先利用遞歸框架從傳感器數(shù)據(jù)中提取局部特征,然后使用長短期記憶網絡模型識別人體行為. 雖然深度學習模型在特征提取方面有很大的優(yōu)勢,但其也有兩個主要缺點:建模時間過長和需要大樣本集. 而智能手機資源(CPU, 內存)的有限性使得基于智能手機進行人體行為識別建模的模型必須滿足結構緊致、模型輕量和建模速度快等特性,因此,深度學習不適合此類研究.
近年來,Wang和Li[17]提出一種具有建模速度快、實現(xiàn)簡單和結構緊致等特點的單隱層前饋神經網絡隨機學習方法,即隨機配置網絡(Stochastic configuration networks, SCNs). SCNs作為一種增量式構建網絡的學習模型,其首先在一個動態(tài)可調區(qū)間內根據(jù)不等式監(jiān)督機制隨機分配隱含層節(jié)點參數(shù);然后,利用全局最小二乘來計算網絡輸出權值. 這種網絡構建方法不僅保證了網絡模型的無限逼近性還減少了人為干預和增加了模型結構的緊致性. 因此,可以說SCNs是一種輕量模型. 目前,SCNs已經被應用到赤鐵礦磨礦過程[18]、光纖預警[19]等眾多領域. 但SCNs在隱含層節(jié)點過多時容易出現(xiàn)過擬合現(xiàn)象,極大地降低SCNs的泛化性,進而影響SCNs的實際應用.
綜上,針對上述問題,本文從以下兩個創(chuàng)新點出發(fā)進行人體行為識別的研究:
(1) 針對原始人體行為特征集維數(shù)過高且可分性差,不利于建立輕量型人體行為識別模型問題. 本文提出基于近鄰成分分析(Neighbourhood component analysis, NCA)的特征選擇技術對原始的人體行為識別特征集進行高相關性特征選擇,提高特征集的可分性和降低特征集的維數(shù),進而提高行為識別模型建模計算過程的輕量性;
(2) 針對隨機配置網絡隱含層節(jié)點過多時會導致模型過擬合問題. 使用L2正則化優(yōu)化模型結構,進而增強SCNs模型的泛化性和輕量性.
本文中所提的HAR學習模型主要包括數(shù)據(jù)采集及特征處理、NCA特征選擇和建立模型等三個步驟. 其中,數(shù)據(jù)采集及特征處理是指利用傳感器采集人體行為信息,然后進行歸一化和特征提??;NCA特征選擇是指利用NCA從上一步驟中獲得的特征集中選擇高相關性最優(yōu)特征子集;建立模型是指采用本文所提L2-SCNs建立HAR模型.
特征選擇結果的優(yōu)劣直接關系到所建人體行為識別模型的輕量性和質量好壞[20],過多冗余和不相關特征不僅對模型泛化性的提升不利,還容易增加建模難度和計算負荷. 因此,本文從行為特征之間相關性的角度出發(fā),使用NCA從人體行為特征集中選擇高相關性最優(yōu)特征子集,進而提高行為識別模型計算過程的輕量性. NCA是一種簡單高效的距離度量算法[21-22]. 它通過最大化留一法的分類精度來選擇對于人體行為識別模型最優(yōu)的特征子集.
SCNs作為一種先進的網絡模型,其在模型結構緊致性、建模速度等方面的高性能已經被證實[23-24]. SCNs結構如圖1所示. 本小節(jié)針對SCNs泛化性和輕量性不足問題,基于L2正則化理論[25],提出了L2-SCNs模型,并將其應用于人體行為識別研究之中.
圖1 SCNs網絡結構圖Fig.1 SCNs network structure
為了進一步體現(xiàn)本文所提算法在輕量型方面的優(yōu)勢,本文分別從建模計算復雜度和所需節(jié)點數(shù)(隱含層參數(shù)量)兩個方面進行分析.
1.4.1 建模計算復雜度
本文針對三種隨機算法的計算復雜度進行了深入地分析,具體結果如表1所示,其中,561表示原始數(shù)據(jù)集的特征數(shù),111表示經過NCA處理后數(shù)據(jù)集的特征數(shù). 同時,. 通過觀察該表可以看出,引入NCA和L2正則化有助于提高模型的輕量性.
表1 不同算法的計算復雜度對比Table 1 Comparison of the computational complexity of different algorithms
1.4.2 建模所需節(jié)點數(shù)
為了能夠進一步清楚地展示出所提模型在輕量性方面的優(yōu)勢,本文從建模過程所需節(jié)點數(shù)方面進行說明. 這里分別比較了SCNs和L2-SCNs在保證相同停止均方根誤差(Root mean square error,RMSE)時兩種模型的節(jié)點數(shù),具體結果如圖2所示. 該結果表明,L2正則化的引入使得模型的建模節(jié)點數(shù)從原來的25減少到20,故有助于提高模型在參數(shù)量上的輕量性.
圖2 使用L2正則化前后SCNs的RMSE對比圖Fig.2 RMSE comparison of SCNs before and after L2 regularization
為了驗證所提行為識別學習模型的有效性,本文首先使用NCA技術在UCI HAR特征集上進行特征子集選擇,并針對特征子集的最優(yōu)與否問題進行了分析研究;其次利用L2-SCNs在特征子集上建立NCA-L2-SCNs人體行為識別模型;最后,將所提NCA-L2-SCNs與SCNs、SVM和LSTM等先進模型進行了實驗對比,并對實驗結果進行深入討論.
本文所使用的特征集為UCI HAR特征集,該特征集是由30名年齡在19~48歲之間的志愿者組成,每人腰間佩戴智能手機(三星Galaxy S II)進行 standing、 sitting、 upstairs、 lying、 walking以 及downstairs 6項行為. 它包括特征(時域和頻域特征)數(shù)為561的10299條人體行為樣本,其中訓練集為7209條,測試集為3090條[26]. 同時,本文所有實驗仿真均是利用MATLAB 2019b,在CPU為E3-1225 v6,3.30 GHz,內存為32 G RAM的PC機上進行的. 對于SVM, 本文采用徑向基函數(shù)(RBF)為核函數(shù). LSTM使用一個含有200個隱含層節(jié)點的LSTM層,一個大小為6的全連接層,最后使用softmax層進行預測. 而對于SCNs和L2-SCNs,激活函數(shù)和分別為sigmoid和500,其余參數(shù)為:中參數(shù),使用網格搜索方法在得到. 本文中呈現(xiàn)的所有模型的實驗結果皆是執(zhí)行了30次后的統(tǒng)計結果.
本文利用NCA特征選擇技術從UCI HAR特征集(包含561個特征)選擇高相關性特征子集用于實驗仿真研究,圖3展示了UCI HAR特征集中561個特征的權重系數(shù). 為了獲得利用NCA技術選擇最優(yōu)特征子集,本文給出了在原始特征集和使用NCA選擇后的特征子集上利用L2-SCNs模型實驗仿真的結果,如表2所示. 通過觀察表2可知,L2-SCNs在原始特征集上用29.85 s實現(xiàn)了94.27%的平均識別精度;在利用NCA技術選擇含有111個特征的特征子集上用18.03 s實現(xiàn)了97.48%的平均識別精度;在利用NCA技術選擇含有94個特征的特征子集上用19.88 s實現(xiàn)了97.19%的平均識別精度. 通過上述實驗結果可知,若不使用NCA選擇最優(yōu)特征子集,那么模型的實驗結果不僅耗時而且很差. 此外,對NCA(111)和NCA(94)兩個特征子集結果的分析可知,特征子集的維數(shù)和實驗結果沒有固定的比例關系,只有在包含最詳細人體行為信息且維度適當?shù)奶卣骷拍苁鼓P瓦_到輕量型的要求. 因此,本文選擇NCA(111)作為所提學習模型的最優(yōu)特征子集.
圖3 特征權重分析圖Fig.3 Analysis chart of feature weight
表2 使用NCA特征選擇前后L2-SCNs模型結果對比Table 2 Comparison of L2-SCNs model results before and after using the NCA feature selection
本文將所提的NCA-L2-SCNs學習模型與SVM、LSTM、SCNs和L2-SCNs這幾種模型進行了實驗對比. 結果如表3所示,值得注意:由于SVM模型不涉及參數(shù)的隨機分配,因此,它在多次運行后具有相同的精度. 本文使用MATLAB中l(wèi)ibsvm工具箱進行SVM模型的仿真實驗. 而LSTM模型雖然實現(xiàn)比SVM更好的識別精度,但其建模時間卻最長達到了529 s,遠超于其他模型. 這主要是因為LSTM是一種深度學習模型,其為了實現(xiàn)好的識別精度需要進行模型參數(shù)的尋優(yōu)而LSTM模型參數(shù)眾多,因此建模時間較長. 事實上,這也說明LSTM并不是一種輕量型模型,而這與資源有限條件下人體行為識別模型必須保持輕量性相背. 因此,LSTM模型并不適合這種基于智能手機開展的人體行為識別研究. 而對于SCNs和L2-SCNs而言,由于L2正則化的存在,L2-SCNs模型有著更好的性能:識別精度上從94.18%提升到97.27%;建模時間上從60.59 s下降到29.85 s. 造成建模時間大幅度下降的主要原因是SCNs中在求解輸出權值時使用了Moore-Penrose廣義逆方法,而L2-SCNs使用的是普通的求逆方法. 從數(shù)學角度看,Moore-Penrose廣義逆的計算復雜度遠遠高于普通求逆方法,故計算過程比較耗時. 此外,本文所提NCA-L2-SCNs模型,在可接受的建模時間內,對于人體行為識別研究能夠實現(xiàn)最好的識別精度.
表3 五種方法在UCI特征集上的對比Table 3 Comparison of five methods on the UCI feature set
為了研究NCA特征選擇提高L2-模型性能的本質,本文繪制了使用NCA前后L2-模型的收斂曲線圖,如圖4所示. 通過觀察圖4可知,隨著L2-SCNs隱含層節(jié)點數(shù)的逐漸增加,NCA-L2-SCNs的RMSE由一開始高于L2-到98個節(jié)點后低于L2-SCNs直至最后建模完成. 造成這一結果的主要原因是未經過NCA選擇的特征集中含有大量低相關性特征,而這些特征能夠在L2-SCNs人體行為識別模型構建初期增強模型的非線性映射能力,進而獲得較低的RMSE.
此外,為了分析哪些數(shù)據(jù)被錯誤分類,本文在測試集上計算了NCA-L2-SCNs學習模型的預測行為(輸出類)和實際行為(目標類)的混淆矩陣. 該模型的混淆矩陣如表4所示. 可以觀察到所有模型的錯誤分類主要發(fā)生在sitting和upstairs兩種行為模態(tài)上. 其中sitting有20條數(shù)據(jù)被誤分為standing,而standing中有1條數(shù)據(jù)被誤分為sitting. 造成這一結果的主要是因為兩種行為的模態(tài)比較相近,而且在收集這類行為的傳感器數(shù)據(jù)時,陀螺儀傳感器的數(shù)據(jù)幾乎全部為0,同時僅僅利用三軸加速度傳感器數(shù)據(jù)去識別各種行為時會出現(xiàn)模型識別能力低下的問題. 而行為模態(tài)的相似性使得upstairs的23條數(shù)據(jù)被錯誤地分成了walking.
表4 NCA-L2-SCNs模型識別結果混淆矩陣Table 4 Confusion matrix of NCA-L2-SCNs model recognition results
(1) 針對人體行為識別研究中資源有限問題,本文提出了一種輕量型NCA-L2-SCNs人體行為識別學習模型.
(2) NCA特征選擇方法能夠提高人體行為識別特征集的可分性和輕量性,進而達到提高模型的識別精度和降低模型建模過程計算復雜度.
(3) 使用L2正則化技術解決SCNs由于隱含層節(jié)點過多導致的過擬合問題,增強SCNs模型結構的緊致性,進而提高模型的泛化性和輕量性.
(4) 在UCI HAR特征集上的實驗結果表明,在可接受的時間內,本文所提NCA-L2-SCNs學習模型相比于其他模型具有更好的識別精度,且計算復雜度更低. 因此,模型更加輕量.