老齡化社會催生的跌倒檢測報警系統(tǒng)設計
3算法設計與實驗
3.1 跌倒檢測算法
對跌倒檢測原理的研究主要是找到人體在跌倒過程中的加速度變化特征。圖5給出的是加速度在不同運動過程中的變化曲線,包括(a)步行上樓、(b)步行下樓、(c)坐下、 (d)起立。其中紅色的曲線是Y軸(垂直方向)的加速度曲線,其正常靜止狀態(tài)下應該為-1g;黑色和黃色的曲線分別是X軸(前后方向)和Z軸(左右方向)的加速度曲線,其正常靜止狀態(tài)下應該為0g;綠色的曲線是三軸加速度的矢量和,其正常靜止狀態(tài)下應該為+1g。
圖5 不同運動過程中的加速度變化曲線
由于老年人的運動相對比較慢,所以在普通的步行過程中,加速度變化不會很大。最明顯的加速度變化就是在坐下動作中Y軸加速度(和加速度矢量和)上有一個超過3g的尖峰,這個尖峰是由于身體與椅子接觸而產生的。而跌倒過程中的加速度變化則完全不同。圖6給出的是意外跌倒過程中的加速度變化曲線。通過圖6和圖5的比較,可以發(fā)現跌倒過程中的加速度變化有4個主要特征,這可以作為跌倒檢測的準則。這4個特征在圖6中以紅色的方框標注,下面將對其逐一進行詳細介紹。
圖6 意外跌倒過程中的加速度變化曲線
失重:在跌倒的開始都會發(fā)生一定的失重現象。在自由落體的下降過程,這個現象會更加明顯,加速度的矢量和會降低到接近0g。對于一般的跌倒,也會發(fā)生合加速度小于1g的情況。因此,這可以作為跌倒狀態(tài)的第一個判斷依據。可以由ADXL345的Free_Fall中斷來檢測。
撞擊:失重之后,人體發(fā)生跌倒的時候會與地面或其他物體發(fā)生撞擊,在加速度曲線中會產生一個很大的沖擊。這個沖擊可以通過ADXL345的Activity中斷來檢測。因此,Free_Fall中斷之后,緊接著產生Activity中斷是跌倒狀態(tài)的第二個判斷依據。
靜止:人體在跌倒后,也就是撞擊發(fā)生之后,不可能馬上起來,會有短暫的靜止狀態(tài)(如果人因為跌倒而導致昏迷,甚至可能是較長時間的靜止)。表現在加速度曲線上就是會有一段時間的平穩(wěn)。這可以通過ADXL345的Inactivity中斷來檢測。因此,Activity中斷之后的Inactivity中斷是跌倒狀態(tài)的第三個判斷依據。
與初始狀態(tài)比較:跌倒之后,人體會發(fā)生翻轉,因此人體的方向會與原先靜止站立的姿態(tài)不同。這使得跌倒之后的靜止狀態(tài)下的三軸加速度數值與初始狀態(tài)下的不同,如圖5所示。因此,跌倒檢測的第四個依據就是跌倒后的靜止狀態(tài)下加速度值與初始狀態(tài)發(fā)生變化,且矢量變化超過一定的門限值。
這四個判斷依據綜合在一起,構成了整個的跌倒檢測算法,可以對跌倒狀態(tài)給出報警。
另外,如果跌倒造成了嚴重的后果,比如,導致了人的昏迷。那么人體會在更常的一段時間內都保持靜止。這個狀態(tài)仍然可以通過Inactivity中斷來檢測。也就是說,如果發(fā)現在跌倒之后的很長時間內都保持Inactivity狀態(tài),可以再次給出一個嚴重報警。算法的流程圖如圖7所示。
圖7 算法流程圖
3.2 實驗結果
本文設計了一個實驗方案對算法進行驗證。實驗對向前跌倒,向后跌倒,向左、右兩側跌倒等不同跌倒姿勢以及跌倒后是否有長時間靜止狀態(tài)的情況分別進行了10次測試,表1中給出的是相關測試結果。
表1 實驗結果
本設計將加速度傳感器ADXL345、GPS和GSM模塊SIM908與Arduino Uno平臺結合在一起,通過加速度傳感器采集人體三軸加速度值,實時檢測人體體態(tài),完成對人體跌倒的檢測和報警。整體設計成本低、可靠性高、算法復雜度低、檢測準確度高和可擴展的優(yōu)點,具有很高的實用性,可以滿足對人體跌倒檢測報警的需要。
評論