陳京榮
(廣東工業(yè)大學(xué)信息工程學(xué)院,廣州510006)
目前社會人口老齡化問題日益嚴(yán)重,因此檢測出老年人摔倒并且及時報警的算法便顯得尤為重要。近年來關(guān)于跌倒檢測的工作主要分為基于可穿戴設(shè)備的檢測方法和基于機(jī)器視覺的檢測方法兩類。由于可穿戴設(shè)備和各種傳感器在實際使用中有諸多限制,基于機(jī)器視覺的檢測方法是當(dāng)前的研究熱點。基于機(jī)器視覺的檢測方法主要分為基于傳統(tǒng)圖像處理的方法和基于深度學(xué)習(xí)的兩類方法。宋菲等人[1]利用背景差分法提取視頻中的人體輪廓,然后將人體分為3個區(qū)域分別計算重心來進(jìn)行跌倒檢測。Miguel[2]等結(jié)合背景減除法、光流法、卡爾曼濾波方法進(jìn)行跌倒檢測。但傳統(tǒng)的圖像處理方法受陰影、光照變化和遮擋等問題影響嚴(yán)重,在復(fù)雜環(huán)境下的效果很差,適用范圍有限。隨著深度學(xué)習(xí)的發(fā)展,陰影和遮擋等問題能得到較大的改善。Huang等人[3]在雙流法的基礎(chǔ)上提出了一種三流卷積神經(jīng)網(wǎng)絡(luò),用于識別人類活動,例如跌倒和嬰兒爬行。Min等人[4]使用Faster R-CNN并結(jié)合人體特征(例如人的長寬比、質(zhì)心和運動速度)來判斷是否跌倒。近年來,2D人體姿態(tài)估計有了長足的進(jìn)步,于乃功[5]等使用OpenPose[6]提取人體骨骼關(guān)鍵點,計算人體質(zhì)心運動速度等特征是否大于閾值及根據(jù)人體部位的相對位置關(guān)系來進(jìn)行跌倒檢測。
長短期記憶網(wǎng)絡(luò)(LSTM)[7]在處理視頻、文本等具有時空關(guān)系數(shù)據(jù)表現(xiàn)較好,能較好應(yīng)對序列過長會導(dǎo)致梯度消失問題。跌倒動作由一段連續(xù)的圖像組成,可以將其視為時空數(shù)據(jù)。Bi-LSTM(Bi-directional Long Short-Term Memory)網(wǎng)絡(luò)是在LSTM基礎(chǔ)上添加了一個反向LSTM組合而成,它不僅可以較好處理長序列,還能夠融合上下文信息,捕捉跌倒前后人體狀態(tài)。因此本文引入Bi-LSTM網(wǎng)絡(luò)對人體進(jìn)行跌倒判別。
本文首先利用人體姿態(tài)估計算法獲取人體關(guān)鍵點坐標(biāo),將坐標(biāo)數(shù)據(jù)歸一化并進(jìn)行特征提取,再送入Bi-LSTM網(wǎng)絡(luò)進(jìn)行分類檢測。本文主要工作:
(1)對人體關(guān)鍵點進(jìn)行特征提取,添加了部分人體關(guān)鍵點之間的矢量特征。
(2)使用3層Bi-LSTM網(wǎng)絡(luò)并加入注意力機(jī)制作為分類網(wǎng)絡(luò),不僅能提取到更高維的特征,還能捕捉到跌倒發(fā)生時的上下文信息。
本文輸入為視頻數(shù)據(jù),使用人體姿態(tài)估計網(wǎng)絡(luò)獲得人體關(guān)鍵點,再通過多層Bi-LSTM網(wǎng)絡(luò)分類實現(xiàn)跌倒檢測。算法包括人體關(guān)鍵點獲取、動作特征提取和分類網(wǎng)絡(luò)三部分,具體流程如圖1所示。

