谷志瑜,劉建明,李建鐸
(桂林電子科技大學 計算機與信息安全學院,廣西 桂林 541004)
跌倒是指使人不慎跌倒在地面、地板或其它較低平面地方的事故[1,2]。跌倒檢測算法是能夠將跌倒動作與日常生活中的正常動作區分開來的技術。準確地檢測到跌倒動作的發生,是為后續提供更好的預防跌傷措施和在發生跌倒后采取及時救治行動的關鍵,因此,跌倒檢測算法的研究是該領域的重點,也是難點。
本文擬提出一種基于自回歸模型系數作為特征向量的跌倒檢測算法。該算法對采集到的數據截取成2.02 s的數據片段,計算其對應的自回歸系數、信號幅度和傾角構造成最終的組合特征向量,并采用基于反向傳播算法(back propagation)的前饋神經網絡實現跌倒和日常動作的判別,最后通過實驗驗證了該算法的可行性和準確性。
近年,有許多的機構和科研人員在從事基于可穿戴式加速度傳感器,或陀螺儀的跌倒檢測算法研究。這些算法(系統)的目的是通過快速而準確地識別出跌倒事件的發生,便于及時通知家人和醫護人員,減少老人跌倒后因長時間癱躺在地面帶來的傷害。這些算法(系統)主要分為兩類:基于閾值(threshold-based)的算法[3]和基于機器學習(machine learning)的算法[4,5]。
閾值法的理論基礎是Becker等提出的5階段跌倒模型[6],該模型將跌倒劃分為:跌倒前階段(pre-fall phase)、跌倒階段(falling phase)、撞擊階段(impact phase)、靜止階段(resting phase)和恢復階段(recovery phase)。該類算法主要通過判斷識別跌倒過程中的一個或多個階段的數據是否達到預設閾值,來實現對跌倒的檢測。如Bourke等利用佩戴在軀干和大腿的三軸加速度傳感器記錄的數據,提出了基于加速度和向量的LFT(lower fall threshold)算法和UFT(upper fall threshold)算法,兩個算法分別通過檢測跌倒階段和撞擊階段來實現跌倒檢測,取得了較好的效果,達到了100%的靈敏度和91%和100%的特異性[3]。Kangas等則考慮了跌倒、撞擊和靜止3個階段,提出了IMPACT+POSTURE和START OF FALL+IMPACT+POSTURE等算法,其中將傳感器佩戴在腰部時效果最好,可達到100%的特異性和95%的靈敏度[3]。該類算法由于傳感器異構、目標差異及跌倒行為的差異,其難點在于閾值的確定,也因此導致閾值法性能波動大,缺乏魯棒性。
機器學習的方法,使用提前采集的已標定跌倒及非跌倒加速度、角速度等數據,利用模式識別算法挖掘出能區分跌倒和非跌倒行為特征參數,用于實現的跌倒和非跌倒行為匹配。如?zdemir等[4]的算法以一個4 s的時間窗的原始數據為基礎,構建了一個包含和加速度最小值、最大值、均值、方差、峰度(kurtosis)、自相關序列(autocorrelation)和離散傅里葉變換(DFT)等值的組合特征向量,采用6種不同的分類器均達到了99%以上的靈敏度和特異性,其中效果最好的是k近鄰法(k-nearest neighbor,k-NN)和最小二乘法。Aziz等[5]則以均值和X、Y、Z三軸加速度的方差作為組合特征向量,并在實驗設計中加入了滑(slips)、絆(trips)等5類近似跌倒(near-fall)動作,采用了邏輯回歸、決策樹、樸素貝葉斯、k-NN和支持向量機(SVM)等5種常用的機器學習方法作為分類器,實現了較好的分類效果,其中SVM的效果最好,靈敏度和特異性均達到了96%以上。使用該類算法時各論文對特征向量的選擇的不同,往往也導致效果的差異。
傳感器采用的是MPU6050,其是InvenSense公司生產的一款9軸運動處理傳感器芯片,它集成有三軸微機電系統(MEMS)陀螺儀和三軸加速度計,以及一個可供擴展的數據運動處理器DMP(digital motion processor)[7]。MPU6050供電電源電壓為3 V-5 V,標準IIC通信接口,芯片內置16位AD轉換器,16位數據輸出,加速度范圍:±2 g、±4 g、±8 g、±16 g,陀螺儀范圍:±250°/s、±500°/s、±1000°/s與±2000°/s。
日常生活中人體基本動作和姿態大概可分為3類:靜態活動日常生活中人體基本動作和姿勢大概可分為3類:靜態活動(static),如站、坐、躺等;動態活動(dynamic),如走、跑、上下樓梯等和轉換活動(transitions),如坐-站、躺-坐等[8]。根據跌倒的定義,本文中將跌倒歸入第三類活動,即轉換活動。
本文的目的是從各種轉換活動中區分出跌倒,因此,實驗活動設計包括9種日常轉換活動和4種跌倒。由于讓老年人志愿者來進行模擬跌倒具有不可預期的風險,所以實驗的日常動作和模擬跌倒均由年輕志愿者在室內可控環境下完成。其中,模擬跌倒時,在地面鋪有一層5 cm的體操墊,以減少跌倒對實驗者的傷害。實驗記錄日常動作數據共270條,模擬跌倒數據共120條。各日常動作和跌倒的實驗記錄數據見表1。

