毛廣瑋 彭曉波 任爽
摘 要:采用SVM閾值跌倒檢測算法測量老人跌倒以及其它常見的老人運動行為中的加速度峰值,兩者進行比較,從而確定老人跌倒檢測軟件中設定的發出警報的閾值。
關鍵詞:Android;老人跌倒;SVM閾值測定
由于老年人的身體各項機能均有不同程度的退化,以及中風、腦血管疾病、心絞痛等老年疾病的困擾,老年人群體中出現跌倒的意外情況大大增多,而其產生的后果更加嚴重。目前,跌倒是造成我國65歲以上老年人傷害死亡的首要原因。第一時間檢測老人跌倒狀況并及時通知搶救是減少傷害死亡的最有效途徑。
區分人體跌倒時加速度的峰值與其它老人常見運動行為中加速度峰值的差異,是檢測老人跌倒情況的基本原理。基于此原理,采用SVM閾值算法,初步確定了跌倒時人體加速度閾值,設計了基于Android平臺的老人跌倒檢測軟件。
1 軟件功能原理簡介
基于Android平臺的老人跌倒檢測軟件主要用JAVA語言進行開發,借助于Android SDK和Eclipse IDE進行軟件功能的實現,Eclipse 中提供了豐富的java環境,編譯完成后用Android Developer Tools進行打包,便可安裝于安卓手機。
該軟件主要借助于安卓手機中自帶的三軸加速度傳感器獲取老人運動所產生的加速度,根據SVM閾值跌倒檢測算法計算人體各項運動時其加速度幅度值。利用人體在不同運動行為下的加速度幅值與跌倒行為中加速度幅值的明顯差異,從而判斷老人是否摔倒。當老人跌倒時,隨身攜帶的手機加速度幅值會明顯大于軟件設置的報警閾值B,這時手機便會自動報警,若15s內手機沒有響應動作,軟件便會自動發送短信通知老人的監護人詳細的地點,以便及時搶救。
2 加速度閾值測定
2.1 跌倒檢測分析
人體會因受到外力或失去平衡而跌倒,跌倒時人體會呈現出向某一方向傾倒狀態,導致重心發生變化而在某一方向上產生一定的加速度[1]。因此,運動狀態的改變可以借助加速度變化來體現,劇烈程度不同運動的導致不同的加速度幅值的改變,而老人一般不會做劇烈程度很大的活動,跌倒瞬間所導致的加速值應該明顯高于其他活動所導致的加速度幅值。此外,跌倒還具有隨意性,不同方向的跌倒和不同程度的摔倒都會導致不同的加速度幅值,因此軟件加速度閾值的確定需要綜合不同情況的跌倒來得到。
2.2 跌倒檢測相關算法
加速度可更好的反映運動變化情況[2],為了更好的滿足人體運動模型,將手機固定在腰間,采用三軸加速度傳感器來獲取不同方向的加速度值,人體豎直站立時,ax ,ay ,az 分別代表人體左右,人體垂直和人體前后方向的加速度,即人體站立或勻速行走時,理論上,ax ,az的值均為0,ay 的值等于g[3]。且ax ,ay ,az分別與手機自帶的三軸加速度方向相對應,可更好的突出實驗結果的靈敏度,提高實驗數據的準確性。由于跌倒具有隨機性,跌倒過程中,人的加速度,速度,和位移都發生了變化[4],因此不能用一軸的加速度變化值來判斷人體的跌倒情況,我們采用SVM閾值跌倒檢測方法,利用公式(1)計算手機獲取到的三個方向的加速度值,從而得到其加速度幅值SVM。
SVM= (1)
手機固定在人體腰間,手機加速度傳感器獲取的加速度值近似等于人體所具有的加速度值,本文便是通過計算老人正常活動而產生手機加速度幅度變化來判斷老人活動狀態,由此確定老人跌倒的加速度閾值。
2.3 跌倒數據測定
我們通過實驗測量老人們正常生活中的行為動作產生的各個方向的加速度值并計算其加速度幅度值SVM,我們測量的行為有:向前跌倒,向后跌倒,左側跌倒,右側跌倒,正常行走,上、下樓梯,彎腰,坐下、起立,慢跑。一般老人都不會做劇烈運動,加速度幅值變化不會太大,而老人摔倒后加速度幅值會發生突變,明顯高于其他活動所產生的加速度幅值。該試驗對象1人,年齡22歲,身高178cm,身體健康。實驗工具為同一款手機。每個實驗項目重復測量10次,記錄其每次的加速度幅值的峰值。利用公式(2)分別計算其每個實驗項單元的峰值的平均值為:
(2)
其中ai為每次每個實驗項單元的峰值,為每個實驗項單元的峰值的平均值。
得到老人幾種正常生活運動所產生加速度幅值的峰值數據如表一所示: