沈陽理工大學 魯普東 王 茜 楊詩琪 李思涵 劉健強 祁 燕
為了提高對視頻中特殊人群跌倒檢測的準確率,提出了一種新型的室內跌倒檢測模型。采用卷積神經網絡中的VGG-16網絡模型,在數據集中加入大量公用的跌倒行為數據集進行學習訓練,在此基礎上使其具有判斷能力。使用光流法處理圖像,大大除去背景環境的干擾,系統可以在任意環境下使用。實驗結果表明,所設計的新型室內跌倒檢測模型相較于傳統跌倒檢測算法具有更高的識別準確率和較低的誤報率,較好的實現跌倒檢測。
跌倒表示突然的倒下,倒在同一水平面或者更低的平面上。我國老齡化越來越嚴重,社會人口結構呈現老年狀態,與此同時,老年人的跌倒問題也是日益嚴重,已經成為引起老年人受到嚴重傷害甚至死亡的一個重要原因。研究表明,在65周歲以上的老年人中,有33%的老年人每年至少會發生一次跌倒,其中4%~15%的跌倒行為導致老年人受到了嚴重傷害,人口老齡化導致越來越多的獨居老人出現。所以提出一個室內跌倒行為實時檢測系統就顯得十分重要。本課題擬開發一個基于CNN的跌倒行為檢測系統。該系統可以提取攝像頭視頻中的人體運動信息,對這些信息進行行為檢測,當檢測到有跌倒行為發生時系統可以及時發出警報。
目前檢測跌倒的主要方法分為兩類,一是基于傳感器的智能設備,二是基于計算機視覺的檢測算法。
基于傳感器的智能穿戴式設備實現實時跌倒檢測通常采用加速度傳感器陀螺儀或輔助報警按鈕。2006年,浙江大學的趙祥欣采用了三維加速度傳感器MMA7260、處理器MSP430F149及通訊模塊的結構組合方案,搭建一個三維加速度監測系統。隨著科技的進步,Cotechini Valentina等人構建了一個用于開發和優化基于可穿戴傳感器的跌倒檢測算法的數據集。Amir Mehmood等人提出了一種基于微光傳感器的老年人跌倒檢測算法取得了比較好的實驗效果。
基于計算機視覺的檢測方法最大優點是用戶不用穿戴任何傳感器設備,而是通過挖掘視頻數據中的有用信息進行分析。從安裝在室內的監控提取出視頻數據,包括人在室內的一些活動信息,然后通過各種算法識別人體的行為,從而檢測出跌倒行為。在提取人的運動特征部分所用的方法分別是:第一種:選擇提取人體的3D特征。基于Kinect相機的人體跌倒檢測算法研究把人體骨骼節點的加速度特征、距離地面高度特征與計算骨骼節點點心距的K-means距離特征進行組合,得到最終分類器的特征向量。第二種:使用計算機視覺領域的技術從視頻的連續幀中提取特征。提取特征的方法大多選擇深度神經網絡加分類器的組合。S. Wang等人提出了使用PCANet來提取特征,然后使用支持向量機算法(SVM)來檢測跌倒。
雖然基于計算機視覺的方法目前還沒有出現家喻戶曉的產品,但是隨著深度學習的快速發展和攝像設備的普及,基于計算機視覺的跌倒檢測方法有著很好的前景。
本課題利用VGG-16構建一個跌倒檢測系統,系統的輸入數據來自家庭攝像頭拍攝的視頻,通過對卷積神經網絡模型的訓練使其具有識別動作的能力后,再加入公共的跌倒數據集,讓其能夠判斷當前行為是否是跌倒動作,如果判斷當前動作為跌倒則發出警報。
(1)VGG模型與VGG-16模型
VGG模型與VGG-16模型是2014年,牛津大學提出來的網絡模型。VGG-16有13層卷積層+3層全連接層,共16層。VGG-16使用了3×3的小型卷積核和2×2的較大池化核。其結構如圖1所示。
圖1 VGG-16結構圖
(2)預訓練模型
預訓練就是將圖片每一個像素減去了均值。在某些大型數據集上提前訓練的VGG16網絡來使其具有一定的識別能力。
簡單來說,預訓練模型是為了解決類似問題通過前人的積累所創造出來的模型。當我們遇到問題時,不用從頭開始從0到1地訓練一個新模型,反而可以從在類似問題中尋找曾經訓練的模型,這樣會節約大量的時間成本。
VGG-16的預訓練過程如圖2所示。
圖2 VGG-16預訓練過程
(1)遷移學習模型
遷移學習是一種深度學習的訓練策略,指的是一個預訓練的模型被重新用在另一個任務中。在卷積神經網絡訓練過程中需要大量的樣本數據集,大量的樣本示例更有利于整個網絡學習特征。但是跌倒數據集(URFD、Muticam、FDD)相較于其他數據集(UCF-101、ImageNet)數量過小,其中ImageNet數據集含有超過1400萬張圖片,UCF-101數據集包括13350個視頻其中涵蓋了101個人體日常的動作而跌倒數據集。URFD包含30個跌倒視頻和40個日常行為視頻在數量上和UCF-101和ImageNet相距甚遠,所以本實驗擬采用遷移學習的方法來解決數據集數量差異的問題。
使用遷移學習把預訓練后的參數放到跌倒檢測模型中。數據集加入跌倒數據集URFD讓整個模型具有識別跌倒數據集的能力,構建一個二分類器,分類器輸出的結果是跌倒行為或非跌倒行為。
訓練模型:在數據集中加入跌倒行為的數據集,再次對預訓練后的模型進行訓練使其可以檢測出人體動作行為中的跌倒行為并不斷調整模型使其達到較高的準確率。
(2)實驗數據集的采集
本實驗通過在家中的攝像頭下進行姿勢的切換,通過截取視頻片段輸入到預訓練模型中,采集的樣本數據是由三位年齡不同、性別不同的人構成,主要采集的行為有跌倒、下蹲、站起、蹲起、突然下蹲、坐下等六種行為。待數據采集完成并去除無效數據后,共得到300份樣本,不同的行為對應的樣本數據如表1所示。
表1 不同行為的樣本數據
(3)跌倒檢測實驗結果與分析
本項目將所采集到的數據分為訓練數據和測試數據,并按照8:2比例進行分配。則可以得出訓練數據一共240條,測試數據一共60條。分析240條訓練數據,獲得不同行為所對應的異常數據。對異常數據進行特征提取,提取出來的特征組合成特征向量,將其送入分類器中進行訓練,建立跌倒檢測模型,利用剩余60條測試數據來測試訓練模型,通過對跌倒行為判斷的準確率和報錯率來衡量模型的適用性。
要想實現系統在不同的環境中使用,需要提取出連續圖像幀之間的運動信息從而消除圖像背景的影響。為了解決該問題本實驗擬采用光流法對圖像進行預處理之后再輸入到卷積網絡中訓練。光流是空間運動的物體在觀察成像平面上的像素運動的瞬時速度,其中光流法是利用圖像序列中像素在時間域上的改變以及相鄰幀之間的相關性,然后計算出相鄰幀之間物體運動信息的方法,其主要原理如下:
(1)基本假設條件
①保持亮度的恒定不變。即同一物體在不同幀間運動時,亮度不變。這是基本光流法的假設,從而得出光流法基本方程;
②時間是連續的或運動是“小運動”。即時間的變化不會引起目標位置的劇烈變化,相鄰幀之間位移要小一點。同樣也是光流法不能缺少的假定。
(2)基本約束方程
考慮一個像素I(x,y,t)在第一幀的光強度(其中t表示其所在的時間維度)。它移動了(dx,dy)這樣的距離到下一幀,用了dt時間。由于是同一個像素點,所以依據之前提到的基本假設條件我們認為該像素在運動前后的其光強是不變的,即:
上式經過一系列變化最終可寫為:
其中設U,V是光流沿X軸與Y軸的速度矢量,Ix,Iy,It代表圖像中像素點的灰度沿X,Y,T方向的偏導數。(U,V)即為所求光流矢量。
利用光流法處理后的圖像稱為光流圖像。光流圖像可以消除圖片中背景環境的影響,進而讓系統在不同的環境中使用。實例結果如圖3所示。
圖3 光流圖實例效果
將所得光流圖放入VGG-16網絡模型中進行特征提取,與提前訓練學習好的內容進行對比,判斷是否跌倒。
整體系統構建如圖4所示。
圖4 構建的室內跌倒檢測系統
將普通攝像頭拍攝的視頻作為樣本,抽取視頻中的每一幀作為輸入(即圖中的RGB images)。放入生成器中生成與之對應的光流圖像,然后將其放入經過微調的卷積神經網絡VGG-16中提取特征,在卷積神經網絡最后的全連接層進行分類,判斷是否為跌倒行為。
結論:得益于遷移學習技術我們解決了UCF-101和ImageNet數據量相距甚遠的問題。在解決圖像背景對圖像識別的影響時,本項目采用光流法來尋找連續幀的動作信息,通過預訓練、實驗數據采集、調整VGG-16的輸入層并使其能接收光流圖像、遷移學習等一系列的步驟經過實戰測試得出可以應用于跌倒檢測的計算機視覺項目。