張程 祝凱 趙德鵬 劉振宇 劉迎松
(1.青島理工大學 山東省青島市 266000 2.海爾智家股份有限公司 山東省青島市 266000)
全球每年有65 萬人由于跌倒而死亡,跌倒已經成為導致意外死亡的第二大主因。研究顯示,中國老年人總體跌倒發生率為20.8%[1]。由于老人行動遲緩,行為不便,跌倒后若沒有得到及時的救助,極有可能導致嚴重傷害甚至死亡[2]。跌倒檢測系統可自動檢測跌倒事件的發生并第一時間向他人發出求救信號從而極大地減小跌倒給老年人帶來的傷害[3]。
關于檢測跌倒的方法根據傳感器的種類可分為三類:基于視覺、基于速度感知、基于無線電頻傳感器[4]。Zhao 等人[5]使用了Kinect V2 或 Orbbec Astra 來獲得場景信息,采用隨機森林提取人體上身信息和人與床之間的相對位置關系,有效地將人從床上跌倒行為和其他的一些日常動作區分開來。但是該方法容易受到干擾并且不能從蓋著被子的人體身上獲得上身信息,因此無法很好地應用在現實生活當中。文獻[6]設計了一個基于骨骼信息的智能監控系統,可以檢測暴力行為并跟蹤施暴者,但識別的行為較簡單無法應用到普遍的場景。文獻[7]通過ViBe 算法并結合YUV 顏色空間去除視頻中的背景信息,之后用普通的卷積神經網絡對去除陰影后的運動人體圖像來識別老人異常行為,但去除背景的方法很有可能也去除了人體的部分信息,導致結果不準確。文獻[8]采用了基于視頻與骨架的融合算法來對視頻中關鍵幀進行特征提取與識別,雖然提高了精度,但極大增加了計算量,難以滿足實時性的要求。
本文使用OpenPose,從視頻中獲取人體的骨架信息,之后采用基于骨架的深度學習方法MS-G3D 檢測人體跌倒行為,對現有的數據集進行訓練與測試,并與其他方法相比較分析,為搭建部署家居環境下老人跌倒行為檢測系統提供參考。本文采用的MS-G3D網絡模型以骨架數據作為輸入,消除了視頻背景信息的干擾,同時也保護了個人的隱私問題。
考慮到深度學習方法的特性,本文收集了一些跌倒數據集用于網絡的訓練。其中URFD 數據集[8]一共包含了70 個(30 個跌倒數據和40 個日常行為數據)序列,所有跌倒數據集在七個不同的場景下通過兩臺Microsoft Kinect 相機收集的;NTU RGB+D 120[10]是目前最大的動作測試數據集,我們選取了其中的跌倒行為(共948個視頻)和其他幾種類似跌倒動作的行為如坐下,穿鞋,脫鞋,蹲下(共3804 個項目)作為對照試驗的樣本數據;UP-FALL[11]數據集,包括四個方向的摔倒和從椅子上摔倒五種(3 個角度的相機)。由于跌倒行為的時間通常為2-4 秒,本文對這些跌倒視頻明顯過大的樣本,采用滑動窗口的方法分離出跌倒行為之外的動作。另外,由滑動窗口獲取的子序列的標簽根據所占比例最大的行為動作所決定,比如設置了大小為10 的滑動窗口,其中8 幀為跌倒行為,則標記該子序列的標簽為跌倒。我們去除了過渡樣本(如5 幀為跌倒,5 幀為躺著),剩下的子序列將用于跌倒檢測。

圖1:跌倒檢測系統結構

圖2:改進骨架信息
本文搭建的家居環境下跌倒檢測系統結構如圖1 所示,該結構分為六個步驟。首先是數據采集,通過攝像機捕捉原始的圖像信息。第二步通過OpenPose 算法從原始的數據中提取人體骨架信息。在第三步中,在現有的骨架關鍵點數據的基礎上進行刪除或添加操作,并生成新的人體骨架信息。第四步,將第三步得到的結果作為MSG3D[10]網絡的輸入,訓練獲得輸出結果。第五步和第六步分別檢測當前行為是否是跌倒動作,如果出現跌倒行為,發出警報并向相關的其他人員發出求救信號。

圖3:識別跌倒及與跌倒相似日常行為的混淆矩陣

圖4:識別錯誤的樣本示例
為了得到關節點信息,本文使用目前流行的姿態估計算法OpenPose,來獲取每幀樣本中目標體的25 個關節點坐標。本文用(X,Y,Z)來表示每個關節點信息,其中X,Y 表示關節的二維坐標,C 表示該關節點的置信度。對于一個T 幀的視頻,將其轉換成(3,18,T)維的向量數據。為了符合網絡模型的輸入,本文調整了算法獲取的關節點坐標范圍,其中X 范圍調整為[0,1],Y 范圍調整為[-0.6,0.6]。圖片左上角的坐標為(0,0.6),右下角的坐標為(1,-0.6)。根據跌倒行為特性,為減少網絡參數與計算量,去掉了頭部的四個關節點和腳上的四個關節點(圖2(a)中的15,16,17,18 以及20,21,23,24),并根據現有的關節點增加了圖2(b)中的2,3 兩點的步驟。
目前基于人體骨架信息的行為識別的算法都是將連續幀中的信息分割為空間域和時間域,用GCN 和RNN 等算法分別在兩者上提取特征后再進行融合,這種方法阻礙了不同幀之間相關聯的其他位置的點的相互影響。MS-G3D 單擊或點擊此處輸入文字。提出了多尺度擴展(MS)和統一時空圖卷積模塊(G3D),分別解決了以高階多項式方式表示的鄰接矩陣的偏置問題和利用復雜的跨時空節點關系來識別行為動作。將多尺度聚合方案與G3D 相結合,Multi-Scale G3D 計算公式見公式(1)。

整個實驗的測試平臺為:操作系統為Ubuntu 18 LTS64 位系統。計算機內存為16 GB,搭載Intel? Core ? i5-8300KCPU @ 2.30 GHz 處理器,采用英偉達GTX1060 顯卡加速圖像處理。除了分析檢測跌倒行為,本文還設置選取了其他幾種類型的日常活動(行走,坐下,下蹲,彎腰等)以進行評估。這五項動作可能與跌倒行為的運動特征有關,并經常出現在日常生活中。
圖3 為識別跌倒及與跌倒相似日常行為的混淆矩陣。由圖可見,整體上網絡模型在已處理過的骨架信息上可較好區分四個動作。其中坐下行為與跌倒最容易混淆,圖4 為將坐下識別為跌倒的樣本案例,所示四張圖像分別是四個跌倒視頻中的最后一幀,明顯可以看出這些樣本應該歸類為蹲下、坐下等非跌倒行為,對此類情況還需專門研究與討論。
實時檢測跌倒行為的發生對老年人生活護理至關重要。我們采用了基于視覺的方法來試圖解決老年人的跌倒問題。我們通過利用家用相機來確保全天候24 小時的檢測并避免了個人的隱私問題。采用最新的OPEN POSE 提取人體骨架并采用最新的MS-G3D 算法識別人體跌倒行為,結果表明算法取得較好的效果。由于目前的跌倒數據集所整理的視頻樣本有限,因此對網絡模型的準確率有著較大的影響,且有一些動作和跌倒動作難以區分,后續我們將構建一個更大的跌倒數據集,并對難以區分的樣本進行針對性研究。