劉雅秦,葉 寧,2,徐 康,2,王汝傳,2,唐 震
1(南京郵電大學 計算機學院、軟件學院、網絡空間安全學院,南京 210023)
2(江蘇省無線傳感網高技術研究重點實驗室,南京 210023)
3(南京郵電大學 材料科學與工程學院,南京 210023)
跌倒是老年人健康風險占比最大的事故.根據世界衛生組織的報告,全球每年約有28%-35%的65 歲以上的老年人跌倒,而70 歲以上的老年人跌倒比例增加至32%-42%[1].《中國傷害預防報告》顯示:老年人跌倒發生率為20.7%[2],跌倒是65 歲及以上人群因傷害致死的第一位原因[3].對個人而言,跌倒使老年人機能衰退,活動能力下降,出現致傷甚至致殘;對社會來說,跌倒會增加醫療支出,耗費社會資源[4].因此,開展老年人群跌倒風險的評估和預測工作是必要的.
人的步態參數包含個人身體活動能力的重要信息,老年人由于生理機能下降及各種神經系統、肌肉骨骼疾病、藥物、心理等多種因素的綜合作用,步態經常出現各種復雜的問題[5].并且步態和平衡問題可以量化和遠程評估,因此跌倒風險可通過測量老年人的步態變化來檢測.
目前,國內外已經提出了許多基于不同傳感器用于步態評估的技術方法.常見的方法之一是使用可穿戴傳感器,如加速度計、陀螺儀和慣性傳感器[6-8].這些設備大多能夠提供準確的步態參數,具備小型化、高靈敏度和低成本等特征,可實時地檢測老年的活動狀態[9].但是,這些傳感器需要技術人員來幫助受試者佩戴以及經常性的維護,它們日常的放置需保證正確和安全.用于運動跟蹤的光學系統(如Vicon 系統),其基于固定在對象身體某些關鍵點上的標記.另外,存在無需穿戴的環境傳感器,例如,測力平臺、活動地毯(如GAITRite),當人們在上面行走時,它們可以檢測雙腳與地面接觸的準確時刻,并計算速度和步長[10].
以上這些設備及系統必須安裝在特定的場所中(如醫療機構和實驗室),并且只能由專業人員操作,不便于對老年人的步態狀況進行長期和連續的監測與評估.因此,顯然需要一種成本低并且易于使用的系統,該系統允許在居家和社區環境下對步態模式進行連續的定量分析.
RGB-D 相機具有低成本和對可見光不變性的優點,由于基于RGB-D 相機的系統始終處于開啟狀態,因此無需受試者佩戴和充電維護.使用Kinect 傳感器進行身體活動能力評估首次出現在文獻[11]中,在這項工作中,評估了使用微軟Kinect 獲得時間和空間步態參數的測量結果,并與現有的基于網絡攝像頭的系統以及Vicon 運動捕捉系統進行了比較.實驗結果表明,Kinect 傳感器測量步態參數具有足夠的精度.
新穎性檢測使用單一類別的數據構建預測模型,它屬于異常檢測領域,是指在新數據中發現不符合預期行為模式數據的問題.
大多數新穎性檢測方法都是針對特定用例的,需要了解該方法適用的場景以及相關領域的專家知識[12],具體可分為3 大類別.一是經典的統計或密度估計方法:對“正態”類別進行建模,以確定測試樣本是否來自相同的分布;二是將訓練集中樣本點與特征空間中所有其他可能的未知數據點分開,如對訓練數據集中的各類構建最小球體,測試集數據不落入任何球體即視為新穎點;三是基于encode-decode 思想,通過壓縮數據表示和測量輸入的重構誤差來檢測新穎性.
近年來,深度學習模型在解決不同領域具有挑戰性檢測問題中的表現引人注目,其通過神經網絡學習特征表示或異常分數進行新穎性檢測[13].
異常步態數據屬于異常數據中的模式異常或稱集體異常.在先前的研究工作中,已經將新穎性檢測應用于步態病理學的分析[14-16],特別地,在文獻[16]中使用智能手機的慣性步態數據,用于訓練和評估單類支持向量機(OC-SVM)和支持向量數據描述(SVDD)這兩種新穎性檢測分類器,結果證明了使用新穎性檢測從智能手機數據中預測跌倒風險的潛力,但該項工作并未對單類支持向量機和其他不同類別新穎性檢測模型的預測性能進行比較.
本文提出了一種步態特征提取方法,對基于Kinect獲得的三維骨架數據進行時空和運動學分析,提取出相應的步態參數特征,并結合受試者個體信息生成的個性化特征,作為特征集合共同輸入到分類器中訓練以預測跌倒風險.同時,考慮到數據收集工作中可能遇到的樣本不平衡問題,即低跌倒風險人群的數量可能遠超過高跌倒風險人群,使用異常檢測領域的新穎性檢測模型單類支持向量機(OC-SVM)對提取的特征集合進行訓練和評估.
本實驗使用的深度相機為美國微軟公司研發的Kinect v2,其拍攝出的RBG-D 行為數據主要包含3 種模態:深度數據、RGB 數據和三維骨架數據.由于Kinect 獲取的數據包含比較多的噪聲,相比基于深度信息數據的方法,基于三維骨架的方法信息根據準確,還可省去輪廓線提取等過程帶來的錯誤和誤差[17],因此本文使用三維骨架數據.同時,相比基于RGB 數據的方法,使用三維骨架數據可保護用戶的隱私,未來更適合應用于居家和社區場景.
如圖1所示,在實驗場景中,Kinect 被放置在離地面0.8 M的高度,考慮到Kinect 探測距離的限制,受試者開始距設備3.5 m,要求沿直線行走3 m,行走結束時距離設備0.5 m.

