谷志瑜,劉建明,李建鐸
(桂林電子科技大學(xué) 計算機(jī)與信息安全學(xué)院,廣西 桂林 541004)
跌倒是指使人不慎跌倒在地面、地板或其它較低平面地方的事故[1,2]。跌倒檢測算法是能夠?qū)⒌箘幼髋c日常生活中的正常動作區(qū)分開來的技術(shù)。準(zhǔn)確地檢測到跌倒動作的發(fā)生,是為后續(xù)提供更好的預(yù)防跌傷措施和在發(fā)生跌倒后采取及時救治行動的關(guān)鍵,因此,跌倒檢測算法的研究是該領(lǐng)域的重點,也是難點。
本文擬提出一種基于自回歸模型系數(shù)作為特征向量的跌倒檢測算法。該算法對采集到的數(shù)據(jù)截取成2.02 s的數(shù)據(jù)片段,計算其對應(yīng)的自回歸系數(shù)、信號幅度和傾角構(gòu)造成最終的組合特征向量,并采用基于反向傳播算法(back propagation)的前饋神經(jīng)網(wǎng)絡(luò)實現(xiàn)跌倒和日常動作的判別,最后通過實驗驗證了該算法的可行性和準(zhǔn)確性。
近年,有許多的機(jī)構(gòu)和科研人員在從事基于可穿戴式加速度傳感器,或陀螺儀的跌倒檢測算法研究。這些算法(系統(tǒng))的目的是通過快速而準(zhǔn)確地識別出跌倒事件的發(fā)生,便于及時通知家人和醫(yī)護(hù)人員,減少老人跌倒后因長時間癱躺在地面帶來的傷害。這些算法(系統(tǒng))主要分為兩類:基于閾值(threshold-based)的算法[3]和基于機(jī)器學(xué)習(xí)(machine learning)的算法[4,5]。
閾值法的理論基礎(chǔ)是Becker等提出的5階段跌倒模型[6],該模型將跌倒劃分為:跌倒前階段(pre-fall phase)、跌倒階段(falling phase)、撞擊階段(impact phase)、靜止階段(resting phase)和恢復(fù)階段(recovery phase)。該類算法主要通過判斷識別跌倒過程中的一個或多個階段的數(shù)據(jù)是否達(dá)到預(yù)設(shè)閾值,來實現(xiàn)對跌倒的檢測。如Bourke等利用佩戴在軀干和大腿的三軸加速度傳感器記錄的數(shù)據(jù),提出了基于加速度和向量的LFT(lower fall threshold)算法和UFT(upper fall threshold)算法,兩個算法分別通過檢測跌倒階段和撞擊階段來實現(xiàn)跌倒檢測,取得了較好的效果,達(dá)到了100%的靈敏度和91%和100%的特異性[3]。Kangas等則考慮了跌倒、撞擊和靜止3個階段,提出了IMPACT+POSTURE和START OF FALL+IMPACT+POSTURE等算法,其中將傳感器佩戴在腰部時效果最好,可達(dá)到100%的特異性和95%的靈敏度[3]。該類算法由于傳感器異構(gòu)、目標(biāo)差異及跌倒行為的差異,其難點在于閾值的確定,也因此導(dǎo)致閾值法性能波動大,缺乏魯棒性。
機(jī)器學(xué)習(xí)的方法,使用提前采集的已標(biāo)定跌倒及非跌倒加速度、角速度等數(shù)據(jù),利用模式識別算法挖掘出能區(qū)分跌倒和非跌倒行為特征參數(shù),用于實現(xiàn)的跌倒和非跌倒行為匹配。如?zdemir等[4]的算法以一個4 s的時間窗的原始數(shù)據(jù)為基礎(chǔ),構(gòu)建了一個包含和加速度最小值、最大值、均值、方差、峰度(kurtosis)、自相關(guān)序列(autocorrelation)和離散傅里葉變換(DFT)等值的組合特征向量,采用6種不同的分類器均達(dá)到了99%以上的靈敏度和特異性,其中效果最好的是k近鄰法(k-nearest neighbor,k-NN)和最小二乘法。Aziz等[5]則以均值和X、Y、Z三軸加速度的方差作為組合特征向量,并在實驗設(shè)計中加入了滑(slips)、絆(trips)等5類近似跌倒(near-fall)動作,采用了邏輯回歸、決策樹、樸素貝葉斯、k-NN和支持向量機(jī)(SVM)等5種常用的機(jī)器學(xué)習(xí)方法作為分類器,實現(xiàn)了較好的分類效果,其中SVM的效果最好,靈敏度和特異性均達(dá)到了96%以上。使用該類算法時各論文對特征向量的選擇的不同,往往也導(dǎo)致效果的差異。
傳感器采用的是MPU6050,其是InvenSense公司生產(chǎn)的一款9軸運動處理傳感器芯片,它集成有三軸微機(jī)電系統(tǒng)(MEMS)陀螺儀和三軸加速度計,以及一個可供擴(kuò)展的數(shù)據(jù)運動處理器DMP(digital motion processor)[7]。MPU6050供電電源電壓為3 V-5 V,標(biāo)準(zhǔn)IIC通信接口,芯片內(nèi)置16位AD轉(zhuǎn)換器,16位數(shù)據(jù)輸出,加速度范圍:±2 g、±4 g、±8 g、±16 g,陀螺儀范圍:±250°/s、±500°/s、±1000°/s與±2000°/s。
日常生活中人體基本動作和姿態(tài)大概可分為3類:靜態(tài)活動日常生活中人體基本動作和姿勢大概可分為3類:靜態(tài)活動(static),如站、坐、躺等;動態(tài)活動(dynamic),如走、跑、上下樓梯等和轉(zhuǎn)換活動(transitions),如坐-站、躺-坐等[8]。根據(jù)跌倒的定義,本文中將跌倒歸入第三類活動,即轉(zhuǎn)換活動。
本文的目的是從各種轉(zhuǎn)換活動中區(qū)分出跌倒,因此,實驗活動設(shè)計包括9種日常轉(zhuǎn)換活動和4種跌倒。由于讓老年人志愿者來進(jìn)行模擬跌倒具有不可預(yù)期的風(fēng)險,所以實驗的日常動作和模擬跌倒均由年輕志愿者在室內(nèi)可控環(huán)境下完成。其中,模擬跌倒時,在地面鋪有一層5 cm的體操墊,以減少跌倒對實驗者的傷害。實驗記錄日常動作數(shù)據(jù)共270條,模擬跌倒數(shù)據(jù)共120條。各日常動作和跌倒的實驗記錄數(shù)據(jù)見表1。
表1 日常動作和跌倒實驗數(shù)據(jù)
注:stand to kneel是指從站立到雙膝跪地,而軀體保持直立的日常生活動作;stand turn left/right是指站立時分別向左、向右轉(zhuǎn)體90°的日常生活動作。
根據(jù)Kangas等的研究結(jié)果,定位在頭部或腰部的傳感器系統(tǒng)測得的加速度信號,能更加準(zhǔn)確地反映整個人體軀干的運動狀態(tài)和姿態(tài)的變化,而手腕等部位因為其運動狀態(tài)變化較軀干要復(fù)雜,且往往不能完全反映人體軀干的運動狀態(tài)和姿態(tài),所以,腰部和頭部是記錄人體姿態(tài)動作時傳感器的佩戴的最佳位置[3]。因此,本文在實驗時,選擇腰部作為加速度傳感器的佩戴位置,并將傳感器佩戴在實驗者腰部的正前方。系統(tǒng)X、Y、Z三軸對應(yīng)的正方向分別是:向左、向下和向后。
由于人體運動的低頻率特點,事實上人體活動的頻率基本都低于20 Hz,又根據(jù)采樣定理,本文將加速度信號的采樣頻率設(shè)為50 Hz,既完全足以表征人體運動的細(xì)節(jié)信息,又不會占用過多的空間。同時,實驗時,加速度量程設(shè)置為±4 g,角速度量程設(shè)置為±1000°/s。
數(shù)據(jù)處理的流程如圖1所示,各模塊的具體說明如下。
圖1 數(shù)據(jù)處理流程
降噪(noise reduction):由于原始信號中摻雜了大量的脈沖噪聲,在實際應(yīng)用中必須加以剔除。采用均值濾波的方法對信號進(jìn)行預(yù)處理,在保留足夠表現(xiàn)人體動作信息的基礎(chǔ)上,提高信噪比。本文中使用的是三項均值濾波器(three-term average filter),其可表示為如式(1)所示
(1)
特征提取(feature extraction):特征向量的提取,主要包括3項內(nèi)容:自回歸模型系數(shù)(AR-model coefficients)的計算、信號幅度(signal magnitude)的計算、傾斜角度(tilt angle)的計算。
(1)自回歸模型(auto regressive model)。自回歸模型是時間序列中的一種常見形式,是用自身做回歸變量的過程,也是一種線性回歸模型,可用來做預(yù)測。即當(dāng)前某時刻的隨機(jī)變量可利用其前期若干時刻的隨機(jī)變量的一個線性組合來描述,自回歸模型的具體定義請參考文獻(xiàn)[9]。本文想通過該模型的系數(shù)來表示各信號量的變化趨勢。
其數(shù)學(xué)表達(dá)式如式(2)所示
(2)
其中,α(i)是AR模型系數(shù),p是模型的階,ε(t)是白噪聲項。
(2)SMA,即Signal Magnitude Area。是跌倒檢測和人體姿態(tài)識別中常用的特征值,能很好的區(qū)分人體的靜態(tài)活動和動態(tài)活動,其定義如式(3)所示[10]
(3)
為了能更好表征人體在三軸方向上的動靜態(tài)特征和動作幅度,本文以三軸方向上的SMA代替以往的加速度和的SMA。
新的計算公式如式(4)所示
(4)
其中,axis分別取X,Y和Z軸的加速度值。
(3)傾斜角度。傾角體現(xiàn)了人體在空間中的傾斜情況,而人體在運動過程中在各軸上轉(zhuǎn)過的角度,也能很好表征人體姿勢的變化。陀螺儀可測得在X,Y和Z軸3個方向上的角速度值,因而對角速度在時間窗內(nèi)求積分即可得人體在三軸的旋轉(zhuǎn)角度,具體計算公式如式(5)所示
(5)
通過將自回歸模型系數(shù)與SMA和傾斜角度組合得到最終的組合特征向量,如圖2所示。
圖2 組合特征向量
為了便于特征向量各項的計算,本文將包含跌倒和日常動作的信號數(shù)據(jù)截成2.02s(101個數(shù)據(jù)點)的時間片段。該時間長度既包含了足夠的人體動作信息用于特征向量的計算,也不會產(chǎn)生過大的響應(yīng)時延。本文各特征向量分項的計算均是基于該時間窗內(nèi)的信號數(shù)據(jù)信息。
分類器(classiffer):基于跌倒檢測算法自適應(yīng)性和實時性的要求,特別是要求算法能正確理解這些復(fù)雜的特征,即便這些特征與之前已經(jīng)看到過的特征有相當(dāng)?shù)牟町?,也能正確地識別出跌倒和日常動作。為此,我們決定使用基于反向傳播(backpropagation)算法的前饋神經(jīng)網(wǎng)絡(luò)作為算法中的分類器。
多層前向BP神經(jīng)網(wǎng)絡(luò)特別適合于求解內(nèi)部機(jī)制復(fù)雜的問題,其可實現(xiàn)任何復(fù)雜非線性從一個輸入到輸出的映射,且具有極強的自學(xué)習(xí)能力。本文構(gòu)建的神經(jīng)網(wǎng)絡(luò)有一個輸入層包含15個神經(jīng)元,兩個隱含層分別包含30個神經(jīng)元和13個神經(jīng)元,一個輸出層與2個神經(jīng)元對應(yīng)的兩個分類輸出。
跌倒檢測算法通常以靈敏度(sensitivity)和特異性(specificity)作為其有效性的評價參考。靈敏度表征的是所有跌倒被正確檢測出來的比例,即所有跌倒動作的檢出率;特異性表征的是所有非跌倒事件被正確檢測出來的比例,即所有日常動作的檢出率。
數(shù)學(xué)計算式分別如下
Sensitivity=Truepositive/(Truepositive+Falsenegative)
Specificity=Truenegative/(Truenegative+Falsepositive)
本文進(jìn)行了3次實驗驗證,以評價組合特征向量各部分的分類效果。每次實驗采用不同的組合特征向量訓(xùn)練神經(jīng)網(wǎng)絡(luò)和對測試集進(jìn)行分類。
(1)實驗一
實驗一的目的在于評估自回歸模型系數(shù)對測試集分類的效果。由于自回歸模型的階p=3,所以組成的是一個9維的特征向量,表示如下
{a(1),…,a(9)}
每個活動有15個降噪后的實例數(shù)據(jù)通過建模得到的系數(shù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),同樣有15個經(jīng)過相同方法得到的系數(shù)用于跌倒和非跌倒的分類檢測?;谠撎卣飨蛄康姆诸愖R別結(jié)果如圖3所示。根據(jù)圖中數(shù)據(jù)顯示,僅以自回歸模型系數(shù)作為特征向量雖然特異性可達(dá)到98.71%,但是靈敏度只有86.69%??梢娮曰貧w模型系數(shù)對于日常動作的識別效果不錯,但是對于跌倒動作的識別效果卻一般。
圖3 實驗一結(jié)果
(2)實驗二
實驗二的目的在于評估自回歸模型系數(shù)和信號幅度的組合后對測試集分類的效果。新組成的是一個12維的特征向量,表示如下
{a(1),…,a(9),SMA(x),SMA(y),SMA(z)}
每個活動有15個降噪后的實例數(shù)據(jù)通過建模得到的系數(shù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),同樣有15個經(jīng)過相同方法得到的系數(shù)用于跌倒和非跌倒的分類檢測?;谠撎卣飨蛄康姆诸愖R別結(jié)果如圖4所示。實驗結(jié)果顯示,靈敏度有較大提升,達(dá)到了95.51%,可見該組合特征向量較于實驗一的特征向量對跌倒動作有更好的識別效果,且特異性、準(zhǔn)確性和F值均有不同程度的提升。
圖4 實驗二結(jié)果
(3)實驗三
實驗三在上一個實驗的基礎(chǔ)上,將傾斜角度與自回歸模型系數(shù)(AR-coefficients)和信號幅度(SMA)的組合成一個15維的組合特征向量,表示如下
{a(1),…,a(9),SMA(x),SMA(y),SMA(z),
TA(x),TA(y),TA(z)}
每個活動有15個降噪后的實例數(shù)據(jù)通過建模得到的系數(shù)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),同樣有15個經(jīng)過相同方法得到的系數(shù)用于跌倒和非跌倒的分類檢測?;谠撎卣飨蛄康姆诸愖R別結(jié)果如圖5所示。實驗結(jié)果顯示,靈敏度由實驗二的95.51%提升到了97.2%,特異性基本保持,但98.28%的F值說明實驗三的組合特征向量在調(diào)和靈敏度和特異性方面有著更好的表現(xiàn)。98.97%的準(zhǔn)確性同樣優(yōu)于實驗二和實驗一的準(zhǔn)確性。
圖5 實驗三結(jié)果
本文針對老年人易跌倒和跌倒過后可能產(chǎn)生嚴(yán)重后果這一現(xiàn)實問題,提出了一種基于自回歸模型系數(shù)和神經(jīng)網(wǎng)絡(luò)的跌倒檢測算法。該算法以自回歸系數(shù)、信號幅度和傾角作為組合特征向量,以基于反向傳播算法的前饋神經(jīng)網(wǎng)絡(luò)作為分類器,通過對9類人體日常動作和4類跌倒,共390例樣本實例數(shù)據(jù)進(jìn)行了實驗驗證,達(dá)到了97.2%的靈敏度和99.74%的特異性,驗證了本算法的可行性和準(zhǔn)確性。
[1]LIUYuanbiao,LIJian’an.Fallsinelderlyandbalanceandgaitdisorder[J].ChineseJournalofRehabilitationTheoryandPractice,2012,18(1):5-8(inChinese).[劉元標(biāo),勵建安.老年人跌倒與平衡及步態(tài)異常[J].中國康復(fù)理論與實踐,2012,18(1):5-8.]
[2]WHO.Falls[EB/OL].http://www.who.int,2017.
[3]FabioB,ClemensB,AngeloC,etal.Evaluationofaccele-rometer-basedfalldetectionalgorithmsonreal-worldfalls[J].PlosOne,2012,7(5):e37062.
[4]?zdemirAT,BarshanB.Detectingfallswithwearablesensorsusingmachinelearningtechniques[J].Sensors,2014,14(6):10691-10708.
[5]AzizO,MusngiM,ParkEJ,etal.Acomparisonofaccuracyoffalldetectionalgorithms(threshold-basedvs.machinelear-ning)usingwaist-mountedtri-axialaccelerometersignalsfromacomprehensivesetoffallsandnon-falltrials[J].Medical&BiologicalEngineering&Computing,2017,55(1):45-55.
[6]BeckerC,SchwickertL,MelloneS,etal.Proposalforamultiphasefallmodelbasedonreal-worldfallrecordingswithbody-fixedsensors[J].ZeitschriftFürGerontologieUndGeriatrie,2012,45(8):707-715.
[7]InvenSenseInc.MPU-6000andMPU-6050productspecificationrevision3.4[EB/OL].https://www.invensense.com,2017.
[8]LaraOD,LabradorMA.Asurveyonhumanactivityrecognitionusingwearablesensors[J].CommunicationsSurveys&TutorialsIEEE,2013,15(3):1192-1209.
[9]DurbinJ,KoopmanSJ.Timeseriesanalysisbystatespacemethods[M].2nded.OxfordUniversityPress,2012.
[10]ChenGC,HuangCN,ChiangCY,etal.Areliablefalldetectionsystembasedonwearablesensorandsignalmagnitudeareaforelderlyresidents[C]//InternationalConferenceonSmartHomesandHealthTelematics,2010:267-270.