梁 鴻,張兆雷,李傳秀,鐘 敏
(中國石油大學(華東) 計算機科學與技術學院,山東 青島 266580)
基于視頻的人體行為識別是計算機視覺領域的熱點和富有挑戰性的問題。由于深度卷積神經網絡強大的特征學習能力,VGGNet[1]、ResNet[2]等優秀的網絡模型被應用于人體行為識別任務中。
將深度卷積神經網絡應用到人體行為識別中的關鍵問題是如何融合視頻中的局部特征。Karpathy等[3]在人體行為識別任務中引入深度卷積神經網絡并研究了連續視頻幀作為輸入的特征融合方法。Simonyan等[4]把光流作為表示運動的特征提出了雙流卷積神經網絡,在行為識別任務上具有重要的意義。雙流卷積神經網絡雖然有效地利用了時間維度信息,但是對長時序的運動缺乏特征表示,導致最后識別準確率并不高。Wang等[5]提出基于長時間范圍結構建模的網絡改進了傳統雙流CNN的缺點,但是各視頻段特征的簡單平均融合使不同的特征發揮相同的作用。Ng等[6]針對視頻的時序問題設計了雙流長短時記憶網絡,但是效果不理想。
針對以上分析,本文總結了視頻的一般特性:①相鄰的幀之間具有高度相似性;②某些行為順序的改變不會對識別結果產生明顯影響;③某些行為只用少數幾幀就可識別。因此本文提出了時序激勵卷積神經網絡(temporal excitation based convolutional neural network,TEN),通過時序激勵模塊(temporal excitation model,TE Model)建模局部特征之間的關系,提高人體行為識別的準確率。時序激勵就是對局部特征的加權,使對行為識別有益的特征發揮更大的作用同時抑制冗余和噪聲特征。另外,與近期提出的基于注意力機制的方法[7]不同的是,本文方法不僅利用單個局部特征,還在一定程度上利用了時序上不同位置局部特征的關系信息。
本文在提出時序激勵機制時將人體行為識別任務分為3個主要階段:局部特征提取階段、局部特征融合階段和全局特征分類階段,每個階段都可以通過合適的神經網絡來解決。其中局部特征提取使用現有的深度卷積神經網絡,例如ResNet、BN-Inception等,全局特征分類可以用全連接層。本文主要貢獻在于局部特征融合階段,即探索如何在給定一組局部特征的情況下生成具有辨別性的視頻全局特征表示。為此本文設計了時序激勵模塊,并將其融入到卷積神經網絡中,此模塊能根據輸入的局部特征序列自適應地為每一個局部特征分配權重。對行為識別有益的局部特征會得到比較大的權重,而冗余和噪聲特征得到較小的權重,以此達到增加有益特征的作用并且抑制無用特征的目的。時序激勵卷積神經網絡模型結構如圖1所示,模型的優勢在于依然能夠進行端到端的訓練,這為整個模型的優化提供了方便。本文采用空間流與光流結合的方法進行人體行為識別,其中的每一個流都能輸入到提出的方法中優化學習,最后的預測結果是由兩流上預測的行為類別分數加權融合得到。

