王 振, 肖明波
(杭州電子科技大學 通信工程學院,浙江 杭州 310018)
數(shù)據(jù)融合的跌倒檢測系統(tǒng)設計*
王 振, 肖明波
(杭州電子科技大學 通信工程學院,浙江 杭州 310018)
為解決跌倒檢測中檢測設備功耗高、報警范圍受限、攜帶不便等難題,結(jié)合Arduino與Android設計了基于MPU6050的跌倒檢測系統(tǒng),提出了基于數(shù)據(jù)融合的并行閾值算法,通過對5位實驗者的模擬測試,該算法實現(xiàn)了97.6 %的精確度和99.2 %的特異性。實驗表明:算法和方案在方便攜帶的基礎上能較為準確地實現(xiàn)人體跌倒檢測并及時定位報警。
跌倒檢測; 數(shù)據(jù)融合; 并行閾值算法; Arduino; Android
目前,國內(nèi)外大部分跌倒檢測系統(tǒng)的研究并沒有給出完整的系統(tǒng)設計方案,只針對跌倒檢測算法做出了研究,且大多計算量較大、設計復雜、價格昂貴,難以得到廣泛的應用。Shibuya N等人提出基于步態(tài)分析的支持向量機 (support vector machine,SVM)跌倒檢測算法[1,2],實現(xiàn)了對人體活動的分類識別,并有效的檢測到跌倒事件。Jantaraprim P等人提出了基于時間窗的SVM雙閾值判決法[3]檢測人體摔倒,算法簡單有效。2012年深圳愛福萊科技有限公司推出了檢測跌倒并且自動發(fā)送求救信息的手機—愛福萊A03[4],它能夠自動檢測跌倒事件、并對跌倒地點自動定位、報警,但生產(chǎn)成本太高,采樣器也只采用了單一的三軸加速度計,可靠性不高。2015年,重慶郵電大學聯(lián)合北京醫(yī)院開發(fā)了一種基于多閾值判決法的跌倒檢測系統(tǒng)[5],將六軸慣性運動傳感器MPU6050和GMS/GPS模塊集成在一起,增大了裝置的體積和開發(fā)成本。
本文提出了一種基于數(shù)據(jù)融合的并行閾值算法,并設計開發(fā)出以Arduino為硬件平臺,MPU6050為采樣器,Android App自動定位報警的跌倒檢測系統(tǒng),具有體積小、運行穩(wěn)定可靠等優(yōu)勢,成本低、操作簡單,擁有較大的市場空間。
系統(tǒng)控制器采用Arduino Nano開發(fā)板[6],相較于其他開發(fā)板,該控制板體積小、功耗低、功能強大,其主控制芯片為ATmega328,可提供14路數(shù)字I/O接口(其中6路作為脈寬調(diào)制(PWM)輸出)和8路模擬輸入接口,完全滿足系統(tǒng)設計需求。跌倒檢測系統(tǒng)的示意框圖如圖1所示,系統(tǒng)主要由跌倒檢測模塊和報警通知模塊兩大部分組成。
圖1 跌倒檢測系統(tǒng)示意框圖
跌倒檢測模塊中,首先將MPU6050接入到Arduino控制板的數(shù)據(jù)端和時鐘端,并通過I2C串口通信傳輸數(shù)據(jù)。Arduino通過Z相應轉(zhuǎn)換及系統(tǒng)設定的數(shù)據(jù)融合算法提取相應特征值,進而由文中提出的并行閾值算法判斷跌倒事件是否發(fā)生。若跌倒事件觸發(fā),則小燈閃爍,警報響起;如果20 s內(nèi)沒有解除警報,藍牙模塊HC—05就會通過Arduino的串行輸出和輸入通信與上位機藍牙進行通信,并傳輸“true”給手機App端。硬件電路設計原理圖2所示。
圖2 硬件電路設計原理
報警通知模塊中,當上位機App后臺監(jiān)聽到“true”時,系統(tǒng)自動定位用戶當前位置,并將用戶當前位置以短信形式發(fā)送到監(jiān)護人手機。Android App的設計流程圖如圖3所示。Android App的主要設計程序為:使用Bluetooth Adapter的start Discovery()方法搜索藍牙設備,通過BluetoothSocket建立通信并實施監(jiān)聽。當后臺監(jiān)聽到“true”字符的時候,觸發(fā)getLocation()方法調(diào)用百度API自動定位當前位置,同時觸發(fā)事件,通過SmsManager向預先設定好的手機號發(fā)送當前所讀取到的經(jīng)緯度以及對應位置。Android App端的界面圖和收到的短信內(nèi)容如圖4所示。
圖3 APP設計流程
圖4 APP界面和報警短信內(nèi)容
MPU6050是由陀螺儀和三軸加速度傳感器組成。陀螺儀輸出角速度,角速度與時間積分計算角度,其積分時間Dt越小,輸出角度越精確。但陀螺儀的原理決定了它的測量基準是自身,并沒有系統(tǒng)外的絕對參照物,且Dt不可能無限小,所以,積分的累積誤差會隨著時間流逝迅速增加,最終導致輸出角度與實際不符。而加速度傳感器測量的是重力方向,在無外力加速度的情況下,能準確輸出Roll/Pitch兩軸姿態(tài)角度,且角度不會有累積誤差。但是加速度傳感器實際上是用微系統(tǒng)(MEMS)技術檢測慣性力造成的微小形變,而慣性力與重力本質(zhì)是一樣的,所以,加速度計不會區(qū)分重力加速度與外力加速度,當系統(tǒng)在三維空間做變速運動時,其輸出變得不準確。在沒有其他參照物的基礎上,要得到較為準確的身體傾斜角,就要利用信息融合揚長避短,結(jié)合兩者的優(yōu)點,摒棄各自缺點,設計算法在短時間尺度內(nèi)增加陀螺儀的權值,在更長時間尺度內(nèi)增加加速度權值,這樣系統(tǒng)輸出角度就接近真實值了。
本文采用聯(lián)合卡爾曼融合算法[7],先分散處理,再全局融合,各子濾波器并行運行。聯(lián)合卡爾曼濾波融合框圖如圖5所示。
圖5 聯(lián)合卡爾曼濾波融合框圖
根據(jù)卡爾曼基本方程,局部濾波方程為
Xi(k,k-1)=Φi(k,k-1)Xi(k-1)
Xi(k)=Xi(k,k-1)+Ki(k)[Zi(k)-Hi(k)Xi(k,k-1)]
Pi(k)=[1-Ki(k)Hi(k)]Pi(k,k-1)
式中i=1,2;X為被估計狀態(tài);Φ為狀態(tài)轉(zhuǎn)移陣;Γ為系統(tǒng)噪聲驅(qū)動陣;Q為系統(tǒng)噪聲序列的方差陣;R為量測噪聲序列的方差陣;H為量測陣;K為濾波增益;Z為X的量測;P為估計均方誤差。
主濾波器只負責信息融合處理,不進行濾波運算,取系統(tǒng)的全局估計值為各局部濾波器加權和,即
X(k,k-1)=β1X1(k,k-1)+β2X2(k,k-1)
式中β1+β2=1。β1和β2均為子濾波器的權值。
在信息融合的過程中,如果某一子濾波器的狀態(tài)估計精度高,則主濾波器對該子濾波器輸出的利用權重就大;反之,其利用權重就小[8]。這種結(jié)構(gòu)的子濾波器相互獨立,沒有反饋作用帶來的相互影響,能夠保障系統(tǒng)的容錯性能最好。同時數(shù)據(jù)計算量少,有利于數(shù)據(jù)獲取的實時性。
為驗證算法的適用性,實驗中,截取一部分人體繞豎直方向轉(zhuǎn)動的運動信息,通過融合算法得到角度值,并與常見的一階、二階互補濾波得到的角度值以及原始數(shù)據(jù)做出對比。如圖6所示,看出:原始數(shù)據(jù)包含許多噪聲,經(jīng)過一階濾波之后數(shù)據(jù)平滑,但是數(shù)據(jù)的穩(wěn)定性相對于二階濾波和卡爾曼濾波融合略差,而二階互補濾波后的數(shù)據(jù)仍摻雜不明顯的高頻信號,故卡爾曼濾波融合更適于本文研究。
圖6 傾斜角度值對比
人體跌倒屬于一種短暫性的活動,身體加速度的幅度峰值變化較大,人體跌倒的過程中,身體的傾斜角度也是在變化的,最終變化幅度為80°~100°。經(jīng)典閾值算法根據(jù)加速度幅值和傾斜角度的優(yōu)先級進行判斷,然而這種算法的缺點是,當一些檢測對象做劇烈運動時,會出現(xiàn)誤判、漏判的問題。參照經(jīng)典閾值算法,本文所提取的特征值如下
θ=arccos((ax×bx+ay×by+az×bz)/AM/BM)
跌倒檢測系統(tǒng)的主要應用對象是病人和老人,他們的日常行為往往只有走路,坐下站起,上下樓和彎腰。人體行為的幅度和持續(xù)時間是不可控的,所以,這些日常行為往往會對跌倒行為的檢測產(chǎn)生干擾。但跌倒行為有一個日常行為所不具備的特征點,即θ和AM是同步大幅度變化的。由圖7可以看出,在采樣周期為20 ms的前提下,人體在實際跌倒過程中,由于多種因素影響,AM會降低到接近0.4gn,緊接著人體與地面發(fā)生撞擊,在加速度曲線中會產(chǎn)生一個很大的沖擊,AM高達2.1gn。AM大幅度變化的同時,隨著跌倒行為的發(fā)生,人體會發(fā)生翻轉(zhuǎn),傾斜角度遞增變化。而人體跌倒的時間一般在2~4 s,通過分析,跌倒過程中,失重狀態(tài)大約持續(xù)0.6~1.2 s,撞擊狀態(tài)持續(xù)大約0.7~1.5 s。基于這些特征變化,本文提出基于數(shù)據(jù)融合的并行閾值算法,流程圖如圖8所示。
圖7 跌倒時AM變化和θ變化
圖8 人體跌倒檢測流程圖
為了驗證本文提出算法的可行性和準確性,邀請了5名健康志愿者(4男1女,年齡22~25歲,身高160~182cm),在實驗樓內(nèi)模擬病患者和老年人,分別進行走路,上下樓,站起蹲下一系列連貫的日常行為,并模擬跌倒動作:前后跌倒、左右跌倒。實驗中,共采集100組數(shù)據(jù)與現(xiàn)有的算法做對比,得到的結(jié)果為通過組數(shù)。如表1與表2所示,其中,表2所得到的準確率為算法的特異性。
表1 跌倒檢測實驗結(jié)果統(tǒng)計
表2 日常行為實驗結(jié)果統(tǒng)計
根據(jù)相關資料[2],SVM算法的準確率為98.7 %,特異性為99.5 %。從表1可以看出,本文提出的算法準確率為97.6 %,特異性為99.2 %。在準確率上,基于數(shù)據(jù)融合的并行閾值算法優(yōu)于經(jīng)典閾值算法,略低于SVM算法。在特異性上,本文算法與SVM算法持平,高于經(jīng)典閾值算法。然而SVM算法雖然精度高,但是計算量大,實時性低,對處理器要求高,功耗大。經(jīng)典閾值算法的實時性,功耗低,精度卻偏低。而本文提出的基于數(shù)據(jù)融合的并行閾值算法,在保留經(jīng)典閾值算法優(yōu)點的基礎上,提高了精度和實時性,降低了功耗,實現(xiàn)了最初的設計目標。
本文在經(jīng)典閾值法的基礎上提出了基于數(shù)據(jù)融合的并行閾值算法,并將跌倒檢測模塊和Android App相結(jié)合,這樣既方便了被檢測者的攜帶,又消除了報警范圍的局限性,實現(xiàn)了對跌倒事件的高精度檢測。此外,系統(tǒng)還具有功耗低、操作簡單、成本低、精度較高、故障發(fā)生率低等優(yōu)點,不僅可以解決老年人及病人的跌倒檢測和報警問題,在醫(yī)療康復方面,也能夠?qū)祻椭械牟∪似鸬捷o助看護的作用,并且可以輔助醫(yī)生通過采集到的數(shù)據(jù)了解病人康復情況。
[1] Shibuya N,Nukala B T,Rodriguez A I,et al.A real-time fall detection system using a wearable gait analysis sensor and a support vector machine(SVM)classifier[C]∥2015 the Eighth International Conference on Mobile Computing and Ubiquitous Networking(ICMU),IEEE,2015:66-67.
[2] 鄭漢卿,谷安.物體輪廓識別算法的應用研究[J].自動化技術與應用,2016,35(1):106-110.
[3] Jantaraprim P,Phukpattaranont P,Limsakul C,et al.Improving the accuracy of a fall detection algorithm using free fall characte-ristics[C]∥IEEE International Conference on Electrical Engineering/Electronics Computer Telecommunications and Information Technology,Chiang Mai,Thailand,2010:501-504.
[4] 深圳市愛福萊科技有限公司.全球首款自動求救的老人手機[DB/OL].[ 2012—10—26].http:∥www.beareyes.com.cn/2/lib/201210/26/20121026269.htm.
[5] 卓從彬,楊龍頻,周 林,等.基于MPU6050加速度傳感器的跌倒檢測與報警系統(tǒng)設計[J].電子器件,2015(4):821-825.
[6] 趙英杰.Arduino互動入門設計[M].北京:科學出版社,2014.
[7] 陳玉坤,司錫才,李志剛.聯(lián)合卡爾曼濾波在多傳感器信息融合技術中的應用[J].彈箭與制導學報,2005,25(4):946-948.
[8] 何艷麗,黃飛龍.多傳感器自動站的數(shù)據(jù)融合效果及優(yōu)勢分析[J].氣象,2015(8):1028-1035.
Design of fall detection system based on data fusion*
WANG Zhen, XIAO Ming-bo
(School of Communication Engineering,Hangzhou Dianzi University,Hangzhou 310018,China)
Aiming at problem of high power consumption,limited range of alarm and inconvenience for carrying existing in fall detection devices,a fall detection system is designed based on MPU6050,using Arduino and Android.A parallel threshold algorithm based on data fusion is proposed,which achieves accuracy of 97.6 % and specificity of 99.2 % as shown by the simulation test of five subjects.Experiments show that the proposed algorithm and scheme can achieve accurate detection and timely location and alarming of human body fall,as well as portability.
fall detection; data fusion; parallel threshold algorithm; Arduino; Android
2016—06—07
浙江省重點實驗室建設基金資助項目(GK130907208001)
10.13873/J.1000—9787(2017)06—0086—04
R 318
A
1000—9787(2017)06—0086—04
王 振(1993-),男,通訊作者,碩士研究生,主要研究方向為嵌入式系統(tǒng)設計、通信與信息系統(tǒng),E—mail:zhen_always@sina.com。
肖明波(1971-),男,博士,教授,主要從事過程控制與優(yōu)化、無線通信等研究工作。