李京慧, 遲宗濤, 李鐘曉
(青島大學 電子信息學院,山東 青島 266071)
現今具有護理養生、康復理療的智能設備越來越多,而老年人監護設備卻相對較少,不能滿足當今社會的需求。因此,跌倒檢測報警系統的研究對降低老年人摔倒致殘率意義重大[1]。目前跌倒檢測的相關技術主要有兩種:基于視頻圖像處理的檢測技術精度高,但是受檢測設備的限制,只能在范圍有限的室內環境中應用,并且成本高,不易于大規模推廣使用[2];基于傳感器檢測人體姿態的跌倒檢測技術易于實現,便攜性好,而且不受環境的限制,成本較低[3]。基于傳感器的跌倒檢測算法主要有機器學習法和閾值法兩種,機器學習法的精度高,但算法復雜,成本昂貴,對硬件設備的要求也高。而閾值法計算量小,操作簡便,易于理解,是現在常用的跌倒檢測算法[4]。
由于人體跌倒的過程是瞬態的,本文設計的跌倒檢測報警系統,根據跌倒過程中失重、撞擊、靜止三種狀態下合加速度的變化及每個狀態之間時間間隔的有限性,結合姿態角做出最終判斷,大大提高了判斷的準確率,該系統還使用全球定位系統(global positioning system,GPS)準確定位跌倒位置。測試結果表明,系統準確率高,能夠作為智能穿戴產品應用于行動不便的人群中。
跌倒檢測系統由主控制器、三軸加速度模塊、GPS模塊、數據傳輸模塊、液晶顯示屏構成,系統結構如圖1所示。
系統通過主控制器控制液晶屏顯示系統工作狀態,解析GPS模塊數據計算當前地理位置,控制數據傳輸模塊發送求助信息。通過三軸加速度模塊讀取加速度數據以檢測身體姿態,當判斷身體姿態為跌倒時,控制數據傳輸模塊向特定的手機號碼發送帶有由GPS數據解析出來的地理位置的求救短信[5]。

圖1 系統結構
系統主控制芯片使用基于Cortex—M3內核的高性能微控制器STM32F103ZET6。該芯片包含了高速存儲器(512 kB的閃存和64 kB的SRAM),最大工作頻率為72 MHz,適合在移動設備上使用。加速度傳感器模塊使用ADXL345三軸加速度傳感器,最大量程可達±16gn,采用IIC通信方式,檢測并輸出人在不同運動狀態下的三軸加速度,適合高性能便攜式應用[6],ADXL345的外圍電路如圖2所示。GPS模塊以UBLOX—NEO—6M芯片作為主芯片,性能穩定,抗干擾能力強。STM32通過接收GPS模塊發送來的數據,根據數據的協議格式解析當前地理位置信息。數據傳輸模塊使用的芯片是SIM900A,該模塊接收由STM32發送的命令和數據,將數據進行處理后通過天線發送出去。

圖2 ADXL345芯片電路連接
人在正常站立和跌倒時的身體姿態是不同的,正常站立時,合加速度約等于重力加速度gn,人與地面的夾角為90°。當人體跌倒時,重心瞬間下移導致失去平衡,短時間內合加速度小于重力加速度,人與地面的夾角近似為0°[7]。對合加速度和姿態角進行閾值分析,可以判斷人體是否跌倒。根據跌倒的方向不同分為:前跌倒、后跌倒、側跌倒。為準確檢測人體跌倒行為,以腰部為原點,建立人體坐標系,如圖3所示,X軸是人體右手方向,Z軸垂直于人體向上,Y軸是人體前進方向,圖中箭頭方向表示人臉朝向。

圖3 坐標示意
ax,ay,az分別表示采集到的3個軸的加速度,根據三個方向的加速度值,可以計算出3個姿態角[8]
式中θPitch為俯仰角,即人體繞X軸的旋轉角度;θRoll為人左右傾斜的角度,即人體繞Y軸的旋轉角度;θYaw為人左右旋轉的角度,即人體繞Z軸的旋轉角度。
根據采集到的三軸加速度ax,ay,az,計算出合加速度a