圖1 實驗數據采集設置
如圖2所示,本文跌倒風險預測方法流程為:將采集到的原始三維骨架經數據去噪處理后,通過步態特征提取方法提取出受試者的步態參數,結合受試者自身個性化特征共同輸入到跌倒風險預測模型中,最后輸出受試者的風險等級(高/低).

圖2 跌倒風險預測方法流程圖
其中,提出的基于三維骨架數據的步態特征提取方法可提取出相應的時空參數和運動學參數如步幅、步速、膝關節角度等;并且引起跌倒的因素眾多,因此本文也結合了受試者的個體信息如病史、跌倒史等作為共同輸入.具體內容在第2 節介紹.
考慮到高跌倒風險樣本不易獲得的情況,由于新穎性檢測器不需要平衡數據集,提出的跌倒風險預測模型使用新穎性檢測領域中的單類支持向量機(OCSVM).具體內容在第3 節介紹.
由于Kinect 測量的關節點存在噪聲,所以需要對獲取的三維骨架數據進行去噪處理,提高測量的精度.
首先,需要去除原始樣本數據時間序列中的高頻擾動,應用一次移動平均濾波(single moving average,SMA).一次移動平均的本質是一種低通濾波,對時間序列直接求等權重均值.本文將每段三維骨架步態樣本中關節點的某一方向(x/y/z)信號看作一組一維時間序列,其中,n為參與SMA 的幀數的個數,則第t+1幀信號SMA 后的值St+1計算公式為式(1):

同時,為了更準確地獲取步態時空參數,在上述一次移動平均濾波的基礎上,對足跟關節15 和19 的z軸方向數據應用中值濾波器.中值濾波器在圖像處理領域應用廣泛,其基本思想是,如果一段信號是平緩變化的,那么某一點的輸出值可以用該點某個窗口大小內所有值的中值來代替.Kinect 三維骨架數據布局如圖3所示.

圖3 Kinect 三維骨架數據的布局
去噪處理后效果如圖4 和圖5所示(圖4 為左膝關節角度原始數據和濾波后的效果;圖5 為z15-z19原始數據和濾波后的效果).

圖4 左膝關節角度原始數據和濾波后效果對比

圖5 z15-z19原始數據和濾波后效果對比
若通過步態分析預測跌倒風險,適當地選擇所需的步態參數是必要的.本文將所需的步態參數分為兩類:時空參數和運動學參數.
時空參數包括步幅、步速、步頻.步幅指一足著地至同一足再次著地的距離.對于每個骨架數據幀t,Kinect 提供一個時間戳.為了計算步幅,本文使用兩個足跟關節15 和19 的z坐標差值[18],如圖6所示,同時這兩個坐標差值的極值給出了每一步的開始幀ts和結束幀tf.步幅stride的計算公式為式(2):

圖6 行走階段的步態樣本步幅分割示例


步頻同樣也對老年人跌倒有預測作用,步頻由步幅決定,在本文中計算一個行走樣本數據內的平均步頻.若一個樣本中的步幅數為m,骨架數據幀數為n,則步頻cadence的計算公式為式(4):

運動學參數是反映行走過程中下肢運動和平衡能力的指標,包括左右膝關節角度和兩腿間角度.在Kinect 獲取到關節的三維坐標點后,將骨骼看作兩個關節點間的直線,通過余弦定理可計算關節間角度.
膝關節角度定義為每條腿的大腿和小腿間的夾角.左膝關節角度LKA(left knee angle)為連接左腿關節12 至13 及13 至14 的兩個向量之間的角度,右膝關節角度RKA(right knee angle)為連接右腿關節16 至17 及17 至18 的兩個向量之間的角度.
兩腿間的角度LA(leg angle)定義為連接關節0 至13 及0 至17 的兩個向量之間的角度.
以左膝關節角度為例,如圖3所示,計算公式為式(5):

其中,Li,j為關節i和j間的長度,.
為了能表示受試者的平衡能力變化的穩定性,將每一步幅范圍中的左膝關節角度值取方差,則得到特征值var(LKA).
本文重點關注的是基于老年人的步態特征預測跌倒風險,但受試者的自身因素也因適當考慮.以性別因素為例,根據中國健康與養老追蹤調查(CHARLS)2015年數據,研究發現無論在城鎮還是農村地區,無論在哪個年齡段,中國老年女性的跌倒發生率始終顯著高于老年男性[19].同時,跌倒史被認為與跌倒風險增強有很強的聯系[20].
參考文獻[21]提出使用三維骨骼關節時域特征和元數據特征結合預測跌倒風險等級的方法,本文選擇性別(“1”和“0”分別代表男性和女性)、是否被診斷具有某些與平衡相關的損傷(“1”和“0”分別代表是和否)以及過去6 個月是否存在跌倒史(“1”和“0”分別代表是和否)這3 個二值特征,和步態特征共同作為輸入.表1 列出了本實驗用于預測跌倒風險的特征.

表1 預測跌倒風險特征列表
新穎性檢測是典型的一分類問題,指對大量正常數據中包含異常值或未預見值的自動識別.新穎性檢測在很多領域有著廣泛的實際應用,如醫學診斷、工業系統故障檢測、電子安全系統入侵檢測、文本挖掘等[22].
新穎性檢測的實現方法包括頻率論方法、貝葉斯方法、信息論、極值統計、支持向量法、其他核方法以及神經網絡.一般使用訓練數據構建模型,訓練數據可包含非常少的新穎點(異常點)或不包含新穎點.根據算法得出數據x的新穎性分數z(x),并根據通常稱為新穎性閾值z(x)=k的決策邊界來檢測其偏離正態性的情況.本文選擇單類支持向量機訓練和評估基于第2 節特征提取方法生成的特征數據.
考慮到未來面向社會開展老年人跌倒風險預測實際工作的初期,進行步態樣本數據采集時,由于高跌倒風險樣本不易獲得,為降低數據收集的成本,低跌倒風險的樣本數量可能遠超過高跌倒風險數量.可將低跌倒風險樣本看作正常數據,高跌倒風險樣本看作異常數據.由于新穎性檢測算法中訓練數據允許包含極少量異常數據,對上述不平衡數據情況下進行模型的構建與訓練是適用且有效的.
本節主要介紹單類支持向量機(one-class SVM,OC-SVM)的基本概念.
根據文獻[23]中的描述,OC-SVM的原理是將特征空間中的原點與數據點分離開,以最大化間隔作為優化目標.該算法返回一個二元決策函數f(x),能夠獲取特征空間中數據的概率密度區域.f(x)在捕獲大部分數據點的區域中取值+1,在其他地方取值-1.
給定訓練集X= {x1,x2,···,xN}?Rn,N為訓練集樣本數量.為了將訓練數據集與原點分離,并且與原點的距離最大,需求解二次規劃問題(6):

其中,ζi為松弛變量,Φ(xi)為原始訓練樣本xi在特征空間 Φ中的投影,w和 ρ表征超平面.
此時,需求解對偶問題(7):

需要注意參數v∈(0,1),當其趨近于0 時為訓練數據集中作為支持向量的樣本數量的下限,當其趨近于1 時為訓練數據中新穎性分數的上限.也就是說,v的值直接決定了單類支持向量機新穎性檢測算法的靈敏度.
數據采集和開發基于Visual Studio 2019 和JetBrains PyCharm Community Edition 2017.在實驗室條件下,Kinect v2 以30 fps 的速度進行數據更新.
共12 名志愿者參與實驗步態數據的采集工作,分別模擬不同跌倒風險的老年人步態,其中男性9 名,女性3 名.在每次實驗中,受試者距設備3.5 m,沿直線行走3 m,每名受試者重復6-8 次.在12 名受試者中,4 名被標記為有高跌倒風險(女性1 名,男性3 名),8 名被標記為有低跌倒風險(女性2 名,男性6 名),具體信息見表2.

表2 參與實驗的12 名受試者個性化特征信息及跌倒風險等級
總體而言,實驗數據集包含60 個標記為低跌倒風險的原始步態片段和29 個標記為高跌倒風險的原始步態片段.
如圖7所示,采用第2 節的步態特征提取方法對三維骨架數據集進行預處理及特征提取后,基于滑動窗口算法對每個受試者單次行走樣本進行再劃分,時間連續的步幅被分組以形成包含1 個步幅的數據窗口,按時間順序排列,滑動步長為1.這樣,可以從單個對象的數據中提取多個數據窗口,以生成多個樣本.最終生成338 條低跌倒風險樣本,236 條高跌倒風險樣本.

