梁遠騰,李捍東
(貴州大學 電氣工程學院,貴陽 550025)
根據中國人口與發(fā)展研究所中心預測,2020-2035年中國老年人口規(guī)模快速攀升,高齡化進程提速。截止2018年,中國65歲及以上老年人口規(guī)模為1.67億,占比為11.9%。2020—2035年,老年人口占比將增加約11個百分點,并將迎來兩次老年人口增長高峰。2035年老年人口約達3.26億,占比為22.8%[1]。隨著中國老齡化社會的到來,獨居老人越來越多,當老人發(fā)生跌倒,不能及時告知家人或其他人員,則將造成嚴重后果。目前,對摔倒事件進行檢測的方法主要分為以下3種[2]:一是基于穿戴式傳感器的檢測。陳瑋等人[3]通過傳感器收集加速度和角速度的信息,使用支持向量機識別分類,再進行摔倒事件的檢測。二是基于場景裝置的檢測。Alwan等人[4]通過分析地面震動傳感器的信息,判斷人體是否發(fā)生摔倒。第三種是基于視頻的摔倒檢測。Vaidehi等人[5]設計了一種自動摔倒檢測系統(tǒng),依次使用人體寬高比和傾斜角度來判斷人體是否摔倒,該算法設計原理簡單,實現起來較為容易,但誤判率較高。
通過以上分析,本文設計了一種自動摔倒檢測系統(tǒng),該系統(tǒng)含有較多的人體運動狀態(tài)特征,能有效降低摔倒識別的誤判率。
提取運動目標,在摔倒檢測系統(tǒng)中是極為重要的環(huán)節(jié),對后續(xù)的系統(tǒng)檢測有著很大影響。目前,幀差法、光流法、背景減除法廣泛運用于人體目標檢測中。相鄰兩幀之間的時間間隔是幀差法的主要缺點,在算法的設計過程中,由于難以找到恰當的時間間隔,將導致系統(tǒng)錯檢或者漏檢,得不到完整的運動目標前景。光流法的計算較為復雜,且運算量巨大,不能滿足系統(tǒng)的實時性要求。算法設計原理簡單是背景減除法的一大優(yōu)勢,但缺點是易受到光照條件等外界因素的影響。由于本文建立的摔倒檢測系統(tǒng),應用場景針對室內,攝像頭是固定的,因此采用背景減除法來提取運動目標。針對窗簾擺動、光線變化等影響,對于背景的實時更新,本文采用混合高斯模型算法,當背景發(fā)生變化時,能有效提高識別檢測的準確性。
混合高斯模型是用高斯概率密度函數精確地量化事物,即將事物分解為若干個基于高斯概率密度函數形成的模型。其原理是在每一幀圖像中的每個像素點,通過K個高斯模型表征每個像素點。使用K個高斯模型進行加權平均,來表征圖像中的信息。其中,背景模型的更新對能否實時檢測到背景的變化起著極為重要的作用[6]。
假設圖像中像素點的像數值為X,則概率密度函數可表示為:
表示在t時刻第i個高斯模型的分布。∑和μ分別表示高斯分布的方差及均值,其中∑=δ2I;n表示X的維數,δ2為方差,I為三維單位矩陣,ω為權重系數,且
假設偏差門限等于2.5,當|Xt-μi,t-1|≤2.5δi,判定該像素值與高斯分布相匹配。
式中,α表示混合高斯模型學習率(0≤α≤1),α的大小對背景模型的更新速度起著關鍵性作用;ρ表征各個參數的更新速度;模式匹配與否由Mi,t值來控制,當Mi,t=1,模式匹配,Mi,t=0,模式不匹配。當背景模型更新后,算法會按優(yōu)先級λi,t對這K個高斯模型進行排序。選擇前B個高斯分布生成背景表示控制背景分布的數量,是一個閾值,需要人為進行設定。當新一幀序列圖像輸入模型中,B個高斯分布將會和圖像的所有像素點進行匹配,當匹配成功,則該像素點為背景點,匹配失敗,該像素點為前景點。
高斯濾波是一種線性平滑濾波,適用于消除高斯噪聲,廣泛用于圖像處理的減噪過程。其原理是針對圖像中的每一個點像素值與高斯內核進行卷積計算,并將計算結果相加,輸出到目標圖像中。
在形態(tài)學處理中,膨脹和腐蝕是最基本的兩種算子。膨脹的作用是給圖像中的對象邊緣添加像素,而腐蝕的作用是刪除對象邊緣某些像素。先腐蝕后膨脹,可以消除小物體,在纖細點處分離物體,平滑較大物體邊界;先膨脹后腐蝕,則可以填充物體內細小空洞,連接臨近物體,平滑其邊界。
選取合適的運動人體特征值,對判斷運動目標是否發(fā)生摔倒也起到非常重要的作用,本文選取高度變化率等五個人體特征值,表示方法如下:
(1)人體寬高比。人體寬高比表示為:最小外接矩形框所對應的寬高比值。人體正常行走或站立時,人體寬高比遠小于1;人體摔倒或蹲下時,人體寬高比遠大于1。
(2)人體有效面積比。最小外接矩形框圖像,經過二值化處理后,人體有效面積等于像素值為1的像素個數,矩形框總面積是像素值為1和0的像素總和。人體有效面積比為:人體有效面積和矩形框總面積的比值。當老人做壓腿等運動時,最小外接矩形框隨著肢體的伸展變大,有效面積比比正常摔倒時的值小。
(3)人體質心到底邊距離。定義人體質心為人體最小外接矩形兩條對角線的交點,即質心為點O,坐標為(x0,y0)。接矩形底邊兩端點坐標記為:
a(x1,y1),b(x2,y2)。A=y1-y2,B=x1-x2,C=x1y2-y1x2,質心O到底邊ab距離記為h,則h可表示為:
當發(fā)生摔倒事件時,人體質心到底邊距離明顯變小。
(4)中心變化率。當發(fā)生摔倒事件時,人體的中心會在上下、左右位置發(fā)生變化。設相鄰兩幀圖像的中心點分別為O1=(x0,y0)、O2=(x1,y1),Δt是相鄰兩幀圖像之間的時間間隔,則x、y軸中心變化率可表示為:
由上述公式可知,y軸方向的中心變化率有正有負,而x軸方向中心變化率一直大于零。當人體發(fā)生摔倒時,人體的中心位置在y軸方向變化很大,而在x軸方向變化很小。
(5)高度變化率。人體高度變化率用hei ghtr at e表示,計算方法如下:
其中,人體的實時高度用h ei ght來表示,人體的平均高度用h ei ght a ver來表示,平均高度表示方法如下所示:
本文使用不斷更新的方式來計算人體高度變化率,使得計算結果更加準確,具有很強的適應性。
本文所使用的算法包含人體寬高比等5個特征參數,來判斷人體是否摔倒。經過多次試驗及查閱相關文獻,設定各特征參數的閾值。算法流程如圖1所示。
圖1 摔倒檢測算法流程圖Fig.1 Flow chart of fall detection algorithm
由圖1可知,摔倒檢測系統(tǒng)識別到運動人體目標后,當這些特征得以滿足時,就可以定義為是摔倒事件。
摔倒檢測算法在一臺使用NVIDIA GeForce GT1030顯卡加速、8GB內存,Inter(R)Core(TM)i5-5200 CPU@2.20GHz 2.20 GHz上運行。編程軟件有PyCharm、Python3.8、OpenCV4.2.0。
獲取前景運動目標后,對圖像進行高斯濾波和形態(tài)學處理,目標檢測結果如圖2所示。
圖2 運動目標提取Fig.2 Moving target extraction
由圖2可知,當視頻中沒有出現運動目標時,經過算法提取后的背景圖像全為黑色;當出現運動目標時,經過算法提取后得到目標圖像。
本文方法針對獨居老人在室內發(fā)生摔倒事件進行檢測并判別是否摔倒。圖3是T1(人體寬高比)、T2(人體有效面積比)、T3(人體質心到底邊距離)、T4xy(x、y軸中心變化率)、T5(高度變化率)的特征參數擬合曲線。其中橫軸x表示視頻幀數,縱軸表示各特征參數大小。根據各摔倒特征值的特性及多次試驗,T1閾值設為1.18,T2閾值設為0.5,T3閾值設為0.85,y軸中心變化率閾值設為1.3,T5閾值設置為0.85。
由圖3可以看出,人體在摔倒前后各特征參數都會發(fā)生明顯的變化。其中,圖3(a)摔倒曲線從第113幀開始寬高比有明顯上升趨勢,且人體寬高比大于設定閾值,可判斷有摔倒事件發(fā)生;而直立行走曲線的寬高比在圖中沒有明顯的變化。圖3(b)摔倒曲線從第113幀開始人體有效面積比大于設定閾值0.5,結合寬高比,判斷有摔倒事件發(fā)生;在113幀之前也存在有效面積比大于0.5,結合寬高比可判斷為假摔。圖3(c)摔倒曲線在第113幀左右,人體質心到底邊距離迅速變小,且小于設定閾值,判斷有摔倒事件發(fā)生。圖3(d)是發(fā)生摔倒時人體中心變化率在x軸和y軸方向曲線圖,在圖中113幀左右y軸方向的中心變化率開始發(fā)生急劇變化,x軸方向的中心變化率也隨著y軸方向的中心變化率而變化,結合T1、T2、T3值判斷在113幀左右發(fā)生了摔倒事件。在圖3(e)中,人直立行走時,T5的值比較接近1;當有摔倒情況發(fā)生時,T5的值總是小于1。
圖3 各摔倒特征參數歷史曲線Fig.3 Historical curve of each fall characteristic parameter
圖4是使用本文算法檢測結果。運動目標正常行走時,視頻左上角顯示Normal(正常)字樣;當發(fā)生摔倒事件時,在視頻左上角會顯示Falled(跌倒)的警告。
圖4 判別結果Fig.4 Judgment result
本文使用the UR Fall Dataset(URFD)和the Fall Detection Dataset(FDD)[7-8]兩個數據集作為測試數據。摔倒檢測系統(tǒng)融合了5個摔倒特征參數,摔倒檢測成功率高,誤判率低。最后,從摔倒檢測誤判率的角度,對文中提到的摔倒檢測算法進行比較分析,結果見表1。
表1 對比結果Tab.1 Compare results
表1給出本文方法和其他摔倒檢測方法的比較結果?;趕vm和閾值分析的摔倒檢測方法會受到傳感器采集信息的精度和訓練模型大小的影響,導致誤判率較高;基于人體寬高比和傾斜角度的摔倒檢測方法,所包含人體摔倒特征參數較少,當人平躺或側摔、仰摔時,會被誤判為摔倒事件;文中方法融合了5個摔倒特征參數,經過各參數之間的相互修正并進行最終判定,能更加精確識別摔倒事件,降低誤判率。
本文針對獨居老人在室內發(fā)生摔倒事件的情形,提出了基于多特征融合的摔倒檢測方法。該方法通過背景減除法來分割運動目標,使用混合高斯模型算法對背景進行更新,在獲取完整的目標后,再依次使用人體寬高比、人體有效面積比、人體質心到底邊距離、中心變化率、高度變化率5個特征參數判斷是否有摔倒事件發(fā)生。該方法簡單、易于實現、誤判率低,能更為準確地區(qū)分摔倒行為和日?;顒有袨椤?/p>