蔡長青,王 鵬
(長春工程學(xué)院,長春 130012)
自21世紀(jì)以來,中國人口老齡化問題加劇[1]。加快老齡產(chǎn)業(yè)發(fā)展,緩解社會(huì)壓力,已成為中國有待解決的重要問題。根據(jù)調(diào)查,只有少數(shù)老年人愿意在養(yǎng)老機(jī)構(gòu)里被照顧,因此中國的養(yǎng)老市場巨大[2]。
目前,世界上已有許多國家已經(jīng)進(jìn)入人口老齡化時(shí)代。每年約30%~40%的老年人跌倒一次或多次,并且跌倒的可能性隨著年齡的增長而增加[3]。大約1/3的65歲以上的老人每年跌倒一次或多次,而80歲以上老人的跌倒發(fā)生率每年高達(dá)50%。老年人跌倒經(jīng)常導(dǎo)致身體創(chuàng)傷和心理陰影,而且是威脅老年人生命和健康的重要因素。中國老年人的直接醫(yī)療費(fèi)用超過50億元人民幣。老年人可以適應(yīng)節(jié)奏緩慢的單項(xiàng)運(yùn)動(dòng),但如果同時(shí)或急于進(jìn)行兩項(xiàng)獨(dú)立的運(yùn)動(dòng)時(shí),可能會(huì)因?yàn)樽⒁饬Ψ稚?,使得協(xié)調(diào)不力,從而失去平衡[4]。老年人的骨骼肌系統(tǒng)機(jī)能下降,導(dǎo)致肌肉和關(guān)節(jié)運(yùn)動(dòng)減少,再加上骨質(zhì)疏松癥,就很容易引發(fā)跌倒。朱連杰等[5]人總結(jié)了基于可穿戴設(shè)備的跌倒檢測方法。李欣欣等[6]人進(jìn)行了基于單片機(jī)的跌倒檢測報(bào)警系統(tǒng)設(shè)計(jì)。但這些研究都缺少跌倒事件與日常其他事件的對比分析。本文對跌倒事件和其他日常行為事件進(jìn)行了對比分析,以彌補(bǔ)這一缺失。
智能養(yǎng)老院老年人跌倒檢測報(bào)警系統(tǒng)由3部分組成:遠(yuǎn)程監(jiān)控客戶端、通信層和養(yǎng)老院設(shè)備。老年人跌倒檢測警報(bào)系統(tǒng)的整體框圖如圖1所示。
圖1 老人跌倒檢測系統(tǒng)整體框圖
遠(yuǎn)程監(jiān)控客戶端:通過監(jiān)控智能養(yǎng)老院中的主機(jī)客戶端,可以看到不同活動(dòng)情況下老年人的加速度值、傾角值、加速度、傾角波形、跌倒報(bào)警提示等。
通信層:在手環(huán)檢測到的跌倒信息數(shù)據(jù)由CC2530微處理器調(diào)整后,該數(shù)據(jù)通過Zigbee無線傳輸模塊傳輸?shù)街悄芙K端STM32主控制器上的Zigbee無線接收模塊。在智能終端主控制器處理完數(shù)據(jù)后,數(shù)據(jù)通過房間的局域網(wǎng)網(wǎng)線傳輸?shù)奖O(jiān)控中心的計(jì)算機(jī)上。電腦通過上位機(jī)軟件顯示跌倒報(bào)警信息提示。
養(yǎng)老院中的設(shè)備:可穿戴設(shè)備是老人跌倒檢測手環(huán)。通過Zigbee技術(shù)將檢測到的數(shù)據(jù)發(fā)送到STM32控制處理終端。多閾值判斷跌倒算法用于確定老年人是否跌倒,跌倒后發(fā)送信號,將跌倒提示顯示到主機(jī)界面。通過上位機(jī)界面,可以看到老年人的加速度值和傾斜度值。
研究發(fā)現(xiàn)“低于15 Hz的能量集中了99%的人體加速度信號”,換句話說,人體檢測到的加速度頻率通常低于20 Hz。根據(jù)奈奎斯特采樣定律,通過使用比采樣信號的最高頻率高兩倍的采樣信號頻率,可以不失真地表示原始信號。因此,我使用了頻率為50 Hz的采樣信號和20 ms的定時(shí)器中斷定時(shí)來觸發(fā)傳感器數(shù)據(jù)的單次轉(zhuǎn)換。在完成AD轉(zhuǎn)換之后,將數(shù)據(jù)直接傳送到DMA,從而節(jié)省CPU資源,并且可以直接確定用于操作存儲(chǔ)單元的跌倒檢測算法。
由于加速度計(jì)輸出的信號通常為小電壓信號,并且容易受到外界的影響,因此有必要對輸出信號進(jìn)行抗干擾處理。通常,抗干擾預(yù)處理分為軟件過濾和硬件過濾。硬件過濾通常是為了調(diào)整系統(tǒng)電路板的布線和設(shè)計(jì)組件的布局。軟件過濾是一種使用算法和程序過濾干擾信號并消除信號雜波的方法。對于可穿戴設(shè)備,向手環(huán)添加硬件過濾器通常很麻煩且笨重,這不利于安裝。因此,此處選擇軟件過濾。20 Hz低通濾波器是使用Matlab設(shè)計(jì)的。
Matlab計(jì)算的低通濾波器的幅頻響應(yīng)如圖2所示。
Matlab計(jì)算得到的巴特沃斯系數(shù)可用于獲得巴特沃斯濾波器的系統(tǒng)函數(shù)見式(1):
(1)
通過使用此系統(tǒng)功能,可以在程序中實(shí)現(xiàn)傾斜度的巴特沃斯低通濾波。圖3和圖4是應(yīng)用巴特沃斯低通濾波器對傾斜度影響的濾波前后對比,可以看出軟件濾波效果明顯。
圖2 巴特沃思低通濾波器幅度頻率響應(yīng)圖
圖3 傾角值原始數(shù)據(jù)
圖4 傾角濾波之后數(shù)據(jù)
由于跌倒是隨機(jī)發(fā)生的,因此無法預(yù)測跌倒所面向的方向。對3個(gè)方向的加速度值進(jìn)行單一分析并不完美。如果使用區(qū)域加速度強(qiáng)度SMA和加速度強(qiáng)度矢量SMV來處理3個(gè)方向的加速度,則加速度的空間分量將被忽略并且更具適應(yīng)性。為了準(zhǔn)確地將跌倒事件與日常行為事件(例如跑步、跳躍、步行、上下樓梯等)區(qū)分開來,我們使用六軸傳感器MPU6050檢測人體的加速度和傾角值在3個(gè)方向上數(shù)據(jù)。
分析六軸傳感器在3個(gè)方向上收集的加速度數(shù)據(jù),我們采用了兩個(gè)特征值區(qū)域加速度強(qiáng)度SMA和加速度強(qiáng)度矢量SMV,定義式如下:
(2)
式中acc_X(i)、acc_Y(i)、acc_Z(i)分別表示在第i次收集的六軸加速度傳感器在X,Y和Z方向上的加速度值,單位是g(1 g=9.8 N)。
SMA和SMV的閾值數(shù)據(jù)在3個(gè)方向上收集的六軸傳感器的加速度值,關(guān)系如圖5所示。
因?yàn)榱S傳感器每秒在3個(gè)方向上收集加速度數(shù)據(jù)50次,所以等效于每秒在X,Y和Z方向上收集50組加速度數(shù)據(jù)。然后,橫坐標(biāo)表示為實(shí)驗(yàn)收集點(diǎn)的數(shù)量。顯示了大約200 s收集的實(shí)驗(yàn)數(shù)據(jù)。
圖5 加速度傳感器值與實(shí)驗(yàn)采集點(diǎn)數(shù)的關(guān)系
此外,使用式(2)計(jì)算SMA和SMV的值并繪制圖表。如圖6所示,大約有12 000個(gè)數(shù)據(jù)點(diǎn)(240 s數(shù)據(jù))。圖6中顯示的數(shù)據(jù)由一系列運(yùn)動(dòng)組成,例如靜止、小跑運(yùn)動(dòng)、行走、奔跑、上下樓梯、跌倒和跳躍。從SMA值圖中可以看出,大幅度運(yùn)動(dòng),跌倒和跳躍期間的SMA值非常大,尤其是在跌倒期間的SMA值最大。因此,可以設(shè)置一定的閾值來區(qū)分大跑、跌倒、跳躍和其他日常事件。并且在SMV值圖像中,還可以看到跑步和跳躍時(shí)SMV值較大,并且跌倒與其他日常活動(dòng)的SMV值比較小,還可以設(shè)置一定的閾值來區(qū)分跑步和跳躍以及其他日?;顒?dòng),例如跌倒和行走。
當(dāng)人意外跌倒時(shí),人體軀干的傾斜角度會(huì)急劇變化。通過六軸傳感器收集人的傾斜角值是判斷人是否跌倒的輔助條件。通過作圖分析表明,日常行為的傾斜范圍小于30°。圖7是傾斜角度的數(shù)量與實(shí)驗(yàn)收集點(diǎn)的數(shù)量之間的關(guān)系。傾斜角1表示左右傾斜的角度,傾斜角2表示前后傾斜的角度。從圖中可以清楚地看到,跌倒期間的傾角值很大,可以設(shè)置一定的閾值以將跌倒與其他日常行為事件區(qū)分開。
圖6 SMA和SMV與實(shí)驗(yàn)采集點(diǎn)數(shù)的關(guān)系
圖7 傾角度數(shù)與實(shí)驗(yàn)采集點(diǎn)數(shù)的關(guān)系
綜上所述,本文的多閾值判斷跌倒檢測算法的第一步是確定區(qū)域加速度強(qiáng)度SMA。當(dāng)SMA的值大于閾值TH1時(shí),確定發(fā)生了可疑的跌倒事件(在劇烈運(yùn)動(dòng)和跌倒之間時(shí)的SMA值同樣大)。在第二步中,檢查加速度強(qiáng)度矢量SMV。當(dāng)SMV的值小于閾值TH2時(shí),懷疑會(huì)發(fā)生第二次跌倒(因?yàn)樵诘惯^程中SMV的值較小,并且其他SMV值較大,因此可以排除劇烈運(yùn)動(dòng),例如跑步和跳躍)。第三步是判斷人體的傾斜度。當(dāng)傾斜閾值大于TH3時(shí)(某些動(dòng)作,例如快速坐著和站著,可以排除在外),如果滿足條件,則確定老人跌倒了。多閾值判斷跌倒算法流程圖如圖8所示。
圖8 多閾值判斷跌倒算法流程圖
六軸傳感器MPU6050嵌入手環(huán)中,以檢測老年人在3個(gè)方向上的加速度和傾角值,并將數(shù)據(jù)傳輸?shù)紺C2530微處理器。通過CC2530微處理器調(diào)整數(shù)據(jù)后,使用Zigbee無線通信技術(shù)將數(shù)據(jù)傳輸?shù)金B(yǎng)老院智能終端STM32,然后使用多閾值判斷跌倒算法來確定老人是否摔倒了。跌倒報(bào)警手環(huán)的整體硬件設(shè)計(jì)框圖如圖9所示。
圖9 跌倒報(bào)警器硬件總體設(shè)計(jì)框圖
跌倒報(bào)警設(shè)備主要由六軸傳感器MPU6050、穩(wěn)壓電源模塊、CC2530微處理器和Zigbee無線收發(fā)器模塊組成。數(shù)據(jù)通過Zigbee無線收發(fā)器模塊傳輸?shù)街悄芙K端STM32進(jìn)行處理。
六軸傳感器MPU6050模塊的電路原理圖如圖10所示。
圖10 MPU6050六軸傳感器模塊原理圖
用于檢測和判斷老年人跌倒的軟件的一部分是智能終端STM32的嵌入式處理器。該程序是在Keil uVision4軟件環(huán)境中編寫的,它使用STM32F103ZET6作為智能控制終端處理芯片,實(shí)現(xiàn)對六軸傳感器采集的加速度值數(shù)據(jù)和傾角值數(shù)據(jù)的處理。STM32定時(shí)器控制多通道A/D轉(zhuǎn)換以及DMA數(shù)據(jù)的傳輸和I/O端口的控制,數(shù)據(jù)通過串行端口在STM32和CC2530之間傳輸,并使用多個(gè)閾值確定跌倒檢測算法,跌倒檢測手環(huán)軟件流程圖和智能終端檢測跌倒設(shè)備軟件流程圖如圖11~12所示。
圖11 跌倒檢測手環(huán)軟件流程圖
圖12 智能終端檢測跌倒設(shè)備軟件流程圖
該實(shí)驗(yàn)的數(shù)據(jù)分析,典型跌倒事件的分析以及其他日常行為事件的分析,最后邀請幾名學(xué)生驗(yàn)證跌倒實(shí)驗(yàn),包括跌倒以及一些日常行為事件,例如跳躍、步行、彎腰等。根據(jù)本文的多閾值判斷跌倒算法,可以實(shí)時(shí)檢測跌倒事件。
通過四軸上位機(jī)軟件可以看到人3個(gè)方向的加速度值、傾角值如圖13所示。
圖13 四軸上位機(jī)顯示加速度值和傾角值
這時(shí),我們使用多個(gè)閾值來確定跌倒算法以進(jìn)一步判斷,并處理10個(gè)向前和向后跌倒和5個(gè)跳躍的數(shù)據(jù),獲得區(qū)域加速度強(qiáng)度SMA和加速度值強(qiáng)度矢量SMV以及傾角值。經(jīng)過濾波處理后,獲得左右傾斜角1和前后角2。如圖14所示,SMV、SMA、傾斜角1和傾斜角2的變化分別對應(yīng)于向前、向后和向左方向的10個(gè)跌落事件和5個(gè)跳躍事件。
圖14 日常生活事件與跌倒時(shí)各參量變化
從圖15可以看出,在進(jìn)行跌倒實(shí)驗(yàn)時(shí),通過多閾值判斷跌倒算法計(jì)算出的區(qū)域加速度強(qiáng)度SMA,加速度強(qiáng)度矢量SMV和傾角值可以清晰地區(qū)分跌倒事件,尤其是通過將SMA閾值設(shè)置為-1g,可以區(qū)分SMA和傾斜角2的值,分別向前,向后和向右傾斜;因?yàn)閮A斜角2的值(向前和向后傾斜的角度)是向左的,所以跌倒時(shí)的情況非常強(qiáng)烈,可以通過將傾斜閾值設(shè)置為120°來區(qū)分。從圖14可以看出,無論向哪個(gè)方向跌倒,SMV的值都會(huì)相對于其他狀態(tài)發(fā)生顯著變化,并且跳躍的SMV值將達(dá)到最大值,并且可以將SMV的閾值設(shè)置為>20以區(qū)分跳動(dòng)狀態(tài)。SMV閾值設(shè)置為<3,以區(qū)分日?;顒?dòng)的其他狀態(tài)。
圖15 跌倒和跳躍過程中參數(shù)的變化
在分析其他日常行為事件時(shí),幾名學(xué)生戴上跌倒檢測裝置,然后進(jìn)行靜止,彎腰3次,坐下3次,站起來3次,步行,跑步,上下樓梯和3次跌倒實(shí)驗(yàn),Matlab軟件繪制由這些動(dòng)作生成的數(shù)據(jù)圖像,如圖14所示。
從圖14的分析可以看出,從SMA值圖可以看出,圖像在彎腰,跌倒,坐下和起立時(shí)都具有較大的SMA值,尤其是在跌倒時(shí)SMA值最大,因此可以設(shè)置一定閾值,區(qū)分出彎腰、跌倒和坐下、起立與其他日常事件。在SMV值的圖像中可以看到在跑步、上下樓梯和跌倒時(shí)SMV值較大,同樣可以設(shè)置一定閾值區(qū)分出跑步、上下樓梯和跌倒與其他日常事件。再通過傾角值輔助判斷出跌倒與其他日常行為事件。
通過使用跌倒檢測手環(huán)結(jié)合多個(gè)閾值來判斷跌倒算法和Zigbee技術(shù)對老人本身是否發(fā)生跌倒情況進(jìn)行檢測和報(bào)警,能有效防止老人在養(yǎng)老院中發(fā)生跌倒時(shí)無人發(fā)現(xiàn)的情況發(fā)生,讓老人時(shí)刻處于安全的監(jiān)控狀態(tài)。在實(shí)驗(yàn)中,該系統(tǒng)相對穩(wěn)定,具有良好的使用效果,具有實(shí)際應(yīng)用價(jià)值。
但在多閾值判斷跌倒算法中,閾值的數(shù)量選取應(yīng)該更多;閾值的選取應(yīng)該可以根據(jù)不同的人群自行學(xué)習(xí)設(shè)置,做到真正的人工智能。