圖1 跌倒檢測算法流程
人體姿態(tài)估計又稱人體關(guān)鍵點檢測,目的是將人體的各個關(guān)鍵點從RGB圖像中準(zhǔn)確提取出來。本文采用自上而下的策略進(jìn)行人體關(guān)鍵點檢測,用YOLOv3[8]網(wǎng)絡(luò)進(jìn)行人體目標(biāo)檢測,在此基礎(chǔ)上采用HRNet[9]作為人體姿態(tài)估計網(wǎng)絡(luò)得到17個人體關(guān)鍵點,人體關(guān)鍵點圖如圖2所示。

圖2 姿態(tài)估計算法獲取到的關(guān)鍵點圖
首先對人體姿態(tài)估計網(wǎng)絡(luò)得到的人體關(guān)鍵點進(jìn)行歸一化處理,但在實際中由于人體運動速度過快、遮擋等因素會出現(xiàn)缺失點以及判斷不準(zhǔn)等問題,對接下來的跌倒檢測有所影響,故我們還需進(jìn)一步處理。
通過分析,跌倒時人體的頭部變化最明顯,對跌倒行為的判別也最為關(guān)鍵,因此我們將鼻子、眼睛和耳朵坐標(biāo)進(jìn)行平均得到新的頭部中心坐標(biāo),同時剔除上述5個點的原始數(shù)據(jù),這樣可以提高檢測魯棒性,另外添加左肩和右肩的中點作為新的人體關(guān)鍵點。
而2D坐標(biāo)只能反映人在圖片中的位置信息,不能較好的表示人體當(dāng)前狀態(tài),故需引入反映人體運動的新特征。跌倒檢測中通常使用外接矩形長寬比和中心線傾斜角作為特征,但在實際中獲取的關(guān)鍵點可能會缺失或錯位,尤其是跌倒這種發(fā)生比較快的運動,沒辦法正確提取到傾斜角等特征,因此我們添加以下新的特征:頭部到左右腳部位(圖2中16點、17點)的矢量特征、頭部到左右膝蓋(圖2中14點、15點)、頭部到左右手肘(圖2中8點、9點)以及頭部到左右臀部(圖2中12點、13點)的矢量特征。上述幾個矢量可以一定程度上反映人體輪廓。經(jīng)特征提取后的效果如圖3所示。

圖3 特征提取后效果
人體動作可以由連續(xù)的人體姿態(tài)圖進(jìn)行描述,將這些姿態(tài)圖轉(zhuǎn)化為具體數(shù)據(jù),相比SVM等傳統(tǒng)的機(jī)器學(xué)習(xí)方法,本文使用可以處理時序信息的Bi-LSTM網(wǎng)絡(luò)進(jìn)行分類可以得到更好的效果。
1.3.1 Bi-LSTM
Hochreiter等人[11]提出并實現(xiàn)了LSTM,避免了傳統(tǒng)RNN出現(xiàn)的梯度消失和梯度爆炸問題。其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。

圖4 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
LSTM在RNN基礎(chǔ)上添加了3個門和存儲隱藏狀態(tài)的記憶單元。網(wǎng)絡(luò)的輸入可由{X1,X2,X3,…,Xn}表示,每個LSTM網(wǎng)絡(luò)中的輸入門it、輸出門ot、遺忘門ft和記憶單元Ct可由以下公式計算得出:


其中Wi、Wf、Wo、Wa表示Ht-1的權(quán)重矩陣;Ui、Uf、Uo、Ua表示Xt的權(quán)重矩陣;bi、bf、bo、ba為偏置,σ表示sigmoid函數(shù),⊙表示點乘。記憶單元Ct用于保存隱藏細(xì)胞狀態(tài),Ht表示當(dāng)前單元的輸出及隱藏層向量,遺忘門ft控制是否遺忘上一LSTM單元保存的隱藏細(xì)胞狀態(tài)。
Bi-LSTM由前向LSTM與后向LSTM組合而成,前向LSTM能夠記憶上文信息,后向LSTM能夠記憶下文信息,對連續(xù)的序列分析起到了促進(jìn)作用。Bi-LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示。

圖5 Bi-LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
Bi-LSTM網(wǎng)絡(luò)的輸出如下:

