劉雅秦,葉 寧,2,徐 康,2,王汝傳,2,唐 震
1(南京郵電大學 計算機學院、軟件學院、網(wǎng)絡空間安全學院,南京 210023)
2(江蘇省無線傳感網(wǎng)高技術(shù)研究重點實驗室,南京 210023)
3(南京郵電大學 材料科學與工程學院,南京 210023)
跌倒是老年人健康風險占比最大的事故.根據(jù)世界衛(wèi)生組織的報告,全球每年約有28%-35%的65 歲以上的老年人跌倒,而70 歲以上的老年人跌倒比例增加至32%-42%[1].《中國傷害預防報告》顯示:老年人跌倒發(fā)生率為20.7%[2],跌倒是65 歲及以上人群因傷害致死的第一位原因[3].對個人而言,跌倒使老年人機能衰退,活動能力下降,出現(xiàn)致傷甚至致殘;對社會來說,跌倒會增加醫(yī)療支出,耗費社會資源[4].因此,開展老年人群跌倒風險的評估和預測工作是必要的.
人的步態(tài)參數(shù)包含個人身體活動能力的重要信息,老年人由于生理機能下降及各種神經(jīng)系統(tǒng)、肌肉骨骼疾病、藥物、心理等多種因素的綜合作用,步態(tài)經(jīng)常出現(xiàn)各種復雜的問題[5].并且步態(tài)和平衡問題可以量化和遠程評估,因此跌倒風險可通過測量老年人的步態(tài)變化來檢測.
目前,國內(nèi)外已經(jīng)提出了許多基于不同傳感器用于步態(tài)評估的技術(shù)方法.常見的方法之一是使用可穿戴傳感器,如加速度計、陀螺儀和慣性傳感器[6-8].這些設(shè)備大多能夠提供準確的步態(tài)參數(shù),具備小型化、高靈敏度和低成本等特征,可實時地檢測老年的活動狀態(tài)[9].但是,這些傳感器需要技術(shù)人員來幫助受試者佩戴以及經(jīng)常性的維護,它們?nèi)粘5姆胖眯璞WC正確和安全.用于運動跟蹤的光學系統(tǒng)(如Vicon 系統(tǒng)),其基于固定在對象身體某些關(guān)鍵點上的標記.另外,存在無需穿戴的環(huán)境傳感器,例如,測力平臺、活動地毯(如GAITRite),當人們在上面行走時,它們可以檢測雙腳與地面接觸的準確時刻,并計算速度和步長[10].
以上這些設(shè)備及系統(tǒng)必須安裝在特定的場所中(如醫(yī)療機構(gòu)和實驗室),并且只能由專業(yè)人員操作,不便于對老年人的步態(tài)狀況進行長期和連續(xù)的監(jiān)測與評估.因此,顯然需要一種成本低并且易于使用的系統(tǒng),該系統(tǒng)允許在居家和社區(qū)環(huán)境下對步態(tài)模式進行連續(xù)的定量分析.
RGB-D 相機具有低成本和對可見光不變性的優(yōu)點,由于基于RGB-D 相機的系統(tǒng)始終處于開啟狀態(tài),因此無需受試者佩戴和充電維護.使用Kinect 傳感器進行身體活動能力評估首次出現(xiàn)在文獻[11]中,在這項工作中,評估了使用微軟Kinect 獲得時間和空間步態(tài)參數(shù)的測量結(jié)果,并與現(xiàn)有的基于網(wǎng)絡攝像頭的系統(tǒng)以及Vicon 運動捕捉系統(tǒng)進行了比較.實驗結(jié)果表明,Kinect 傳感器測量步態(tài)參數(shù)具有足夠的精度.
新穎性檢測使用單一類別的數(shù)據(jù)構(gòu)建預測模型,它屬于異常檢測領(lǐng)域,是指在新數(shù)據(jù)中發(fā)現(xiàn)不符合預期行為模式數(shù)據(jù)的問題.
大多數(shù)新穎性檢測方法都是針對特定用例的,需要了解該方法適用的場景以及相關(guān)領(lǐng)域的專家知識[12],具體可分為3 大類別.一是經(jīng)典的統(tǒng)計或密度估計方法:對“正態(tài)”類別進行建模,以確定測試樣本是否來自相同的分布;二是將訓練集中樣本點與特征空間中所有其他可能的未知數(shù)據(jù)點分開,如對訓練數(shù)據(jù)集中的各類構(gòu)建最小球體,測試集數(shù)據(jù)不落入任何球體即視為新穎點;三是基于encode-decode 思想,通過壓縮數(shù)據(jù)表示和測量輸入的重構(gòu)誤差來檢測新穎性.
近年來,深度學習模型在解決不同領(lǐng)域具有挑戰(zhàn)性檢測問題中的表現(xiàn)引人注目,其通過神經(jīng)網(wǎng)絡學習特征表示或異常分數(shù)進行新穎性檢測[13].
異常步態(tài)數(shù)據(jù)屬于異常數(shù)據(jù)中的模式異?;蚍Q集體異常.在先前的研究工作中,已經(jīng)將新穎性檢測應用于步態(tài)病理學的分析[14-16],特別地,在文獻[16]中使用智能手機的慣性步態(tài)數(shù)據(jù),用于訓練和評估單類支持向量機(OC-SVM)和支持向量數(shù)據(jù)描述(SVDD)這兩種新穎性檢測分類器,結(jié)果證明了使用新穎性檢測從智能手機數(shù)據(jù)中預測跌倒風險的潛力,但該項工作并未對單類支持向量機和其他不同類別新穎性檢測模型的預測性能進行比較.
本文提出了一種步態(tài)特征提取方法,對基于Kinect獲得的三維骨架數(shù)據(jù)進行時空和運動學分析,提取出相應的步態(tài)參數(shù)特征,并結(jié)合受試者個體信息生成的個性化特征,作為特征集合共同輸入到分類器中訓練以預測跌倒風險.同時,考慮到數(shù)據(jù)收集工作中可能遇到的樣本不平衡問題,即低跌倒風險人群的數(shù)量可能遠超過高跌倒風險人群,使用異常檢測領(lǐng)域的新穎性檢測模型單類支持向量機(OC-SVM)對提取的特征集合進行訓練和評估.
本實驗使用的深度相機為美國微軟公司研發(fā)的Kinect v2,其拍攝出的RBG-D 行為數(shù)據(jù)主要包含3 種模態(tài):深度數(shù)據(jù)、RGB 數(shù)據(jù)和三維骨架數(shù)據(jù).由于Kinect 獲取的數(shù)據(jù)包含比較多的噪聲,相比基于深度信息數(shù)據(jù)的方法,基于三維骨架的方法信息根據(jù)準確,還可省去輪廓線提取等過程帶來的錯誤和誤差[17],因此本文使用三維骨架數(shù)據(jù).同時,相比基于RGB 數(shù)據(jù)的方法,使用三維骨架數(shù)據(jù)可保護用戶的隱私,未來更適合應用于居家和社區(qū)場景.
如圖1所示,在實驗場景中,Kinect 被放置在離地面0.8 M的高度,考慮到Kinect 探測距離的限制,受試者開始距設(shè)備3.5 m,要求沿直線行走3 m,行走結(jié)束時距離設(shè)備0.5 m.
圖1 實驗數(shù)據(jù)采集設(shè)置
如圖2所示,本文跌倒風險預測方法流程為:將采集到的原始三維骨架經(jīng)數(shù)據(jù)去噪處理后,通過步態(tài)特征提取方法提取出受試者的步態(tài)參數(shù),結(jié)合受試者自身個性化特征共同輸入到跌倒風險預測模型中,最后輸出受試者的風險等級(高/低).
圖2 跌倒風險預測方法流程圖
其中,提出的基于三維骨架數(shù)據(jù)的步態(tài)特征提取方法可提取出相應的時空參數(shù)和運動學參數(shù)如步幅、步速、膝關(guān)節(jié)角度等;并且引起跌倒的因素眾多,因此本文也結(jié)合了受試者的個體信息如病史、跌倒史等作為共同輸入.具體內(nèi)容在第2 節(jié)介紹.
考慮到高跌倒風險樣本不易獲得的情況,由于新穎性檢測器不需要平衡數(shù)據(jù)集,提出的跌倒風險預測模型使用新穎性檢測領(lǐng)域中的單類支持向量機(OCSVM).具體內(nèi)容在第3 節(jié)介紹.
由于Kinect 測量的關(guān)節(jié)點存在噪聲,所以需要對獲取的三維骨架數(shù)據(jù)進行去噪處理,提高測量的精度.
首先,需要去除原始樣本數(shù)據(jù)時間序列中的高頻擾動,應用一次移動平均濾波(single moving average,SMA).一次移動平均的本質(zhì)是一種低通濾波,對時間序列直接求等權(quán)重均值.本文將每段三維骨架步態(tài)樣本中關(guān)節(jié)點的某一方向(x/y/z)信號看作一組一維時間序列,其中,n為參與SMA 的幀數(shù)的個數(shù),則第t+1幀信號SMA 后的值St+1計算公式為式(1):
同時,為了更準確地獲取步態(tài)時空參數(shù),在上述一次移動平均濾波的基礎(chǔ)上,對足跟關(guān)節(jié)15 和19 的z軸方向數(shù)據(jù)應用中值濾波器.中值濾波器在圖像處理領(lǐng)域應用廣泛,其基本思想是,如果一段信號是平緩變化的,那么某一點的輸出值可以用該點某個窗口大小內(nèi)所有值的中值來代替.Kinect 三維骨架數(shù)據(jù)布局如圖3所示.
圖3 Kinect 三維骨架數(shù)據(jù)的布局
去噪處理后效果如圖4 和圖5所示(圖4 為左膝關(guān)節(jié)角度原始數(shù)據(jù)和濾波后的效果;圖5 為z15-z19原始數(shù)據(jù)和濾波后的效果).
圖4 左膝關(guān)節(jié)角度原始數(shù)據(jù)和濾波后效果對比
圖5 z15-z19原始數(shù)據(jù)和濾波后效果對比
若通過步態(tài)分析預測跌倒風險,適當?shù)剡x擇所需的步態(tài)參數(shù)是必要的.本文將所需的步態(tài)參數(shù)分為兩類:時空參數(shù)和運動學參數(shù).
時空參數(shù)包括步幅、步速、步頻.步幅指一足著地至同一足再次著地的距離.對于每個骨架數(shù)據(jù)幀t,Kinect 提供一個時間戳.為了計算步幅,本文使用兩個足跟關(guān)節(jié)15 和19 的z坐標差值[18],如圖6所示,同時這兩個坐標差值的極值給出了每一步的開始幀ts和結(jié)束幀tf.步幅stride的計算公式為式(2):
圖6 行走階段的步態(tài)樣本步幅分割示例
步頻同樣也對老年人跌倒有預測作用,步頻由步幅決定,在本文中計算一個行走樣本數(shù)據(jù)內(nèi)的平均步頻.若一個樣本中的步幅數(shù)為m,骨架數(shù)據(jù)幀數(shù)為n,則步頻cadence的計算公式為式(4):
運動學參數(shù)是反映行走過程中下肢運動和平衡能力的指標,包括左右膝關(guān)節(jié)角度和兩腿間角度.在Kinect 獲取到關(guān)節(jié)的三維坐標點后,將骨骼看作兩個關(guān)節(jié)點間的直線,通過余弦定理可計算關(guān)節(jié)間角度.
膝關(guān)節(jié)角度定義為每條腿的大腿和小腿間的夾角.左膝關(guān)節(jié)角度LKA(left knee angle)為連接左腿關(guān)節(jié)12 至13 及13 至14 的兩個向量之間的角度,右膝關(guān)節(jié)角度RKA(right knee angle)為連接右腿關(guān)節(jié)16 至17 及17 至18 的兩個向量之間的角度.
兩腿間的角度LA(leg angle)定義為連接關(guān)節(jié)0 至13 及0 至17 的兩個向量之間的角度.
以左膝關(guān)節(jié)角度為例,如圖3所示,計算公式為式(5):
其中,Li,j為關(guān)節(jié)i和j間的長度,.
為了能表示受試者的平衡能力變化的穩(wěn)定性,將每一步幅范圍中的左膝關(guān)節(jié)角度值取方差,則得到特征值var(LKA).
本文重點關(guān)注的是基于老年人的步態(tài)特征預測跌倒風險,但受試者的自身因素也因適當考慮.以性別因素為例,根據(jù)中國健康與養(yǎng)老追蹤調(diào)查(CHARLS)2015年數(shù)據(jù),研究發(fā)現(xiàn)無論在城鎮(zhèn)還是農(nóng)村地區(qū),無論在哪個年齡段,中國老年女性的跌倒發(fā)生率始終顯著高于老年男性[19].同時,跌倒史被認為與跌倒風險增強有很強的聯(lián)系[20].
參考文獻[21]提出使用三維骨骼關(guān)節(jié)時域特征和元數(shù)據(jù)特征結(jié)合預測跌倒風險等級的方法,本文選擇性別(“1”和“0”分別代表男性和女性)、是否被診斷具有某些與平衡相關(guān)的損傷(“1”和“0”分別代表是和否)以及過去6 個月是否存在跌倒史(“1”和“0”分別代表是和否)這3 個二值特征,和步態(tài)特征共同作為輸入.表1 列出了本實驗用于預測跌倒風險的特征.
表1 預測跌倒風險特征列表
新穎性檢測是典型的一分類問題,指對大量正常數(shù)據(jù)中包含異常值或未預見值的自動識別.新穎性檢測在很多領(lǐng)域有著廣泛的實際應用,如醫(yī)學診斷、工業(yè)系統(tǒng)故障檢測、電子安全系統(tǒng)入侵檢測、文本挖掘等[22].
新穎性檢測的實現(xiàn)方法包括頻率論方法、貝葉斯方法、信息論、極值統(tǒng)計、支持向量法、其他核方法以及神經(jīng)網(wǎng)絡.一般使用訓練數(shù)據(jù)構(gòu)建模型,訓練數(shù)據(jù)可包含非常少的新穎點(異常點)或不包含新穎點.根據(jù)算法得出數(shù)據(jù)x的新穎性分數(shù)z(x),并根據(jù)通常稱為新穎性閾值z(x)=k的決策邊界來檢測其偏離正態(tài)性的情況.本文選擇單類支持向量機訓練和評估基于第2 節(jié)特征提取方法生成的特征數(shù)據(jù).
考慮到未來面向社會開展老年人跌倒風險預測實際工作的初期,進行步態(tài)樣本數(shù)據(jù)采集時,由于高跌倒風險樣本不易獲得,為降低數(shù)據(jù)收集的成本,低跌倒風險的樣本數(shù)量可能遠超過高跌倒風險數(shù)量.可將低跌倒風險樣本看作正常數(shù)據(jù),高跌倒風險樣本看作異常數(shù)據(jù).由于新穎性檢測算法中訓練數(shù)據(jù)允許包含極少量異常數(shù)據(jù),對上述不平衡數(shù)據(jù)情況下進行模型的構(gòu)建與訓練是適用且有效的.
本節(jié)主要介紹單類支持向量機(one-class SVM,OC-SVM)的基本概念.
根據(jù)文獻[23]中的描述,OC-SVM的原理是將特征空間中的原點與數(shù)據(jù)點分離開,以最大化間隔作為優(yōu)化目標.該算法返回一個二元決策函數(shù)f(x),能夠獲取特征空間中數(shù)據(jù)的概率密度區(qū)域.f(x)在捕獲大部分數(shù)據(jù)點的區(qū)域中取值+1,在其他地方取值-1.
給定訓練集X= {x1,x2,···,xN}?Rn,N為訓練集樣本數(shù)量.為了將訓練數(shù)據(jù)集與原點分離,并且與原點的距離最大,需求解二次規(guī)劃問題(6):
其中,ζi為松弛變量,Φ(xi)為原始訓練樣本xi在特征空間 Φ中的投影,w和 ρ表征超平面.
此時,需求解對偶問題(7):
需要注意參數(shù)v∈(0,1),當其趨近于0 時為訓練數(shù)據(jù)集中作為支持向量的樣本數(shù)量的下限,當其趨近于1 時為訓練數(shù)據(jù)中新穎性分數(shù)的上限.也就是說,v的值直接決定了單類支持向量機新穎性檢測算法的靈敏度.
數(shù)據(jù)采集和開發(fā)基于Visual Studio 2019 和JetBrains PyCharm Community Edition 2017.在實驗室條件下,Kinect v2 以30 fps 的速度進行數(shù)據(jù)更新.
共12 名志愿者參與實驗步態(tài)數(shù)據(jù)的采集工作,分別模擬不同跌倒風險的老年人步態(tài),其中男性9 名,女性3 名.在每次實驗中,受試者距設(shè)備3.5 m,沿直線行走3 m,每名受試者重復6-8 次.在12 名受試者中,4 名被標記為有高跌倒風險(女性1 名,男性3 名),8 名被標記為有低跌倒風險(女性2 名,男性6 名),具體信息見表2.
表2 參與實驗的12 名受試者個性化特征信息及跌倒風險等級
總體而言,實驗數(shù)據(jù)集包含60 個標記為低跌倒風險的原始步態(tài)片段和29 個標記為高跌倒風險的原始步態(tài)片段.
如圖7所示,采用第2 節(jié)的步態(tài)特征提取方法對三維骨架數(shù)據(jù)集進行預處理及特征提取后,基于滑動窗口算法對每個受試者單次行走樣本進行再劃分,時間連續(xù)的步幅被分組以形成包含1 個步幅的數(shù)據(jù)窗口,按時間順序排列,滑動步長為1.這樣,可以從單個對象的數(shù)據(jù)中提取多個數(shù)據(jù)窗口,以生成多個樣本.最終生成338 條低跌倒風險樣本,236 條高跌倒風險樣本.
圖7 基于滑動窗口為1 的步態(tài)樣本數(shù)據(jù)擴充
這種數(shù)據(jù)擴充方法的優(yōu)點是[24]:它在數(shù)據(jù)中引入了個體對象的變化,這有助于提高機器學習分類器的泛化性能;該方法允許頻繁和實時的推斷,這對于跌倒風險預測中的及時干預十分重要.
在文獻[16]的數(shù)據(jù)集劃分方法基礎(chǔ)上,本文的實驗數(shù)據(jù)集劃分如下:隨機選取80%的低跌倒風險樣本放入訓練數(shù)據(jù)中,同時隨機選取與訓練集中低跌倒風險樣本比例為1:90 的高跌倒風險樣本;剩余20%的低跌倒風險樣本用于構(gòu)建測試集的一部分,而剩下部分由隨機選取的百分比與完整數(shù)據(jù)集百分比相同的高跌倒風險樣本構(gòu)成.
K 近鄰(K-nearest neighbors,KNN)算法和神經(jīng)網(wǎng)絡在異常檢測領(lǐng)域都有相應的研究和應用,神經(jīng)網(wǎng)絡方法可處理非線性和非高斯數(shù)據(jù),KNN 通過計算測試樣本與其鄰近樣本之間的相似度來檢測測試樣本是否異常.
孤立森林(isolation forest,iForest)是一種基于決策樹的分類算法,已被證實在大部分工業(yè)異常檢測場景中效果較好.
因此,本文選擇K 近鄰(KNN)算法和多層感知機(multi-layer perceptron,MLP)、孤立森林(iForest)和OC-SVM 進行對照實驗.
實驗使用了超參數(shù)空間上的網(wǎng)格搜索來執(zhí)行超參數(shù)優(yōu)化.為了提高模型的穩(wěn)健性和避免過擬合,使用了K折交叉驗證法(K=5),找到最優(yōu)超參數(shù)后,在訓練集上重新訓練模型,并使用獨立測試集對模型性能做出最終的評價.
本節(jié)使用的模型及方法均通過Scikit-learn 庫[25]實現(xiàn).
新穎性檢測技術(shù)的有效性可以根據(jù)有多少新數(shù)據(jù)點被正確識別以及有多少正常數(shù)據(jù)被錯誤地分類為新數(shù)據(jù)來評估[22].并且,需考慮到在使用不平衡數(shù)據(jù)集的實驗下,正樣本數(shù)量遠遠超過負樣本,模型分類準確度并不能完全衡量和評價模型的好壞,更合適的指標是F1-score,其為綜合考慮精確率(Precision)和召回率(Recall)的調(diào)和值.
實驗使用正確率(ACC)、虛警率(FPR)和F1-score評估模型的檢測性能,定義如式(8):
其中,
其中,tp,tn,fp,fn分別代表真陽性、真陰性、假陽性、假陰性的樣本數(shù)量.
神經(jīng)網(wǎng)絡算法具有隨機性,使用同樣的數(shù)據(jù)訓練同一個網(wǎng)絡會得到不同的結(jié)果.孤立森林算法和隨機森林算法類似,每次選擇劃分屬性和劃分點(值)時都是隨機的.
因此對MLP 及iForest 的訓練和測試過程完整重復10 次,其評價標準的結(jié)果均取平均值.模型性能評估結(jié)果如表3所示.
表3 不平衡數(shù)據(jù)集下分類器性能評估結(jié)果
新穎性檢測技術(shù)應該以高檢測率為目標,并且需要保持低虛警率.接收者操作特征(ROC)曲線通常用于表示檢測率和虛警率間的權(quán)衡.所有4 種分類器的ROC 曲線如圖8所示.在上述模型中,OC-SVM 檢測的準確率達86.96%,虛警率為10.64%,其F1-score為88.55%,AUC 為0.96,表現(xiàn)最佳.結(jié)果表明,OC-SVM可用于不平衡數(shù)據(jù)集下步態(tài)數(shù)據(jù)的跌倒風險預測,并在中小型數(shù)據(jù)集中有較好的表現(xiàn)力.同時,證明了基于Kinect 三維骨架數(shù)據(jù)預測老年人跌倒風險的潛力.
圖8 4 種分類器ROC 曲線比較
為了驗證引入個性化特征對跌倒風險預測的作用,本節(jié)進行消融實驗.
去除個性化特征,僅選擇數(shù)據(jù)集的跌倒風險特征(表1)中5 個步態(tài)特征對4 種模型進行訓練和測試,模型性能評估結(jié)果如表4所示.
由表4 可知,OC-SVM 在消融實驗中預測跌倒風險的能力仍是最好的.去除個性化特征后,大部分模型的準確率及F1-score下降,虛警率上升,影響較大的為MLP 和iForest.
表4 消融實驗下分類器性能評估結(jié)果
綜上,證明引入個性化特征對于提升跌倒風險預測方法的精度和魯棒性有積極作用,為未來增加受試者個體信息特征及進一步構(gòu)建跌倒風險預測模型提供參考.
本文提出了一種基于Kinect 三維骨架步態(tài)數(shù)據(jù)的特征提取方法,并結(jié)合老年人自身個性化特征以預測跌倒風險.同時,考慮到數(shù)據(jù)采集工作的現(xiàn)實情況,采用新穎性檢測模型OC-SVM 在不平衡數(shù)據(jù)集下進行數(shù)據(jù)的訓練與評估,獲得了良好的表現(xiàn),有效地區(qū)分出低跌倒風險受試者和高跌倒風險受試者.
在今后的工作中:考慮增加更多的個性化特征用于跌倒風險評估;在更多數(shù)據(jù)的支持下,提出平衡數(shù)據(jù)集下的跌倒風險預測模型,以此提高模型在不同數(shù)據(jù)集下對老年人跌倒風險預測的準確度和穩(wěn)健性.