【導讀】用智能手機進行跌倒檢測無疑是一項具有發(fā)展?jié)摿Φ募夹g(shù)。智能手機結(jié)合跌倒檢測系統(tǒng)的跌倒檢測和救助通信組件,可以實現(xiàn)對人體的監(jiān)測活動,結(jié)合GPS對用戶跌到位置進行定位,還能有效降低成本。本文講述了基于智能手機的人體跌倒檢測系統(tǒng)的設計與實現(xiàn)。
目前,跌倒檢測方法最常見的是視頻圖像分析法和穿戴式裝置檢測法。前者使用視頻攝像頭,不能保證用戶隱私安全;后者是傳感器裝置,需要基站來服務,外出時易忘記佩戴。
現(xiàn)在,國內(nèi)外已有利用手機進行跌倒檢測的相關理論研究,都是使用移動手機內(nèi)置的加速度傳感器和基于人體運動加速度特征的不同算法來檢測跌倒的。然而一些較高強度日?;顒尤缏堋⒖焖僮碌纫矔a(chǎn)生一個類似跌倒的大加速度值特征。因此,單獨使用加速度傳感器進行跌倒檢測,采集的數(shù)據(jù)比較單一,不足以完全反應人體姿態(tài)變化,會給跌倒檢測帶來許多假警報。針對以上問題,本文提出了基于信號向量模和特征量W 相結(jié)合的跌倒檢測算法。該檢測算法同時利用加速度傳感器和陀螺儀監(jiān)測人體姿態(tài)變化,有效減少了跌倒檢測結(jié)果的假陽性和假陰性。
1 跌倒檢測方法設計
加速度傳感器和陀螺儀分別能夠測量三軸方向運動加速度和角速度大小信息,本文利用智能手機內(nèi)置的這兩種傳感器來采集反映人體主要運動姿態(tài)變化的信號數(shù)據(jù)。通過使用信號向量模(magnitude of signal vector,SVM)閾值法來識別區(qū)分低強度日常生活活動(activities of daily living,ADL)與跌倒,對于閾值法不能識別的較高強度ADL,則通過對角速度信號向量模數(shù)據(jù)進一步處理得到的新特征量來判別。
1.1 信號數(shù)據(jù)
人體活動主要分為以下幾種:躺下、步行、坐下—起立、上樓梯、下樓梯、慢跑、蹲下—起立以及跌倒等。人體攜帶的智能手機,其內(nèi)置的加速度傳感器和陀螺儀輸出的信號數(shù)據(jù)可以反映出人體日常運動姿態(tài)變化。圖1為智能手機在x、y和z三軸的加速度方向及角速度方向。
圖1 三軸方向上加速度測量和角速度測量
傳感器輸出信號中摻雜了大量的脈沖噪聲,中值濾波是傳統(tǒng)的消除脈沖噪聲的方法。中值濾波器是一個非線性信號處理技術(shù),它使用一個給定長度的窗依次滑過原始信號序列,然后將窗內(nèi)居中的樣本值用該窗所包含信號序列的中值替代,這里濾波器窗口大小n設為3。圖2為加速度傳感器輸出信號數(shù)據(jù)經(jīng)中值濾波后曲線圖。
圖2
1.2 信號向量模(SVM)
跌倒發(fā)生時的加速度及角速度變化主要體現(xiàn)在某空間方向,因為跌倒事件中無法預知跌倒的方向,所以不宜用某一軸的加速度或角速度數(shù)據(jù)去判斷跌倒的發(fā)生,采用信號向量模SVM 特征量可以將空間的加速度或角速度變化集合為一矢量。加速度信號向量模(SVMA )及角速度信號向量模(SVMW )其定義分別如式(1)和式(2)
其中,ax ,ay ,az分別為加速度傳感器x、y、z三軸方向輸出經(jīng)中值濾波后信號;wx ,wy ,wz分別為陀螺儀x、y、z三軸方向輸出經(jīng)中值濾波后的信號。
圖3 和圖4 為人體處于不同運動狀態(tài)時SVMA及SVMW變化曲線。
圖3 不同人體運動SVMA 變化曲線
圖4 不同人體運動SVMW變化曲線
如圖3、圖4所示,跌倒具有大加速度和角速度峰值特征,這是因為摔倒過程中由于和低勢物體碰撞產(chǎn)生的SVM峰值比日?;顒又胁叫?、上樓梯等大多數(shù)一般過程要大。然而人體運動行為過程具有復雜性和隨機性,使用單一的加速度相關信息判斷人體摔倒行為的發(fā)生會帶來很大的誤判。本文使用SVMA及SVMW相結(jié)合的信息閾值法可以區(qū)分跌倒與產(chǎn)生SVM 峰值較小的低強度運動。通過對人體摔倒過程及其它日常生活行為過程中實驗結(jié)果數(shù)據(jù)SVMA和SVMW進行分析,本文識別跌倒的加速度信號向量模閾值取SVMAT =20m/s2 和角速度信號向量模閾值取SVMWT =4rad/s。
但是慢跑等動作也具有大加速度和角速度峰值的特征,單獨的SVM 特征量并不能區(qū)分摔倒過程與慢跑或手機日用等較高強度運動過程。
[page]
1.3 SVMW數(shù)據(jù)曲線處理
根據(jù)人體運動學特征,跌倒過程與慢跑等運動過程的人體俯仰角或者側(cè)翻角變化有很大不同,然而采集人體運動姿態(tài)變化信號數(shù)據(jù)的智能手機在口袋中的放置方位具有隨意性,因此無法直接使用陀螺儀單軸方向輸出得到的角度變化信息作為跌倒判斷的一個特征量。本文對角速度信號向量模數(shù)據(jù)作進一步處理,來尋找新的特征量。
這里定義一個人體跌倒時軀干傾斜的合角度θ,它是通過對角速度信號向量模數(shù)據(jù)進行積分得到的,如下式
式中:SVMW ———人體運動角速度信號向量模。下面以慢跑為例,分析跌倒與慢跑等較高強度運動的合角度曲線變化的不同,圖5為跌倒和慢跑兩種運動過程合角度變化曲線,從圖5中可以看出:跌倒曲線有明顯的拐點(圖中圓圈所示),而慢跑曲線變化比較均勻平緩。這是因為跌倒過程中人體會和低勢物體產(chǎn)生碰撞,短時間內(nèi)會產(chǎn)生較大的SVM 數(shù)據(jù)值,體現(xiàn)在數(shù)據(jù)曲線上則有突變的增量點;而慢跑每次動作基本一致,隨時間產(chǎn)生的數(shù)據(jù)曲線點增量也基本一樣,數(shù)據(jù)曲線近似一條直線。
圖5 跌倒和慢跑時合角度變化曲線
應用智能手機作為跌倒檢測系統(tǒng),易于對數(shù)據(jù)進行公式化處理,本文中采用數(shù)據(jù)擬合的方法對合角度曲線數(shù)據(jù)公式化處理。前面分析中得知,兩種運動過程合角度曲線變化趨勢有很大不同,且慢跑運動合角度變化曲線近似一條直線,因此使用直線擬合模型可以突出兩種曲線與各自擬合曲線相似度的不同。這里使用計算簡單的最小二乘法線性擬合,擬合直線表達式為
y=ax+b (4)
式中:a,b———擬合直線的斜率和截距。圖6和圖7分別為跌倒和慢跑兩種運動的合角度變化曲線及使用Matlab線性擬合變化曲線。
圖6 跌倒時合角度曲線和擬合曲線
圖7 慢跑時合角度曲線和擬合曲線
為了反映出兩種曲線與各自線性擬合曲線的相似度,這里我們定義一個無量綱量W,也是本文算法的跌倒判斷特征量,其計算過程如下式
其中,i=1,2,3,…,500,(處理10s內(nèi)數(shù)據(jù)樣本點),Ci為合角度數(shù)據(jù)樣本點,Ni為合角度線性擬合數(shù)據(jù)樣本點。特征量W 反映的是合角度曲線與其擬合曲線之間的相似度,W 值越小相似度越高。
由前面的分析得知,跌倒合角度曲線有拐點,慢跑合角度曲線變化平緩,而使用的擬合曲線為一條直線,故跌倒時得到的W 值較大,而慢跑時得到的W 值會較小。表1所示為一組實驗結(jié)果的特征值,觀察特征值數(shù)據(jù)可知容易通過設置一個閾值WT來區(qū)分這兩種運動過程,本文通過對跌倒過程和慢跑等較高強度運動過程中W 值的分析取WT =25。
表1 跌倒和慢跑時的特征值數(shù)據(jù)
2 系統(tǒng)實現(xiàn)
2.1 系統(tǒng)應用程序
Android是一個開源移動操作系統(tǒng),它有一個強大的基于java框架的軟件開發(fā)工具包(SDK),還有SQLite數(shù)據(jù)庫管理系統(tǒng),本文在Android智能手機平臺開發(fā)實現(xiàn)了跌倒檢測應用程序。跌倒應用程序由4大部分組成:
(1)FallDetectionService:Android后臺服務應用進程,它長時間運行在手機應用程序進程的主線程內(nèi),不會干擾其他組件或用戶界面。
(2)FallAlertActivity:與用戶交互的Activity組件,該Activity可以被創(chuàng)建、啟動、恢復、暫停和銷毀,它是應用程序的可見部分。
(3)SensorManager:”SensorManager”允許應用程序使用手機傳感器,使用它來讀取手機加速度傳感器和陀螺儀的讀數(shù)。
(4)UserLocationManager:使用UserLocationManager可以允許應用程序使用GPS獲取定位數(shù)據(jù),緊急情況下可以確定用戶地理位置。
2.2 系統(tǒng)檢測流程
本系統(tǒng)跌倒檢測算法是基于人體運動加速度和角速度信號設計的,通過分析人體主要運動過程與跌倒過程的SVMA和SVMW數(shù)據(jù),以及對SVMW數(shù)據(jù)的進一步處理來區(qū)分日常生活活動與跌倒。圖8為跌倒檢測算法流程圖:①后臺服務監(jiān)測SVMA數(shù)值的變化,如果SVMA大于SVMAT ,進入下一步;②等待SVMA數(shù)值恢復到正常范圍內(nèi),再設置延時10s,等待用戶穩(wěn)定,進入下一步;③角速度數(shù)據(jù)分析,如果SVMW大于SVMWT ,進入下一步;④對SVMW數(shù)據(jù)公式化處理得到特征值W,如果W 大于WT ,確認發(fā)生跌倒,觸發(fā)報警處理。
圖8 跌倒檢測流程
2.3 系統(tǒng)主要內(nèi)容
系統(tǒng)集成了智能手機的傳感功能和信號處理技術(shù),它的主要功能是檢測意外情況下跌倒,然后與用戶的緊急聯(lián)系人通過電話和SMS信息進行聯(lián)系。該應用程序還可以獲得用戶的地理位置,此外它有一個一鍵緊急救助按鈕和緊急警報取消機制,可防止假警報。
當系統(tǒng)檢測到一個跌倒,會彈出通知窗口并且有聲音警報,用戶可以在一個可設置的特定時間范圍內(nèi)取消警報請求。如果沒有發(fā)生真正的跌倒,用戶可以在報警等待時間范圍內(nèi)簡單取消請求。如果是一個真正的跌倒,則用戶的救助聯(lián)系人將會立即收到SMS報警信息。
圖9為應用程序屏幕截圖,主界面有7個主要按鈕,“ON/OFF”滑動開關按鈕,來控制開始后臺跌倒檢測服務和停止服務;“緊急聯(lián)系電話”按鈕,可以添加3個緊急救助聯(lián)系人號碼;“緊急聯(lián)系信息”按鈕,用來編輯發(fā)送的緊急信息內(nèi)容;“報警等待時間”按鈕,用來設置檢測到跌倒發(fā)生與發(fā)送報警信息之間的等待時間;“一鍵快速求救”按鈕,直接觸發(fā)跌倒報警事件,當用戶發(fā)生跌倒而手機未檢測到時的手動求救按鈕; “設置”按鈕用來設置開啟GPS服務、設置傳感器工作模式以及報警方式、聲音選擇等;“退出”按鈕,則是完全退出應用程序。
圖9 應用程序屏幕
3 實驗與結(jié)果分析
3.1 實驗裝置及設計
跌倒檢測算法測試手機為LGP970,其配置有Android2.3操作系統(tǒng)、德州儀器1GHz的CPU、主屏尺寸4.0英寸。日常生活主要活動動作頻率都低于20HZ,設置手機內(nèi)置加速度傳感器和陀螺儀的信號采樣頻率皆為50HZ,以滿足實驗的需求。本系統(tǒng)為使實驗結(jié)果符合人們?nèi)粘y帶手機的方式,選擇胸部口袋作為實驗過程中手機在人體的佩戴位置。檢測算法是對傳感器輸出數(shù)據(jù)的信號向量模進行處理,故實驗中對手機在口袋中的放置方位沒有要求。
實驗者為20名青年學生:10男10女,年齡在22-30歲,身高155-185CM,體重40-80KG。出于安全考慮未請老年人參與,實驗者模擬老年人日常生活中步行、上下樓梯、慢跑、快速坐下、快速躺下、坐下起立、躺下起立和跌倒等活動動作。實驗在不同時間段完成,實驗過程中地上放置有厚海綿墊,每個實驗者被要求重復實驗動作2次,且每個動作要求在10s內(nèi)完成。實驗者的動作描述見表2。
表2 實驗者的動作描述
3.2 結(jié)果分析
為評估檢測算法的性能,通常定義以下評估方式:跌倒檢測中可能出現(xiàn)的4種情況:真陽性(TP):跌倒發(fā)生,設備檢測到。假陽性(FP):設備檢測到跌倒,但實際并未發(fā)生。真陰性(TN):正?;顒?設備并未檢測到跌倒發(fā)生。假陰性(FN):跌倒發(fā)生,但設備并未檢測到。敏感性體現(xiàn)了算法識別跌倒的能力,測量真實的摔倒被檢測到的概率
特異性是日常生活活動被檢測到的概率
圖10 (a)顯示了本文系統(tǒng)算法檢測結(jié)果敏感性的表現(xiàn),算法能精確地檢測到后向跌倒、左側(cè)跌倒和右側(cè)跌倒,前向跌倒假陰性較高是因為向前跌倒時人們下意識彎曲膝蓋,兩手掌去支地緩沖,所以產(chǎn)生的SVM 峰值較小,但這種情況一般損傷不嚴重,跌倒者大多數(shù)保持清醒,如需救助仍可通過應用程序的“一鍵救助按鈕”??繅徛惯^程動作緩慢且比較隨意復雜,算法檢測結(jié)果假陰性較高,然而這種跌倒給跌倒者帶來的傷害是有限的。從100例記錄中得到算法的敏感性是88%。圖10 (b)顯示了本文算法檢測結(jié)果特異性的表現(xiàn),算法可以區(qū)分出大多數(shù)日常活動,然而快速坐下時帶有后仰動作、以較快速度躺下和手機日用有時候會觸發(fā)假陽性,從180例記錄中得到算法特異性為92%。
圖10 跌倒檢測算法性能