其中xt、xt-1、xt+1為輸入,hLn、hRn分別代表前向LSTM和后向LSTM的輸出,即Bi-LSTM網(wǎng)絡(luò)的輸出hn為前向LSTM和后向LSTM的堆疊。
Bi-LSTM應(yīng)結(jié)合實際情況選擇合適的序列長度即時間步長T作為輸入,過短的T不能學(xué)習(xí)到足夠的信息從而識別出跌倒,而過長的時間步則存在冗余信息,不但會降低識別精度,還會增加模型運算量和預(yù)測時間。經(jīng)實驗,將T長度設(shè)為15時效果最好。
1.3.2 注意力機(jī)制
對于跌倒檢測來說,視頻中的每幀圖像以及提取到的人體運動高維特征對于識別動作的作用不同,為了提高模型的分類準(zhǔn)確率,引入注意力機(jī)制[10]。注意力機(jī)制的本質(zhì)是是加權(quán),通過計算注意力概率分布,反映網(wǎng)絡(luò)模型對每個部分的關(guān)注度。
Bi-LSTM輸出為H={h1,h2,…,hn},其中n為時間步長,每個時間步的注意力權(quán)重系數(shù)αt和輸出O由以下公式計算:

(3)Bi-LSTM+Attention
分類網(wǎng)絡(luò)的輸入數(shù)據(jù)為15×44的矩陣,經(jīng)過3層堆疊的Bi-LSTM單元網(wǎng)絡(luò),可以提取更高層特征,每層網(wǎng)絡(luò)隱藏神經(jīng)元個數(shù)為64,上一層網(wǎng)絡(luò)的輸出狀態(tài)h作為輸入傳遞給下一層接著將輸出送入Attention層,再接入一個全連接層,最后采用Softmax進(jìn)行分類。總體分類網(wǎng)絡(luò)如圖6所示。

圖6 Bi-LSTM+Attention結(jié)構(gòu)圖
本文使用UR Fall Detection Dataset(URFD)[11]和自有的跌倒數(shù)據(jù)集作為數(shù)據(jù)集。URFD包含40個日常生活和30個跌倒視頻。自有數(shù)據(jù)集包含了60組視頻,每個視頻中均包含站立、行走、跳躍、躺下以及摔倒動作。圖7、圖8分別為自由數(shù)據(jù)集和URFD的檢測效果圖。

圖7 自有數(shù)據(jù)集檢測效果

圖8 URFD檢測效果
實驗環(huán)境為Ubuntu 18.04系統(tǒng),使用NVIDIA Ge-Force GTX 1060 6G顯卡,采用PyTorch深度學(xué)習(xí)框架進(jìn)行姿態(tài)估計模型以及分類網(wǎng)絡(luò)的搭建。將經(jīng)過動作特征處理后的數(shù)據(jù)進(jìn)行劃分,70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測試集。經(jīng)過實驗,確定Bi-LSTM模型參數(shù)中batch大小和Epoch設(shè)置為32和50、學(xué)習(xí)率0.001。損失函數(shù)采用交叉熵,優(yōu)化算法為Adam,其余參數(shù)均為默認(rèn)值。
跌倒檢測中通常使用的敏感度(Sensitivity)、特異度(Specificity),準(zhǔn)確率(Accuracy)作為評價標(biāo)準(zhǔn),具體計算方法如下:

其中:
(1)真陽性(TP):跌倒的樣本被檢測為跌倒。
(2)假陽性(FP):未跌倒的樣本被檢測為跌倒。
(3)真陰性(TN):未跌倒的樣本沒有被檢測為跌倒。
(4)假陰性(FN):跌倒的樣本沒有被檢測為跌倒。
我們按時間步長T的長度15幀將視頻分割為新的視頻片段,其中URFD分割為8700余個片段,包含跌倒830余個片段;自有數(shù)據(jù)集分割為23000余個片段,包含跌倒870余個片段。以下實驗中準(zhǔn)確率是按照分割后的視頻片段數(shù)量進(jìn)行統(tǒng)計,敏感度、特異度、總準(zhǔn)確率則是按照原視頻總數(shù)量進(jìn)行統(tǒng)計。
2.3.1 特征提取對準(zhǔn)確率的影響
由表1、表2可知,經(jīng)過特征提取后在,準(zhǔn)確率得到提升。跌倒動作在視頻中被標(biāo)記為一段連續(xù)的跌倒標(biāo)簽,假設(shè)時刻{T-9,…,T-1,T,T+1,…,T+9}都被標(biāo)記為跌倒,在跌倒過程中心也即最明顯的時刻T識別效果會最好,而離這個時刻越遠(yuǎn)的數(shù)據(jù)識別精度會遞減,但T+9、T-9等時刻較遠(yuǎn)的數(shù)據(jù)不能正確識別為跌倒,可實際上它仍屬于跌倒動作,而我們加入新特征后能識別的范圍擴(kuò)大,泛化能力增強(qiáng)。例如跌倒的過程已經(jīng)開始,人處于準(zhǔn)備倒地的半空狀態(tài),如果從此時開始跌倒檢測,可能會無法檢測出來,但經(jīng)過特征提取后可以改善這個問題。

表1 URFD下的檢測結(jié)果(%)

表2 自有數(shù)據(jù)集下的檢測結(jié)果(%)
2.3.2 分類模型對準(zhǔn)確率的影響
表3、表4為不同模型的檢測結(jié)果,與SVM、Random Forest等傳統(tǒng)機(jī)器學(xué)習(xí)相比,采用了Bi-LSTM網(wǎng)絡(luò)處理這種包含時序信息的數(shù)據(jù)時效果明顯較好。而Bi-LSTM相比LSTM,準(zhǔn)確率有所提高,說明雙向的LSTM通過對上下文信息融合對跌倒動作的識別有促進(jìn)作用。在加入注意力機(jī)制后,對識別效果也有進(jìn)一步的提高,提高了我們模型的泛化能力。

表3 URFD下不同模型的檢測結(jié)果(%)

表4 自有數(shù)據(jù)集下不同模型的檢測結(jié)果(%)
2.3.3 不同算法的準(zhǔn)確率對比
在公開數(shù)據(jù)集URFD下,表5為本文方法與其他方法進(jìn)行對比。Harrou[12]通過尋找視頻興趣點并計算其光流特征,再設(shè)置閾值進(jìn)行跌倒判斷。Abobakr[13]使用Kinect采集的深度圖像進(jìn)行特征處理,然后送入Random Forest分類器進(jìn)行分類。Adrian[14]將光流圖像作為輸入,送入CNN進(jìn)行跌倒檢測,但光流計算量非常大,受光照變化影響嚴(yán)重。

表5 URFD下本文方法與其他方法的對比(%)
相比其他人的方法,我們的方法達(dá)到較優(yōu)秀的水平,但依舊會出現(xiàn)虛警的情況。經(jīng)過對誤判視頻進(jìn)行分析,發(fā)現(xiàn)我們的跌倒檢測算法有以下缺點,當(dāng)攝像頭所處的位置太低時,這樣采集的圖像提取的特征容易與其他正常視角的拍攝下的特征混淆,從而導(dǎo)致誤判。針對這個問題,我們的解決方案是將攝像頭置于較高的位置,得到的檢測效果會較好。另外若只使用單一圖像傳感器進(jìn)行跌倒檢測,在遮擋嚴(yán)重的情況下效果也會不理想。
本文提出了一種高效的跌倒檢測方法,該方法首先通過姿態(tài)估計方法獲取人體關(guān)鍵點,然后從中提取用于跌倒檢測的新特征,結(jié)合注意力機(jī)制使用Bi-LSTM分類網(wǎng)絡(luò)進(jìn)行跌倒行為判斷。實驗結(jié)果表明,我們的方法可以實現(xiàn)準(zhǔn)確的跌倒檢測,效果優(yōu)于其他先進(jìn)方法。