表1 日常動作和跌倒實驗數據
注:stand to kneel是指從站立到雙膝跪地,而軀體保持直立的日常生活動作;stand turn left/right是指站立時分別向左、向右轉體90°的日常生活動作。
根據Kangas等的研究結果,定位在頭部或腰部的傳感器系統測得的加速度信號,能更加準確地反映整個人體軀干的運動狀態和姿態的變化,而手腕等部位因為其運動狀態變化較軀干要復雜,且往往不能完全反映人體軀干的運動狀態和姿態,所以,腰部和頭部是記錄人體姿態動作時傳感器的佩戴的最佳位置[3]。因此,本文在實驗時,選擇腰部作為加速度傳感器的佩戴位置,并將傳感器佩戴在實驗者腰部的正前方。系統X、Y、Z三軸對應的正方向分別是:向左、向下和向后。
由于人體運動的低頻率特點,事實上人體活動的頻率基本都低于20 Hz,又根據采樣定理,本文將加速度信號的采樣頻率設為50 Hz,既完全足以表征人體運動的細節信息,又不會占用過多的空間。同時,實驗時,加速度量程設置為±4 g,角速度量程設置為±1000°/s。
數據處理的流程如圖1所示,各模塊的具體說明如下。

圖1 數據處理流程
降噪(noise reduction):由于原始信號中摻雜了大量的脈沖噪聲,在實際應用中必須加以剔除。采用均值濾波的方法對信號進行預處理,在保留足夠表現人體動作信息的基礎上,提高信噪比。本文中使用的是三項均值濾波器(three-term average filter),其可表示為如式(1)所示
(1)
特征提取(feature extraction):特征向量的提取,主要包括3項內容:自回歸模型系數(AR-model coefficients)的計算、信號幅度(signal magnitude)的計算、傾斜角度(tilt angle)的計算。
(1)自回歸模型(auto regressive model)。自回歸模型是時間序列中的一種常見形式,是用自身做回歸變量的過程,也是一種線性回歸模型,可用來做預測。即當前某時刻的隨機變量可利用其前期若干時刻的隨機變量的一個線性組合來描述,自回歸模型的具體定義請參考文獻[9]。本文想通過該模型的系數來表示各信號量的變化趨勢。
其數學表達式如式(2)所示

(2)
其中,α(i)是AR模型系數,p是模型的階,ε(t)是白噪聲項。
(2)SMA,即Signal Magnitude Area。是跌倒檢測和人體姿態識別中常用的特征值,能很好的區分人體的靜態活動和動態活動,其定義如式(3)所示[10]

(3)
為了能更好表征人體在三軸方向上的動靜態特征和動作幅度,本文以三軸方向上的SMA代替以往的加速度和的SMA。
新的計算公式如式(4)所示

(4)
其中,axis分別取X,Y和Z軸的加速度值。
(3)傾斜角度。傾角體現了人體在空間中的傾斜情況,而人體在運動過程中在各軸上轉過的角度,也能很好表征人體姿勢的變化。陀螺儀可測得在X,Y和Z軸3個方向上的角速度值,因而對角速度在時間窗內求積分即可得人體在三軸的旋轉角度,具體計算公式如式(5)所示

(5)
通過將自回歸模型系數與SMA和傾斜角度組合得到最終的組合特征向量,如圖2所示。