跌倒的大多數情況都是前后和側向跌倒,這將導致θRoll和θPitch的值發生很大的變化,而θYaw的值沒有明顯變化[9]。日常生活中的彎腰、緩慢躺下、下蹲等動作也會導致姿態角發生很大變化,所以只通過姿態角的變化來判斷是否跌倒是不準確的。因此,在判斷過程中,引入人體合加速度的變化。人體合加速度在跌倒時會經歷很大波動,總體上可以將波動過程總結為失重、撞擊、靜止3個階段。因為跌倒是一個連貫的動作,所以各個階段的時間間隔不會太長。比如說,失重中斷發生1 min后才發生撞擊中斷,這明顯不能作為判斷摔倒的條件。為了減少此類誤判提高檢測摔倒的準確率,分析多次實驗數據,為失重與撞擊之間設置了時間間隔閾值0.5 s,為靜止階段持續時間設置閾值為2 s,為θPitch和θRoll設置傾斜角度閾值45°[10]。
ADXL345的3個中斷與失重、撞擊和靜止這3個狀態相對應,利用3個中斷作為這3個狀態發生的標志,算法分為以下幾步:
1)失重中斷檢測:跌倒過程會出現失重的瞬間,根據采集的3個方向的加速度值計算合加速度a,若檢測到a小于0.6gn并持續一定時間,則認為人體處于失重狀態,失重中斷置位,進入下一步檢測;
2)撞擊中斷檢測:人體與地面劇烈碰撞導致合加速度產生一個波峰,一般人體正常運動(包括激烈運動)的合加速度值均不超過2gn,而跌倒時的合加速度最大可達4gn[11],所以取合加速度大于2gn作為撞擊發生的標志。若在失重中斷置位后的0.5 s內檢測到a值大于2gn,撞擊中斷置位,并采集100個采樣點的加速度值,為姿態角階段的檢測提供數據,進入下一步檢測;
3)靜止中斷檢測:人體跌倒后,會靜止一段時間,若檢測到合加速度值為1gn并且持續超過2 s時,靜止中斷置位,進入下一步檢測。若沒有觸發靜止中斷,則可能是由于人體跳躍后落地引起的失重和撞擊,此時返回第一步;
4)姿態角檢測:將第二步中采集的采樣點根據式(1)計算出姿態角,比較θPitch或θRow之一有沒有超過45°,若超過則進行跌倒報警,若沒有則返回第一步。
STM32通過UART4連接GPS模塊,讀取GPS的定位信息。GPS輸出數據使用的協議是NMEA—0183協議,該協議中的6個語句包含各種地理位置信息。只需要獲取經度坐標、緯度坐標、經度半球、緯度半球和定位狀態信息,而要獲取這些信息只需要解析其中一個語句就足夠了,本系統解析了GPRMC語。解析地理位置信息的過程為:1)判斷UART4_RX_BUF中存儲的是不是一幀完整的GPS數據,若是執行第2步,若不是重復第1步;2)判斷UART4_RX_BUF接收到的數據有沒有GPRMC語句,若有執行第3步,若沒有返回第1步;3)判斷GPRMC語句定位狀態信息是否為有效定位,若是執行下一步,若不是返回第1步;4)解析GPRMC語句中其他信息并存儲,返回到第一步。
通過兩組測試來驗證跌倒檢測系統的可行性和準確度,第一組是正常行走和坐下實驗,第二組是不同方向的跌倒測試,實驗選取兩男兩女完成,每組測試100次。由于人體的重心位于腰部,腰部的變化能夠更準確的反映人體姿態的改變,因此兩組實驗的數據均采集了實驗者行走、坐下、跌倒時腰部的加速度。
第一組,實驗人員以不同的速度分別進行100次的正常行走和快速坐下,實驗過程中均沒有報警。取其中一次數據繪制成圖,圖4(a)和(b)分別表示正常行走和快速坐下的曲線圖。由圖4(a)可知,正常行走實驗中,合加速度維持在1gn左右,X,Y軸姿態角沒有發生很大變化,在閾值范圍內,故報警器未報警。由圖4(b)可知,快速坐下實驗中,三軸加速度及合加速度都在瞬間產生一個峰值,但合加速度未超過2gn,姿態角沒有超過45°,均在閾值范圍內,故報警器未報警。第二組實驗,實驗者進行了3個方向的跌倒測試,由于大部分檢測方法中,向后跌倒檢測的準確率最低[12],因此文中僅給出向后跌倒的曲線及分析。

圖4 實驗測試曲線
取其中一次實驗數據繪制成圖,由圖4(c)看出,人體向后跌倒時,三個軸的加速度都會產生峰值,導致合加速度變化幅度增大;跌倒的失重階段合加速度由1gn迅速下降至0gn左右,遠小于設置的閾值0.6gn,觸發失重中斷,此時人體重心下移,失去平衡;在0.5 s內,合加速度增大至4.3gn左右,已經遠超過設定的閾值2gn,觸發撞擊中斷;靜止階段合加速度緩慢恢復到1gn左右,并持續時間超過2 s,觸發靜止中斷;測試人員向正后方跌倒時,身體僅繞X軸旋轉,所以θRoll和θYaw僅在0°附近波動,θPitch最終變為90°,遠超過設定的閾值45°,報警器報警。
實驗結果如表1所示,對所有跌倒情況進行統計,報警準確率為97 %。在300次的跌倒實驗中,報警器只有9次沒有報警,屬于正常實驗誤差范圍。實驗結果表明,通過閾值分析法檢測跌倒事件發生的準確率較高。

表1 實驗結果
本文設計的人體跌倒檢測報警系統采用加速度傳感器和SIM900A模塊實現數據的采集和傳輸;合加速度、姿態角和三個中斷的完美結合,提高了檢測跌倒的準確性;GPS定位系統能準確地定位跌倒者的位置信息;跌倒事件的短信報警提示增加了該系統的交互功能。實驗結果表明,系統報警準確率為97 %,準確率高、性能穩定,能夠作為智能穿戴產品應用于行動不方便的人群中。