圖7 基于滑動窗口為1 的步態樣本數據擴充
這種數據擴充方法的優點是[24]:它在數據中引入了個體對象的變化,這有助于提高機器學習分類器的泛化性能;該方法允許頻繁和實時的推斷,這對于跌倒風險預測中的及時干預十分重要.
在文獻[16]的數據集劃分方法基礎上,本文的實驗數據集劃分如下:隨機選取80%的低跌倒風險樣本放入訓練數據中,同時隨機選取與訓練集中低跌倒風險樣本比例為1:90 的高跌倒風險樣本;剩余20%的低跌倒風險樣本用于構建測試集的一部分,而剩下部分由隨機選取的百分比與完整數據集百分比相同的高跌倒風險樣本構成.
K 近鄰(K-nearest neighbors,KNN)算法和神經網絡在異常檢測領域都有相應的研究和應用,神經網絡方法可處理非線性和非高斯數據,KNN 通過計算測試樣本與其鄰近樣本之間的相似度來檢測測試樣本是否異常.
孤立森林(isolation forest,iForest)是一種基于決策樹的分類算法,已被證實在大部分工業異常檢測場景中效果較好.
因此,本文選擇K 近鄰(KNN)算法和多層感知機(multi-layer perceptron,MLP)、孤立森林(iForest)和OC-SVM 進行對照實驗.
實驗使用了超參數空間上的網格搜索來執行超參數優化.為了提高模型的穩健性和避免過擬合,使用了K折交叉驗證法(K=5),找到最優超參數后,在訓練集上重新訓練模型,并使用獨立測試集對模型性能做出最終的評價.
本節使用的模型及方法均通過Scikit-learn 庫[25]實現.
新穎性檢測技術的有效性可以根據有多少新數據點被正確識別以及有多少正常數據被錯誤地分類為新數據來評估[22].并且,需考慮到在使用不平衡數據集的實驗下,正樣本數量遠遠超過負樣本,模型分類準確度并不能完全衡量和評價模型的好壞,更合適的指標是F1-score,其為綜合考慮精確率(Precision)和召回率(Recall)的調和值.
實驗使用正確率(ACC)、虛警率(FPR)和F1-score評估模型的檢測性能,定義如式(8):

其中,

其中,tp,tn,fp,fn分別代表真陽性、真陰性、假陽性、假陰性的樣本數量.
神經網絡算法具有隨機性,使用同樣的數據訓練同一個網絡會得到不同的結果.孤立森林算法和隨機森林算法類似,每次選擇劃分屬性和劃分點(值)時都是隨機的.
因此對MLP 及iForest 的訓練和測試過程完整重復10 次,其評價標準的結果均取平均值.模型性能評估結果如表3所示.

表3 不平衡數據集下分類器性能評估結果
新穎性檢測技術應該以高檢測率為目標,并且需要保持低虛警率.接收者操作特征(ROC)曲線通常用于表示檢測率和虛警率間的權衡.所有4 種分類器的ROC 曲線如圖8所示.在上述模型中,OC-SVM 檢測的準確率達86.96%,虛警率為10.64%,其F1-score為88.55%,AUC 為0.96,表現最佳.結果表明,OC-SVM可用于不平衡數據集下步態數據的跌倒風險預測,并在中小型數據集中有較好的表現力.同時,證明了基于Kinect 三維骨架數據預測老年人跌倒風險的潛力.

圖8 4 種分類器ROC 曲線比較
為了驗證引入個性化特征對跌倒風險預測的作用,本節進行消融實驗.
去除個性化特征,僅選擇數據集的跌倒風險特征(表1)中5 個步態特征對4 種模型進行訓練和測試,模型性能評估結果如表4所示.
由表4 可知,OC-SVM 在消融實驗中預測跌倒風險的能力仍是最好的.去除個性化特征后,大部分模型的準確率及F1-score下降,虛警率上升,影響較大的為MLP 和iForest.

表4 消融實驗下分類器性能評估結果
綜上,證明引入個性化特征對于提升跌倒風險預測方法的精度和魯棒性有積極作用,為未來增加受試者個體信息特征及進一步構建跌倒風險預測模型提供參考.
本文提出了一種基于Kinect 三維骨架步態數據的特征提取方法,并結合老年人自身個性化特征以預測跌倒風險.同時,考慮到數據采集工作的現實情況,采用新穎性檢測模型OC-SVM 在不平衡數據集下進行數據的訓練與評估,獲得了良好的表現,有效地區分出低跌倒風險受試者和高跌倒風險受試者.
在今后的工作中:考慮增加更多的個性化特征用于跌倒風險評估;在更多數據的支持下,提出平衡數據集下的跌倒風險預測模型,以此提高模型在不同數據集下對老年人跌倒風險預測的準確度和穩健性.