一種基於卷積神經網絡的動作檢測模型的製作方法
2023-04-24 08:57:56
本發明屬於計算機視覺研究領域,通過運用深度學習中卷積神經網絡的方法構建一個高效的動作檢測模型,實現從視頻中識別動作並進一步對動作進行檢測定位。
背景技術:
:計算機視覺領域的視頻識別分為動作分類和動作檢測。動作分類要解決的問題類似「這段視頻中有『跑步』這樣的動作或者行為麼」;動作檢測所解決的問題類似「這段視頻中有『跑步』這樣動作或行為麼,如果有,那麼該動作出現在哪一段幀序列集以及該動作都在每幀的什麼位置」。近些年,受益於圖像識別所取得的巨大進展,視頻識別也同樣取得了很大的進展。其中大多數動作識別方法都是針對動作分類任務而被提出,事實上這些方法也同樣可以用於動作檢測任務。J.Aggarwal、M.Ryoo、R.Poppe等人對近些年動作識別領域的方法和進展進行了很好的總結和梳理。許多傳統的動作分類方法提取的特徵多是採用手工特徵提取法,例如使用HOG、SIFT等提取靜態的外觀特徵,使用光流(opticalflow)、MBH等提取動態的運動特徵,再使用詞袋(BagofWords)、Fisher向量等方法對這些特徵編碼。動作分類則使用像SVM支持向量機、決策森林(decisionforests)等方法。近幾年,許多動作識別方法採用深度學習模型並取得很大的進展。受視覺層背側通路理論的啟發,Jhuang等人構建了一個由多層級的時空特徵檢測器組成的前饋網絡,此網絡中包含預設計好的分別用來提取表觀和運動特徵的過濾器。最近,Ji等人構建了3DCNNs,其卷積操作實施在三維的時空域,因此該網絡在提取特徵時能夠獲取更多的動作信息。動作檢測在實現動作分類的基礎上還要對動作進行定位。過去許多動作檢測方法採用滑動窗口法(slidingwindow),然而基於滑動窗口法的動作定位極為耗時,時間效率低,為了加快動作的定位,Oneatra等人提出了一種逼近規範化的FisherVector策略,此策略使用一個比滑動窗口更有效的方法,即branch-and-bound搜尋算法。另一類動作定位的方法是基於「以人為中心」的模型。Lan等人通過使用「以人為中心」的視覺方法——學習得到一個時空動作模型,其中特徵表示中的目標位置被視為潛變量(latentvariable)並根據潛變量推斷與某個動作標籤高度關聯性。最近,有一種基於區域的卷積神經網絡的方法被用於動作檢測任務中,取得了更好的動作檢測效果。該方法最先由Girshick等人在做目標檢測任務時提出的,其思想是先用選擇搜索(SelectiveSearch)、Edgeboxes等工具在每張圖片上生成多個興趣區域,然後將興趣區域輸入卷積神經網絡並提取特徵,最後將該特徵用於分類。之後相繼出現了效率更好的目標檢測方法FastRCNN、FasterRCNN。Gkioxari等人將基於區域的目標檢測思想移植到動作檢測任務中,他們採用雙通路網絡分別對興趣區域和對應光流圖提取特徵,再用SVM分類器進行分類,最後將分類過後的興趣區域在時間維度上進行連結形成最優的管道並給出動作類別預測。技術實現要素:本發明提出的動作檢測模型由三個部分組成,即FasterRCNN(更高效的基於區域的卷積神經網絡)、SVM分類器和動作管道(ActionTubes),動作檢測模型的整體結構如圖1所示。動作檢測模型的每個部分分別完成相應工作,最終實現對一段或多段視頻中所包含動作行為的檢測任務。FasterRCNN對每幀圖片獲取多個興趣區域,並對每個興趣區域提取特徵。本檢測模型提取特徵採用雙通道模型,即基於幀圖的FasterRCNN通道和基於光流圖的FasterRCNN通道,他們分別提取表觀特徵和動作特徵。然後將表觀特徵和動作特徵聯合形成時空域特徵,把時空域特徵輸入到SVM分類器中,經SVM分類給出相應區域的動作類別預測值。本模型中的SVM分類器是由多個二分器組成,每個動作類別有一個二分器。該階段的SVM分類器從幀層面做出的動作預測,此預測將作為第三部分預測視頻所屬動作類別的憑據。第三部分即動作管道部分在視頻層面給出最終的動作檢測結果。該階段從視頻時序角度出發,基於相鄰的幀一般包含著相同動作且包含動作的區域重合度高的特點,將視頻幀中綜合得分高的區域連結起來,形成一個個競選管道,最終將得分值最高競選管道作為最終的動作檢測結果。第一部分:FasterRCNNFasterRCNN由兩個深度神經網絡組成,即RPN(RegionProposalNetwork)和FastRCNN(高效的基於區域的卷積神經網絡),FasterRCNN的整體結構如圖2所示,網絡中包含多層的卷積層、下採樣層和全連接層,這些層通過組合形成了一個深度神經網絡,其中每種類型的層都可對輸入到深度網絡中圖像進行特徵的提取。RPN網絡如圖3所示,該網絡是一個全卷積網絡,由多層卷積層構建,RPN網絡最後輸出值有兩個,分別輸出區域位置信息和對應區域包含及不包含目標的置信度。RPN和FastRCNN分別完成獲取興趣區域和提取區域特徵的任務。本方法提取深度特徵採用雙通路模型,兩個通路的FasterRCNN網絡分別是基於原始幀圖數據集和光流圖數據集訓練而成,因此兩個通路的FasterRCNN網絡都具備獲取興趣區域和提取興趣區域特徵的能力。然而本方法期望得到的興趣區域包含的信息中,更多的是動作信息,所以選擇使用基於光流圖數據集訓練的FasterRCNN網絡的RPN來獲取興趣區域。此RPN基於光流信息生成興趣區域,這些興趣區域被雙通路的FasterRCNN共享,分別作為這兩個網絡的後繼網絡FastRCNN的輸入,最終輸出對應的動作特徵和表觀特徵。第二部分:SVM分類器FasterRCNN深度網絡實現對幀圖的興趣區域的獲取和對興趣區域特徵的提取,SVM分類器基於深度特徵對區域所屬的動作類別進行預測,給出每個區域屬於每個動作類別的置信度大小,這個置信度大小將作為第三階段連結最終動作管道的依據。SVM分類器的訓練過程如下。訓練SVM分類器是基於從深度卷積神經網絡獲取的深度特徵的聯合特徵,即時空域特徵。任給一個區域R,分別假定φs(R)和φm(R)是由基於原幀圖區域的FasterRCNN網絡和基於光流圖區域的FasterRCNN網絡的第7層全連接層輸出的特徵向量,分別是4096維,聯合這兩個特徵向量,得到時空域特徵向量φ(R)=[φs(R)Tφm(R)T]T,其中「T」代表轉置操作,時空域特徵向量φ(R)維度為8192。然後對每個動作類別α∈A,A代表動作類別集,分別訓練對應動作類別的SVM分類器Wα。第三部分:動作管道本動作檢測模型的第二階段只是從幀層面給出相關區域的動作類別預測,還沒有考慮視頻的時序性,需要從整段視頻角度出發給出動作類別的預測。這裡將對第三階段如何從幀層面到視頻層面做出最終的動作檢測進行介紹。本方法中把組成視頻的幀序列中包含某個動作類別的競選區域按時間序列連結的集合叫做動作管道,動作管道就是最終的動作檢測結果。假定分別從視頻中在時刻t、t+1的相鄰兩幀獲取了兩個區域,記為Rt和Rt+1,對於某個動作類別α∈A,定義連結這兩個區域的得分公式為:這裡表示動作類別α對應的分類器函數,δ(Rt+Rt+1)表示兩個區域的交集;λ是常量,該常量是調整兩區域交集大小在總得分公式中的權重。這個公式說明當兩個區域在空間重疊區域越大且同屬於某個動作類別的置信度越大,那個這兩個區域應該被連結作為關聯動作管道的子集。對於某段視頻的一個動作α∈A,最優路徑的尋找方法如下:這裡是關於動作α被連結的區域序列集合。對於上述的最優化問題使用維特比算法(Viterbialgorithm),把所求的最優路徑稱作動作管道,並對生成的動作管道進行評價、給予相應的得分值其中得分值最大的動作管道所組成的區域集合便是對應視頻最終動作檢測的結果。附圖說明圖1動作檢測模型。圖2FasterRCNN結構圖。圖3RPN結構圖。圖4動作檢測效果圖。具體實施方式本發明中動作檢測模型構想的實現和驗證,是以GPU(K80)作為計算平臺,採用CUDA作為GPU並行計算框架,選取Caffe作為CNN框架。具體實施步驟如下:步驟1:視頻數據的預處理本方法需要的視頻數據需要以「一幀一圖」的形式進行拆分和保存,並要求每幀圖片的尺寸必須一致。當前有許多開放的視頻數據集供選擇,根據具體任務選擇一種或多種。其次要對數據集中的每一幀進行光流計算,獲得每幀圖片對應光流圖,整理並保存形成光流圖數據集。步驟2:FasterRCNN的訓練分別用視頻數據集中的幀圖數據集和光流圖數據集對雙通路的FasterRCNN網絡進行訓練,使其分別具備提取靜態的表觀特徵和動態行為特徵的能力,其中組成FasterRCNN的RPN和FastRCNN兩個網絡結構參考ZF結構模型。整個訓練過程大致分四個階段:第一階段是訓練RPN網絡,這個網絡首先用ImageNet預訓練好的模型進行初始化,然後微調;第二階段單獨訓練FastRCNN網絡,其中輸入到該網絡的興趣區域是由第一階段的RPN網絡提供。第三階段使用第二階段訓練的FastRCNN網絡對RPN進行初始化,通過訓練僅僅微調RPN所獨有的網絡層部分;第四階段訓練並微調FastRCNN網絡的全連接層部分。至此,整個FasterRCNN網絡的訓練任務完成。步驟3:SVM分類器的訓練使用步驟2訓練好的雙通路網絡獲取興趣區域並提取每個興趣區域的表觀特徵和動作特徵,即φs(R)和φm(R),融合併得到時空域特徵向量φ(R)=[φs(R)Tφm(R)T]T。對每個動作類別α∈A,分別訓練對應動作類別的SVM分類器Wα,在訓練時,將所有屬於動作類別α的groundtruth區域作為正例,將所有和動作α有關的但與對應groundtruth區域覆蓋比值小於0.3的區域以及其他動作類別的區域作為反例,整個訓練過程使用hardnegativemining。步驟4:FasterRCNN的特徵提取再次使用步驟2訓練好的雙通路網絡獲取興趣區域並提取每個興趣區域的表觀特徵和動作特徵,例如φs(R)和φm(R),融合併得到時空域特徵向量φ(R)=[φs(R)Tφm(R)T]T。但是這一步驟要求從測試集中獲取興趣區域和提取對應區域的特徵。步驟5:SVM分類器的分類對步驟4獲取的區域進行分類,任給一個區域R,分別用步驟3中訓練好的SVM分類器Wα計算此區域屬於對應動作類別的置信度。步驟6:動作管道的預測分類此步驟考慮視頻的時序性,從整段視頻角度出發給出動作類別的預測。假定Rt和Rt+1分別表示時刻t、t+1的相鄰兩幀獲取了的兩個區域,計算動作類別α∈A下的Sα(Rt,Rt+1),其中對於某段視頻的一個動作α∈A,尋找最優路徑:反覆運用維特比算法得到最優路徑,最終得到的最優路徑為所求得動作管道。本發明提出的動檢檢測模型使用JHMDB數據集進行驗證,並與當前在該數據集上檢測效果最好的兩個方法進行對比。本動作檢測模型的FasterRCNN部分的表現對於整個檢測任務的檢測準確率高低至關重要,這裡評估本發明中FasterRCNN在幀圖級別的檢測效果,並與Malik等人的方法進行對比。這裡使用frame-AP指標,閾值σ=0.5,表1是對比結果:表1從表1可以看出,使用RPN+FastRCNN相結合的FasterRCNN模型,在幀圖數據集和光流數據集訓練得到的spatial-CNN和motion-CNN的檢測結果比Malik等人的方法分別高出12.5和16.5個百分點,明顯好於Malik等人的方法。為了驗證本發明中動作檢測模型檢測效果的優劣,將JHMDB的3組交叉訓練驗證集分別進行訓練和測試,得到了最終的平均動作檢測準確率,並與Malik等人和Wal等人的方法進行對比。這裡閾值σ分別取0.5和0.6,表2是最終的平均動作檢測準確率結果和對比結果:表2σMalikWalours0.553.360.6660.860.6—53.6056.12從表2可以看出在σ分別取0.5和0.6時,本動作檢測模型的平均動作檢測率都比當前最好的方法要高,尤其當要求獲取更精確的動作管道時,即檢測的區域更精確(重合覆蓋率σ=0.6),本方法要高出當前最好結果2.5個百分點。這表明本動作檢測方法在動作的識別率和動作檢測的精確度上都取得了非常好的效果。經實驗結果分析,這得益於RPN網絡獲取興趣區域的能力更高,以及經訓練後的兩個FasterRCNN網絡提取時空域特徵的能力更強。圖4展示了本動作檢測模型在JHMDB測試集上檢測結果的幾個例子。當前第1頁1 2 3