劉石雨,王多琎
(1.上海理工大學(xué)康復(fù)工程與技術(shù)研究所;2.上??祻?fù)器械工程技術(shù)研究中心;3.民政部神經(jīng)功能信息與康復(fù)工程重點實驗室,上海 200093)
當(dāng)前,我國人口老齡化問題日趨嚴重[1],老年人監(jiān)護和安全需求也逐年增加。WHO2015《關(guān)于老齡化與健康的全球報告》[2]顯示,30%的65 歲以上老人和50%的85 歲以上老人每年至少經(jīng)歷一次跌倒,其中4%~15%的跌倒會造成重大傷害,老年人與傷害相關(guān)的死亡中有23%~40%是由于跌倒產(chǎn)生的。同時在臨床中,跌倒是造成老年人髖關(guān)節(jié)骨折的重要原因[3],而且跌倒后的花費不管是對個人還是社會都是沉重負擔(dān)[4]。近年來,老年人跌倒預(yù)測研究逐漸成為研究熱點,在老齡化社會,一種能預(yù)測跌倒的系統(tǒng)對于獨居老人將會有重要意義。
現(xiàn)有跌倒檢測相關(guān)研究根據(jù)使用的特征數(shù)和技術(shù)進行分類[5],一般分為3 種:①基于視頻圖像的跌倒檢測[6-7],該方法通過高速攝像頭進行圖像識別,精度高,但使用者隱私得不到保障;②基于環(huán)境傳感器的跌倒檢測[8-9],該方法通過在特定場景內(nèi)設(shè)置電磁式、聲學(xué)、光學(xué)式傳感器進行跌倒檢測,但使用不便,且只局限于室內(nèi);③可穿戴式的跌倒檢測,此方法結(jié)構(gòu)簡單、使用簡便、成本低,且能適應(yīng)多種環(huán)境,當(dāng)前研究大多集中在該領(lǐng)域,本文也基于此方法。
可穿戴式的跌倒檢測以檢測算法進行區(qū)分,可分為兩種:①基于機器學(xué)習(xí)、深度學(xué)習(xí)的檢測,該方法通常準確率高,但對數(shù)據(jù)量的要求也較高,且算法較為復(fù)雜,容易造成檢測時間長和過擬合等問題;②基于閾值法的檢測,該方法通過設(shè)置跌倒和日?;顒樱ˋDL)的閾值分辨跌倒,該方法簡單,較容易實現(xiàn),且運行速度快,但目前對閾值選擇還沒有統(tǒng)一標準。
研究表明,主動跌倒持續(xù)時間為514±112ms,被動跌倒(當(dāng)受到外力時)持續(xù)時間為713±104ms[10],而如何在人體跌倒前就作出檢測并進行相應(yīng)干預(yù)具有重要意義。因此,從系統(tǒng)檢測出跌倒到倒地這段時間PIT(Pre-Impact-Time)將是評價檢測系統(tǒng)及時性的重要標準。
Ahn 等[11]采集軀干的加速度、角速度,使用兩種不同的閾值法進行研究并作對比;Zhong 等[12]設(shè)計一種位于腰部的可穿戴系統(tǒng),采集加速度計和角速度,使用行加速度和歐拉角計算垂直位移和速度,再設(shè)置其閾值,通過多級判斷以達到實時檢測跌倒目的;Leone 等[13]采集小腿處肌電信號,使用肌肉共收縮指數(shù)(CCI)和EEG 信號絕對值之和(IEMG)作為特征值,通過設(shè)置4 種不同的閾值進行檢測;Shi 等[14]設(shè)計一種基于足底壓力和位于腰部的慣性傳感器的跌倒檢測系統(tǒng),通過設(shè)置壓力和慣性數(shù)據(jù)的閾值判斷跌倒?fàn)顟B(tài),且也能達到不錯的效果;Su 等[15]通過收集腰部和大腿的加速度計信息,使用三級分類器對跌倒和ADL 進行分辨;Shi 等[16]采集位于腰部的慣性數(shù)據(jù),并使用基于類激活映射的卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行分類;Xiao 等[17]使用位于下肢的四通道肌電信號作為特征值,運用支持向量機(SVM)進行訓(xùn)練;茅莉磊等[18]使用加速度和角度作為特征,基于SVM 設(shè)計一個檢測方法。各研究表現(xiàn)性能如表1所示。
Table 1 The methods and performance of current researches表1 當(dāng)前研究方法及性能
從算法類型上看,前4 種采用了閾值法,后4 種使用了機器學(xué)習(xí)算法??擅黠@看出,閾值法系統(tǒng)的特異性和敏感性相對較差,但PIT 較高,即算法響應(yīng)較快,而機器學(xué)習(xí)算法則相反。
為了能同時保證檢測系統(tǒng)的準確率和PIT,本文設(shè)計了一種基于加速度、角速度和足底壓力的多傳感器跌倒檢測系統(tǒng),并且使用了一個三層的BP 神經(jīng)網(wǎng)絡(luò)作為檢測算法,實現(xiàn)了實時跌倒檢測,這樣既保證了數(shù)據(jù)的多樣性,又不會因算法的復(fù)雜程度影響檢測速度。
整個系統(tǒng)設(shè)計結(jié)構(gòu)如圖1 所示,包括硬件系統(tǒng)和上位機系統(tǒng)兩大部分。硬件系統(tǒng)分為左右腳兩部分,均位于鞋體外側(cè),運行時采集左右腳的加速度、角速度和足底壓力信息,隨后通過WiFi 模塊傳給上位機系統(tǒng),并對數(shù)據(jù)進行顯示和持久化,將數(shù)據(jù)預(yù)處理后傳給檢測算法,檢測算法得到結(jié)果并反饋給上位機。
Fig.1 The block diagram of the proposed fall detection system圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件包括4個部分:主控芯片STM32F103、姿態(tài)采集模塊MPU6050、四路薄膜壓力傳感器FSR402、無線模塊ESP8266、電池模塊。整個系統(tǒng)只有半個手機那么大,且只有200g,滿足可穿戴系統(tǒng)的小型化要求,系統(tǒng)主體如圖2所示。
姿態(tài)采集模塊能采集人體的加速度、角速度,而薄膜壓力傳感器是一種電阻壓變式傳感器,其量程可從20g 到10kg 且能對壓力變化有快速反應(yīng)。該系統(tǒng)使用4 路薄膜壓力傳感器,分別位于足底的大拇指、第一跖骨、第四跖骨、足跟,人體運動時這幾個點的足底壓力變化最具代表性[19],如圖3 所示。人體的多種活動都離不開足部作用,因此足底壓力變化趨勢能明顯反映人體當(dāng)前重心變化情況,為跌倒檢測提供重要信息。
Fig.2 The fall detection system圖2 跌倒檢測系統(tǒng)實物
Fig.3 The position of pressure sensors圖3 壓力傳感器擺放位置
系統(tǒng)上電后,主程序?qū)Ω髂K進行初始化,對加速度、角速度和壓力信息進行循環(huán)采集,并對其進行濾波,隨后對數(shù)據(jù)進行打包,統(tǒng)一發(fā)給上位機軟件。
上位機包括通信模塊、主界面、表格數(shù)據(jù)可視化、數(shù)據(jù)持久化、給算法傳輸數(shù)據(jù)的接口。在通信時上位機作為服務(wù)端,不斷接受下位機傳來的數(shù)據(jù),并對數(shù)據(jù)進行顯示,而檢測軟件能對這些信息進行顯示,并為算法提供檢測數(shù)據(jù)。
人的活動是多樣性的,為了將跌倒從各種ADL 中區(qū)別出來,使用BP 神經(jīng)網(wǎng)絡(luò)作為跌倒的分類器。BP 神經(jīng)網(wǎng)絡(luò)可以說是目前最成功的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,其通過前向傳播得出結(jié)果,再反向傳播減小誤差,通過對采樣數(shù)據(jù)不斷訓(xùn)練,達到一個局部最大的準確率。算法訓(xùn)練和檢測流程如圖4 所示。
Fig.4 Algorithm training and testing process圖4 算法訓(xùn)練測試流程
為了保證檢測準確率且不影響檢測的PIT 值,使用一種三層神經(jīng)網(wǎng)絡(luò),如圖5 所示。該神經(jīng)網(wǎng)絡(luò)輸入層數(shù)為20,隱藏層數(shù)為10 并包括一個偏移常量,輸出層數(shù)為1,算法輸出1 為跌倒,0 為日?;顒印?/p>
Fig.5 The structure diagram of BP neural network圖5 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在神經(jīng)網(wǎng)絡(luò)的前向傳播中,后一個節(jié)點和前面節(jié)點關(guān)系如式(1)、式(2):
對于一組數(shù)據(jù)xi={x1,x2…x20},yi={y} 通過網(wǎng)絡(luò)預(yù)測得到預(yù)測值為oi,其單個數(shù)據(jù)代價函數(shù)如式(4),求所有數(shù)據(jù)的平均代價如式(5)。
網(wǎng)絡(luò)反向傳播是為了減小模型的平均代價,求得一個所有神經(jīng)節(jié)點代價最小時的權(quán)重,達到一個局部最優(yōu)解,通常使用梯度下降法更新權(quán)重、bn,2<n,u是學(xué)習(xí)率,為0~1。
為了作進一步計算,引入一個中間變量,表示網(wǎng)絡(luò)中第n層第j個神經(jīng)節(jié)點的誤差,如式(8),并且誤差與權(quán)重關(guān)系如式(9),將其代入式(6)和式(7)可實現(xiàn)網(wǎng)絡(luò)權(quán)重更新和偏置目的。
為了構(gòu)建模型訓(xùn)練集,本文將人類的行為活動分成了兩大類:跌倒和日?;顒樱ˋDL)。為了便于區(qū)分,又將跌倒分解成了前后左右4 個方向,同時ADL 包括站立、行走、上下樓梯、坐下起立等常見活動,如表2 所示。
Table 2 The classification of human behavior表2 人的行為分類
本文設(shè)計實驗,選取成年男性為受試者,以確保受試者人身安全,采集人在跌倒和ADL 時各傳感器信號。實驗時讓受試者佩戴檢測系統(tǒng),逐步進行上述活動,每次活動都控制在10s 以內(nèi),行走和上下樓梯都以勻速進行,同時告知試驗者盡可能地模擬真實跌倒情況,每種活動重復(fù)5 次。
系統(tǒng)采集到的原始數(shù)據(jù)如式(10),其中Accx、Accy、Accz代表3 軸的加速度值,Grvx、Grvy、Grvz代表3 軸的角速度值,F(xiàn)1、F2、F3、F4分別對應(yīng)第一腳趾、第一跖骨、第四跖骨、足跟的壓力值。得到的原始數(shù)據(jù)并不能直接使用,還需對其做特征處理,首先為保證模型能夠快速收斂,將會對原始數(shù)據(jù)做歸一化處理,即每一個數(shù)據(jù)都會除以其傳感器量程。
隨后還需對跌倒和ADL 進行標注,這對檢測系統(tǒng)性能尤其是PIT 有很大影響。為了找到這樣的零界點,本文通過觀察足底壓力變化,確定4 類跌倒的臨界位置,即包括臨界點在內(nèi)的前5 個點都認定為跌倒正在發(fā)生,4 種跌倒的標注方法如圖6 所示(彩圖掃OSID 碼可見)。各跌倒的臨界位置確定方式如下:①向后跌倒:雙足跟壓力F4_l 和F4_r 最高點;②向前跌倒:雙足大拇指壓力F1_l 和F1_r 最高點;③向左跌倒:取左第四跖骨F3_l 和右第二跖骨F2_r壓力最高點;④向右跌倒:取右第四跖骨F3_r 和左第二跖骨F2_l 壓力最高點前。
Fig.6 The recognition methods of four types of falls圖6 4 種跌倒標注方法
跌倒是一個動態(tài)過程,用單數(shù)據(jù)點并不能反映一個完整的跌倒過程,因此使用滑動窗口算法解決該問題[20]。該算法使用一個窗口函數(shù)代表一個動態(tài)過程的矩形窗口,如圖7 所示(彩圖掃OSID 碼可見)。窗口右邊代表當(dāng)前時間,窗口長度設(shè)置為4,代表當(dāng)前時間的前4 個點。計算這4 個點時間上的平均值作為算法輸入數(shù)據(jù)。
系統(tǒng)采樣頻率設(shè)置為10Hz,這意味著每100ms 窗口就會向前移動一格,并對當(dāng)前人體狀態(tài)進行判斷,窗體移動過程如圖7 所示。為了方便展示,圖中只顯示了壓力數(shù)據(jù)。
Fig.7 The schematic diagram of system sliding window圖7 系統(tǒng)滑動窗口示意圖
通過實驗采集到的跌倒和ADL 數(shù)據(jù)比例為100∶1712,雖然數(shù)據(jù)比例接近于真實情況,但數(shù)據(jù)比例差距過大會嚴重影響模型訓(xùn)練效果。為了保證模型準確率和訓(xùn)練方便,對跌倒數(shù)據(jù)進行過采樣處理,即通過統(tǒng)計學(xué)中的采樣使數(shù)據(jù)比例達到1∶1,并使用此數(shù)據(jù)對BP 神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。得到一組權(quán)重值使檢測性能最好,隨后將該模型作為整個系統(tǒng)的檢測模塊,通過實時輸入傳感數(shù)據(jù),對人體狀態(tài)進行實時檢測。
為了評估本系統(tǒng)的分類性能,使用所有數(shù)據(jù)對模型進行測試,結(jié)果通常有以下幾種情況:真陽性(TP)、假陽性(FP)、真陰性(TN)、假陰性(FN),分別代表跌倒且檢測為跌倒、非跌倒檢測為跌倒、非跌倒檢測為非跌倒、跌倒檢測為跌倒。以上參數(shù)可組成混淆矩陣如圖8 所示,其中,1 代表跌倒,0 代表日?;顒?,表明檢測結(jié)果真實值和預(yù)測值的對應(yīng)數(shù)量。
驗證一個模型的分類性能有3 個指標:準確率(Accura?cy)表示系統(tǒng)平均分類能力;敏感性(Sensitivity)表明系統(tǒng)對跌倒的敏感程度,敏感性越高代表漏檢概率越低;特異性(Specificity)表明對跌倒和非跌倒的區(qū)分程度。
由圖7 計算得出系統(tǒng)準確度可達99.7%,敏感度和特異性分別為100%和99.3%,可以看出系統(tǒng)檢測性能很高,且對跌倒和ADL 有很強的區(qū)分能力,檢測系統(tǒng)的PIT 值約為400ms。系統(tǒng)在保證檢測準確度的情況下,也能達到一個很好的PIT 值,證明本系統(tǒng)能很好地完成跌倒檢測要求。
Fig.8 The Confusion matrix of proposed algorithm圖8 混淆矩陣
為了滿足對老年人跌倒的檢測需求,本文設(shè)計了一種位于足部的多傳感器跌倒檢測系統(tǒng)。該系統(tǒng)通過采集人體足部的壓力、加速度、角速度等信息,經(jīng)過特征處理后,使用BP 神經(jīng)網(wǎng)絡(luò)作為檢測模型實現(xiàn)老年人跌倒檢測。同時,該系統(tǒng)體積小、重量輕、置于鞋體外側(cè),滿足了可穿戴系統(tǒng)便于穿戴的需求。實驗證明,該系統(tǒng)能在較短時間內(nèi)對跌倒作出反應(yīng),且達到很高的檢測精度。但該系統(tǒng)只能對人體的跌倒進行實時檢測,而如何對發(fā)生跌倒進行干預(yù)還需作進一步研究。