張程 祝凱 趙德鵬 劉振宇 劉迎松
(1.青島理工大學(xué) 山東省青島市 266000 2.海爾智家股份有限公司 山東省青島市 266000)
全球每年有65 萬人由于跌倒而死亡,跌倒已經(jīng)成為導(dǎo)致意外死亡的第二大主因。研究顯示,中國老年人總體跌倒發(fā)生率為20.8%[1]。由于老人行動遲緩,行為不便,跌倒后若沒有得到及時的救助,極有可能導(dǎo)致嚴重傷害甚至死亡[2]。跌倒檢測系統(tǒng)可自動檢測跌倒事件的發(fā)生并第一時間向他人發(fā)出求救信號從而極大地減小跌倒給老年人帶來的傷害[3]。
關(guān)于檢測跌倒的方法根據(jù)傳感器的種類可分為三類:基于視覺、基于速度感知、基于無線電頻傳感器[4]。Zhao 等人[5]使用了Kinect V2 或 Orbbec Astra 來獲得場景信息,采用隨機森林提取人體上身信息和人與床之間的相對位置關(guān)系,有效地將人從床上跌倒行為和其他的一些日常動作區(qū)分開來。但是該方法容易受到干擾并且不能從蓋著被子的人體身上獲得上身信息,因此無法很好地應(yīng)用在現(xiàn)實生活當中。文獻[6]設(shè)計了一個基于骨骼信息的智能監(jiān)控系統(tǒng),可以檢測暴力行為并跟蹤施暴者,但識別的行為較簡單無法應(yīng)用到普遍的場景。文獻[7]通過ViBe 算法并結(jié)合YUV 顏色空間去除視頻中的背景信息,之后用普通的卷積神經(jīng)網(wǎng)絡(luò)對去除陰影后的運動人體圖像來識別老人異常行為,但去除背景的方法很有可能也去除了人體的部分信息,導(dǎo)致結(jié)果不準確。文獻[8]采用了基于視頻與骨架的融合算法來對視頻中關(guān)鍵幀進行特征提取與識別,雖然提高了精度,但極大增加了計算量,難以滿足實時性的要求。
本文使用OpenPose,從視頻中獲取人體的骨架信息,之后采用基于骨架的深度學(xué)習(xí)方法MS-G3D 檢測人體跌倒行為,對現(xiàn)有的數(shù)據(jù)集進行訓(xùn)練與測試,并與其他方法相比較分析,為搭建部署家居環(huán)境下老人跌倒行為檢測系統(tǒng)提供參考。本文采用的MS-G3D網(wǎng)絡(luò)模型以骨架數(shù)據(jù)作為輸入,消除了視頻背景信息的干擾,同時也保護了個人的隱私問題。
考慮到深度學(xué)習(xí)方法的特性,本文收集了一些跌倒數(shù)據(jù)集用于網(wǎng)絡(luò)的訓(xùn)練。其中URFD 數(shù)據(jù)集[8]一共包含了70 個(30 個跌倒數(shù)據(jù)和40 個日常行為數(shù)據(jù))序列,所有跌倒數(shù)據(jù)集在七個不同的場景下通過兩臺Microsoft Kinect 相機收集的;NTU RGB+D 120[10]是目前最大的動作測試數(shù)據(jù)集,我們選取了其中的跌倒行為(共948個視頻)和其他幾種類似跌倒動作的行為如坐下,穿鞋,脫鞋,蹲下(共3804 個項目)作為對照試驗的樣本數(shù)據(jù);UP-FALL[11]數(shù)據(jù)集,包括四個方向的摔倒和從椅子上摔倒五種(3 個角度的相機)。由于跌倒行為的時間通常為2-4 秒,本文對這些跌倒視頻明顯過大的樣本,采用滑動窗口的方法分離出跌倒行為之外的動作。另外,由滑動窗口獲取的子序列的標簽根據(jù)所占比例最大的行為動作所決定,比如設(shè)置了大小為10 的滑動窗口,其中8 幀為跌倒行為,則標記該子序列的標簽為跌倒。我們?nèi)コ诉^渡樣本(如5 幀為跌倒,5 幀為躺著),剩下的子序列將用于跌倒檢測。
圖1:跌倒檢測系統(tǒng)結(jié)構(gòu)
圖2:改進骨架信息
本文搭建的家居環(huán)境下跌倒檢測系統(tǒng)結(jié)構(gòu)如圖1 所示,該結(jié)構(gòu)分為六個步驟。首先是數(shù)據(jù)采集,通過攝像機捕捉原始的圖像信息。第二步通過OpenPose 算法從原始的數(shù)據(jù)中提取人體骨架信息。在第三步中,在現(xiàn)有的骨架關(guān)鍵點數(shù)據(jù)的基礎(chǔ)上進行刪除或添加操作,并生成新的人體骨架信息。第四步,將第三步得到的結(jié)果作為MSG3D[10]網(wǎng)絡(luò)的輸入,訓(xùn)練獲得輸出結(jié)果。第五步和第六步分別檢測當前行為是否是跌倒動作,如果出現(xiàn)跌倒行為,發(fā)出警報并向相關(guān)的其他人員發(fā)出求救信號。
圖3:識別跌倒及與跌倒相似日常行為的混淆矩陣
圖4:識別錯誤的樣本示例
為了得到關(guān)節(jié)點信息,本文使用目前流行的姿態(tài)估計算法OpenPose,來獲取每幀樣本中目標體的25 個關(guān)節(jié)點坐標。本文用(X,Y,Z)來表示每個關(guān)節(jié)點信息,其中X,Y 表示關(guān)節(jié)的二維坐標,C 表示該關(guān)節(jié)點的置信度。對于一個T 幀的視頻,將其轉(zhuǎn)換成(3,18,T)維的向量數(shù)據(jù)。為了符合網(wǎng)絡(luò)模型的輸入,本文調(diào)整了算法獲取的關(guān)節(jié)點坐標范圍,其中X 范圍調(diào)整為[0,1],Y 范圍調(diào)整為[-0.6,0.6]。圖片左上角的坐標為(0,0.6),右下角的坐標為(1,-0.6)。根據(jù)跌倒行為特性,為減少網(wǎng)絡(luò)參數(shù)與計算量,去掉了頭部的四個關(guān)節(jié)點和腳上的四個關(guān)節(jié)點(圖2(a)中的15,16,17,18 以及20,21,23,24),并根據(jù)現(xiàn)有的關(guān)節(jié)點增加了圖2(b)中的2,3 兩點的步驟。
目前基于人體骨架信息的行為識別的算法都是將連續(xù)幀中的信息分割為空間域和時間域,用GCN 和RNN 等算法分別在兩者上提取特征后再進行融合,這種方法阻礙了不同幀之間相關(guān)聯(lián)的其他位置的點的相互影響。MS-G3D 單擊或點擊此處輸入文字。提出了多尺度擴展(MS)和統(tǒng)一時空圖卷積模塊(G3D),分別解決了以高階多項式方式表示的鄰接矩陣的偏置問題和利用復(fù)雜的跨時空節(jié)點關(guān)系來識別行為動作。將多尺度聚合方案與G3D 相結(jié)合,Multi-Scale G3D 計算公式見公式(1)。
整個實驗的測試平臺為:操作系統(tǒng)為Ubuntu 18 LTS64 位系統(tǒng)。計算機內(nèi)存為16 GB,搭載Intel? Core ? i5-8300KCPU @ 2.30 GHz 處理器,采用英偉達GTX1060 顯卡加速圖像處理。除了分析檢測跌倒行為,本文還設(shè)置選取了其他幾種類型的日?;顒樱ㄐ凶撸?,下蹲,彎腰等)以進行評估。這五項動作可能與跌倒行為的運動特征有關(guān),并經(jīng)常出現(xiàn)在日常生活中。
圖3 為識別跌倒及與跌倒相似日常行為的混淆矩陣。由圖可見,整體上網(wǎng)絡(luò)模型在已處理過的骨架信息上可較好區(qū)分四個動作。其中坐下行為與跌倒最容易混淆,圖4 為將坐下識別為跌倒的樣本案例,所示四張圖像分別是四個跌倒視頻中的最后一幀,明顯可以看出這些樣本應(yīng)該歸類為蹲下、坐下等非跌倒行為,對此類情況還需專門研究與討論。
實時檢測跌倒行為的發(fā)生對老年人生活護理至關(guān)重要。我們采用了基于視覺的方法來試圖解決老年人的跌倒問題。我們通過利用家用相機來確保全天候24 小時的檢測并避免了個人的隱私問題。采用最新的OPEN POSE 提取人體骨架并采用最新的MS-G3D 算法識別人體跌倒行為,結(jié)果表明算法取得較好的效果。由于目前的跌倒數(shù)據(jù)集所整理的視頻樣本有限,因此對網(wǎng)絡(luò)模型的準確率有著較大的影響,且有一些動作和跌倒動作難以區(qū)分,后續(xù)我們將構(gòu)建一個更大的跌倒數(shù)據(jù)集,并對難以區(qū)分的樣本進行針對性研究。