圖1 時序激勵卷積神經網絡模型結構
將時序激勵深度卷積神經網絡(TEN)應用于人體行為識別可以分為以下6個步驟:
步驟1 將視頻平均分成若干片段,在每個片段中隨機挑選一幀RGB圖像和光流圖像的堆疊作為模型的輸入;
步驟2 利用深度卷積神經網絡提取每一幀RGB圖像或光流圖像的堆疊深度特征并且組成局部特征序列;
步驟3 將局部特征序列輸入到設計的時序激勵模塊中,生成與局部特征相應的權重向量;
步驟4 將生成的權重向量賦值給第2步中的局部特征序列,完成局部特征的加權;
步驟5 分別將兩個流的加權特征序列輸入到共識函數中,生成視頻的全局特征表示;
步驟6 將空間流與光流的行為類別得分加權融合得到最終的視頻行為類別預測。
本文提出的時序激勵深度卷積神經網絡(TEN)結構如圖1所示。為了得到視頻中的局部特征序列,將每一段帶有標簽的輸入視頻V平均分為K段,即V={S1,S2,…,SK,y},Si代表視頻中的第i個片段,y是此視頻包含的行為類別標簽。提取視頻的局部特征采用的深度卷積神經網絡是在ImageNet圖像分類數據集上預訓練過的BN-Inception,因為Wang等[5]已經驗證了BN-Inception能在速度與準確率之間取得比較好的平衡。假設在視頻中每個片段隨機提取的幀Ti輸入到卷積神經網絡后映射成的深度特征可表示為
xi=(Ti,W),i=1,2,…,K
(1)
其中,W為卷積神經網絡的參數,xi為M維的向量。對于RGB流,并且對于光流,并且
局部特征序列定義為同一視頻中不同部分的幀經卷積神經網絡所映射的一組深度特征的序列。為了方便,本文使用一個M*K矩陣X來表示包含K個局部特征序列
X=(x1,x2,…,xK)
(2)
值得注意的是,本文中提取的局部特征是有序的,即局部特征的順序須和對應的視頻幀順序一致。
本文設計的時序激勵模塊的結構如圖2所示。本文提出的時序激勵模塊中包含對局部特征序列的壓縮與激勵操作,并且嵌入在網絡的最后一個全連接層之后。
在局部特征序列輸入到時序激勵模塊后,首先進行特征的壓縮操作。本文采用與SENet[8]中一樣的深度特征壓縮方法,即平均池化方法,如式(3)所示
(3)
其中,ai表示視頻中第i個局部特征經過壓縮后的輸出值,xji表示局部特征序列中第i個局部特征向量xi的第j個元素。因此,能夠表示時序上局部特征依賴性的特征向量可以寫為
A=(a1,a2,…,aK)
(4)
在局部特征融合的過程中,時序激勵模塊的輸入是能代表局部特征序列的向量。它的任務是分析每個局部特征的重要性,然后賦予全局特征盡可能多的有用信息,同時抑制冗余的信息和噪聲。這種時序激勵輸出可以看作是局部特征序列上的加權,加權之后的視頻局部特征序列V可表示為
V=cX
(5)
其中,c是K維的權向量,由權重函數決定。權重函數的選擇是時序激勵模塊的關鍵所在。它的輸入是能夠代表局部特征序列的向量A,輸出是權向量c,權向量每一維的數值都對應其所在位置的局部特征。
使用權重函數計算局部特征權重的方法很多,全局平均可以看作是時序激勵機制的一種退化形式,相應的權重函數可以表示為
(6)
其中,L是維度為K并且所有元素都等于1的向量。Lippmann在1987年的論文[9]中發現具有兩個隱藏層的多層感知器足以表示任何所需形狀的分類區域。受此啟發,對于更具延展性的時序激勵權重函數,本文首先使用包含一個隱藏層的全連接層(FC2)
c=sigmoid(w2relu(w1AT+b1)+b2)
(7)
其中,w1,w2分別為維度5*K的參數向量。類似地,也可以使用包含兩個隱藏層的全連接層(FC3)
c=sigmoid(w3relu(w2relu(w1AT+b1)+b2)+b3)
(8)
其中,w1,w2是維度2*K的參數向量,w3是維度K的參數向量。
視頻中的局部特征經過時序激勵模塊之后輸出經加權的局部特征序列進入到全局特征融合的階段,此處本文選擇平均融合的方法將K個不同位置的局部特征序列V融合為代表整個視頻的全局特征,最后將全局特征送入到時序激勵模塊之后的分類器中進行優化學習。