圖2 組合特征向量
為了便于特征向量各項的計算,本文將包含跌倒和日常動作的信號數據截成2.02s(101個數據點)的時間片段。該時間長度既包含了足夠的人體動作信息用于特征向量的計算,也不會產生過大的響應時延。本文各特征向量分項的計算均是基于該時間窗內的信號數據信息。
分類器(classiffer):基于跌倒檢測算法自適應性和實時性的要求,特別是要求算法能正確理解這些復雜的特征,即便這些特征與之前已經看到過的特征有相當的差異,也能正確地識別出跌倒和日常動作。為此,我們決定使用基于反向傳播(backpropagation)算法的前饋神經網絡作為算法中的分類器。
多層前向BP神經網絡特別適合于求解內部機制復雜的問題,其可實現任何復雜非線性從一個輸入到輸出的映射,且具有極強的自學習能力。本文構建的神經網絡有一個輸入層包含15個神經元,兩個隱含層分別包含30個神經元和13個神經元,一個輸出層與2個神經元對應的兩個分類輸出。
跌倒檢測算法通常以靈敏度(sensitivity)和特異性(specificity)作為其有效性的評價參考。靈敏度表征的是所有跌倒被正確檢測出來的比例,即所有跌倒動作的檢出率;特異性表征的是所有非跌倒事件被正確檢測出來的比例,即所有日常動作的檢出率。
數學計算式分別如下
Sensitivity=Truepositive/(Truepositive+Falsenegative)
Specificity=Truenegative/(Truenegative+Falsepositive)
本文進行了3次實驗驗證,以評價組合特征向量各部分的分類效果。每次實驗采用不同的組合特征向量訓練神經網絡和對測試集進行分類。
(1)實驗一
實驗一的目的在于評估自回歸模型系數對測試集分類的效果。由于自回歸模型的階p=3,所以組成的是一個9維的特征向量,表示如下
{a(1),…,a(9)}
每個活動有15個降噪后的實例數據通過建模得到的系數用于訓練神經網絡,同樣有15個經過相同方法得到的系數用于跌倒和非跌倒的分類檢測。基于該特征向量的分類識別結果如圖3所示。根據圖中數據顯示,僅以自回歸模型系數作為特征向量雖然特異性可達到98.71%,但是靈敏度只有86.69%。可見自回歸模型系數對于日常動作的識別效果不錯,但是對于跌倒動作的識別效果卻一般。

圖3 實驗一結果
(2)實驗二
實驗二的目的在于評估自回歸模型系數和信號幅度的組合后對測試集分類的效果。新組成的是一個12維的特征向量,表示如下
{a(1),…,a(9),SMA(x),SMA(y),SMA(z)}
每個活動有15個降噪后的實例數據通過建模得到的系數用于訓練神經網絡,同樣有15個經過相同方法得到的系數用于跌倒和非跌倒的分類檢測。基于該特征向量的分類識別結果如圖4所示。實驗結果顯示,靈敏度有較大提升,達到了95.51%,可見該組合特征向量較于實驗一的特征向量對跌倒動作有更好的識別效果,且特異性、準確性和F值均有不同程度的提升。

圖4 實驗二結果
(3)實驗三
實驗三在上一個實驗的基礎上,將傾斜角度與自回歸模型系數(AR-coefficients)和信號幅度(SMA)的組合成一個15維的組合特征向量,表示如下
{a(1),…,a(9),SMA(x),SMA(y),SMA(z),
TA(x),TA(y),TA(z)}
每個活動有15個降噪后的實例數據通過建模得到的系數用于訓練神經網絡,同樣有15個經過相同方法得到的系數用于跌倒和非跌倒的分類檢測。基于該特征向量的分類識別結果如圖5所示。實驗結果顯示,靈敏度由實驗二的95.51%提升到了97.2%,特異性基本保持,但98.28%的F值說明實驗三的組合特征向量在調和靈敏度和特異性方面有著更好的表現。98.97%的準確性同樣優于實驗二和實驗一的準確性。

圖5 實驗三結果
本文針對老年人易跌倒和跌倒過后可能產生嚴重后果這一現實問題,提出了一種基于自回歸模型系數和神經網絡的跌倒檢測算法。該算法以自回歸系數、信號幅度和傾角作為組合特征向量,以基于反向傳播算法的前饋神經網絡作為分類器,通過對9類人體日常動作和4類跌倒,共390例樣本實例數據進行了實驗驗證,達到了97.2%的靈敏度和99.74%的特異性,驗證了本算法的可行性和準確性。
[1]LIUYuanbiao,LIJian’an.Fallsinelderlyandbalanceandgaitdisorder[J].ChineseJournalofRehabilitationTheoryandPractice,2012,18(1):5-8(inChinese).[劉元標,勵建安.老年人跌倒與平衡及步態異常[J].中國康復理論與實踐,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.