圖2 時序激勵模塊結構
首先介紹了本文使用的兩個人體行為識別數據集:HMDB51[10]和自建的油田生產現場行為識別數據集Oilfield-7,并且在這兩個數據集上評估了本文提出的方法。通過與一些優秀方法的比較,驗證了本文方法的有效性,最后對時序激勵模塊輸出的局部特征權重進行可視化。
HMDB-51:包含來自51個動作類的6766個視頻剪輯。數據集中的視頻多數來源于電影片段,還有一小部分來自公共數據庫以及YouTube等網絡視頻庫。這些動作類包括一般的面部動作、帶有對象操作的面部動作、一般身體動作以及帶有人體互動的身體動作。這個數據集具有挑戰性,因為它包含了許多攝像機運動造成的低質量視頻。
Oilfield-7:本文自建的油田生產現場行為識別數據集包含7類動作:Tank Clean,Rig Walk,Room Operate,Site Walk,Room Stand,Tank Construction,Tank Walk,囊括了日常工作中的常見行為:擦拭,走,作業等。數據集中所有的視頻均來自油田生產現場的監控視頻,裁剪時確保每個視頻片段中只包含一個行為類別。最終形成的數據集共包含剪輯的視頻200個,平均每個視頻300幀。本文借鑒公共數據集的標準評估準則[11],將數據集隨機劃分為3種不同的訓練集和測試集。
訓練時,本文使用在ImageNet圖像分類數據集上預先訓練的BN-Inception模型初始化網絡的權重,將在視頻中采樣得到的RGB圖像和光流圖像裁剪到224*224的大小作為網絡的輸入。訓練過程遵循TSN[7]中所使用的訓練策略(凍結除第一個之外的所有批量標準化層和在全局池化后加入dropout)。TEN中處理每個流的卷積神經網絡單獨訓練,基于標準交叉熵損失函數,采用隨機梯度下降算法(SGD)優化損失函數,批處理大小為32。在HMDB51數據集上,對于空間流,總共訓練45個Epochs。使用0.001的初始學習率,每20個Epochs學習率下降到原來的0.1。對于時間流,本文也使用0.001的初始學習率,總共訓練100個epochs,每40個epochs學習率下降到原來的0.1。所有SGD動量都固定在0.9,為減小過擬合的風險將dro-pout設置為0.8。對于自建的Oilfield-7數據集,模型的訓練過程與HMDB51的過程相同,只是根據數據集大小調整訓練的次數。測試時,對每個測試視頻,均勻采樣固定數量的片段(本文的實驗中空間流為25段,時間流為20段)。使用中心裁剪,水平移動,角裁剪和刻度抖動等技術對采集的圖像做增強處理。使用加權平均融合空間流與時間流的預測得分生成視頻中行為類別的預測,分別在兩個數據集的3個測試集上評估本文的方法并報告了實驗結果。
在整個訓練和測試的過程使用到了Pytorch深度學習框架和CUDA8.0,并且使用Opencv提取視頻中的光流,本文的實驗在NVIDIA GTX1080Ti上進行。
首先,比較了本文提出的方法與另外兩種時序特征融合方法:①最大片段融合;②平均片段融合。與本文的方法一樣,最大片段融合與平均片段融合都在網絡的最后一個全連接層之后分類層之前。實驗結果見表1,本文在HMDB51數據集的第一個split上進行實驗,訓練時視頻的片段數K設置為5。通過引入時序激勵模塊,本文將只是用RGB圖像作為輸入的平均準確度提高到了54.9%。比平均片段融合方法高1.2%,比最大片段融合方法高1.5%。由此可見通過引入時序激勵模塊,在融合視頻中的局部特征時,使得對行為識別有益的特征能夠獲得更多的關注,并且在一定程度上抑制冗余和噪聲特征,使得到的全局特征更具鑒別力。

表1 HMDB51上不同的融合方法比較(RGB幀,split1)
另外,本文對提出的時序激勵模塊中不同的權重函數對全局特征的影響進行分析,考慮了第3節中描述的含有一個隱藏層的FC2和含有兩個隱藏層的FC3。為保證權重函數能有效地為局部特征分配權重,在隱藏單元的設置上,FC2中的隱藏單元數設置為輸入層單元的5倍,FC3中兩層隱藏單元的數量均設置為輸入層單元數量的兩倍。雖然FC3較FC2多出一層隱藏單元,但是實際的參數量FC3要比FC2減少約20%,同時使用FC3權重函數輸出的權重要優于使用FC2輸出的權重。使用不同權重函數在HMDB51上的實驗結果見表2,本文觀察到,當輸入的局部特征數量比較小時,使用FC2的表現要好于FC3的表現,隨著輸入的局部特征數量的增加,FC2的性能要比FC3差。經過分析本文認為隨著局部特征數量的增加,FC2的表達能力逐漸趨向飽和,而擁有兩個隱藏層的FC3的表達能力逐漸顯現出來。

表2 HMDB51上兩種權重函數隨著局部特征數量的增加產生的準確率變化(RGB幀,split1)
為了進一步評估本文所提方法的有效性,本文在HMDB51數據集中3種不同的測試集上進行驗證,最后取這3個數據集上準確率的平均值作為評價指標,實驗結果見表3,本文提出的方法展示了較好的性能,在只用RGB圖像作為輸入的情況下比TSN提高了2.9%,比Attention Pooling[14]方法提高了1.7%。此外,通過與時間流分數的加權融合,本文方法比Two-Stream高出12.2%,比TSN高出1.3%,見表4,本文提出的方法達到了目前最先進的性能,表中還可以看出本文的方法相比于Attention系列[7,18]只能依據單個局部特征分配權重的方法具有一定的優越性,這種優越性體現在能在一定程度上關注到局部特征之間的時序關系使生成的權重更具區分性,增加有益特征的作用從而使局部特征融合成的全局特征更具代表性。

表3 不同方法在HMDB51上的比較(只用RGB幀)
接下來本文在自建的油田生產現場行為識別數據集OilField-7上評估提出方法的有效性,本文選擇基線模型Two-stream以及TSN作為比較的對象,這兩個模型是雙流法中的比較有代表性的模型。在Oilfield-7上,實驗設置同HMDB51一樣,對于空間流選擇25個片段,時間流選擇20個片段進行測試,在最后的雙流分數融合階段本文把權重設置為1和1.5。結果如表5所示,本文的方法在準確率上較Two-Stream與TSN分別提升了5.3%與2.2%。每類行為的識別準確率見表6,在表中可以看出‘Tank Clean’和‘Tank Construction’兩類的準確率較低,因為這兩個行為不明顯并且距離監控攝像頭較遠,而‘Tank Walk’的準確率較高說明模型加入時序激勵模塊之后能關注到行為發生的幀,增加其在全局特征中的影響。
最后,本文對提出的時序激勵模塊對時序上不同位置的局部特征的響應進行可視化,以便更好展示網絡在學習過程中對時序局部特的關注程度。如圖3所示,本文在隨機挑選的幾段視頻上測試提出的方法并將時序激勵模塊產生的權重可視化。圖3(c)是本文自建數據集中工作人員的站起行為,底部的數字是時序激勵模塊為采樣得到的幀所分配的權重,可以看出在人還沒有站起時分配的權重比較低,當有明顯的站起特征時,時序激勵模塊會給予更多的關注即分配更大的權重。

表4 不同方法在HMDB51數據集上的比較(RGB幀+光流)

表5 在oilfield-7數據集上3種方法的比較

表6 在OilField-7數據集每個行為類別上3種方法的比較

圖3 時序激勵模塊生成的局部特征權重的可視化
本文為了改進現有的基于雙流模型的人體行為識別方法不能有效融合局部特征的不足,提出了融入時序激勵機制的卷積神經網絡,設計的時序激勵模塊可以為局部特征序列生成具有區別力的權重,并且嵌入時序激勵模塊的卷積神經網絡依然能夠端到端的學習。通過與經典方法在HMDB51和自建的OilField-7數據集上的結果對比,驗證了本文提出的方法能有效提高人體行為識別的準確率。此外,本文的方法還可以用于未裁剪視頻的人體行為識別,將在未來的工作中在其它行為識別數據集上評估和改進本文的方法。