袁韶祖,王雷全,吳春雷
(中國石油大學(華東)計算機科學與技術學院,青島 266580)
近年來,隨著深度學習技術的發展,大量針對物體、人臉、動作等維度的識別技術涌現出來.而隨著監控技術和短視頻APP 的廣泛應用,視頻場景識別已成為一項極具科研價值和應用價值的技術.它的具體任務是給定一個特定的視頻進行鏡頭分割,通過提取關鍵幀,輸出場景的類別.目前主流的算法是使用視頻級別的特征直接進行場景分類.然而這種方法只考慮到了視頻級的全局特征,卻忽略了富含更多信息的局部特征以及其中存在的關聯.針對以上問題,本文提出了一種新的模型,該模型利用視頻級別的全局信息和物體級別的局部信息,提供更加豐富的推斷信息.同時,本文采用了注意力機制來篩選對于視頻場景識別重要程度高的特征,這一過程既增強了全局信息和局部信息的關聯,同時也實現了對于特征的降維,有效地加速了模型的收斂.與官方開源的模型相比,本文提出的模型在準確率上取得了非常大的提升,這進一步說明了該模型的有效性.
本文中,創新點可以總結歸納為如下3 點:
1)本文在視頻場景分類中構造了全局和局部的多粒度的特征.
2)本文提出全新的注意力機制的場景分類模型,該模型可以很好的通過注意力機制將兩種粒度的特征融合,并對結果進行降維.
3)新模型準確率比官方發布的基于CNN 網絡的模型提高了12.42%,這進一步證明我們的模型的有效性和優越性.
特征在計算機視覺領域中扮演著重要的角色,選擇合適的特征可以極大的提升模型的性能.早期視頻特征主要使用VGG 特征,該模型由Simonyan K 等提出,也大量應用在圖像識別領域.后來何凱明通過殘差的思想實現了101 層的CNN 模型,得到了擬合更強的網絡[1].Resnet 作為特征提取網絡被廣泛應用于視頻識別和圖像描述等領域[2].Jiang YG 等使用resnet 作為視頻級特征實現了視頻場景分類的基礎模型[3].使用Resnet 提取的視頻級特征也被稱作RGB 特征.然而視頻幀之間是存在時空關系的,采用RGB 特征無法表征出這種時序關系[4].為了解決這一問題,Tran D 等提出了空間卷積(C3D)的網絡來獲取時空的信息[5].Sun DQ 等提出利用幀之間的差異性計算時空信息的“光流法”[6].這兩種跨時空特征被廣泛的應用于視頻是被,動作識別等領域[7].以上特征都可以被視作視頻級別的特征,未從更細的粒度考慮視頻內部的語義特征聯系.Ren SQ 等認為,細粒度的特征有利于增強模型對于視覺信息的理解,為了得到這種信息,他們在較大的視覺檢測數據集上訓了Faster-RCNN[8]用于識別目標圖像中的物體,同時提出檢測模型標識每個物體的中間特征,并將所有特征級聯起來作為圖像的總體特征[9].該模型首次提出后被應用于圖像描述和圖像問答領域,并取得了不錯的成績.我們認為,該特征同樣可以應用于視頻理解領域.
注意力機制在深度學習領域有著極為重要和深遠的影響,被廣泛應用各個領域中.在機器翻譯領域,早期的Encode-Decoder 模型不能很好的解碼源語言中的重點信息,為了解決這一問題,Bahdanau 等將注意力機制最早應用于機器翻譯的解碼階段[10].受到這種思維的啟發,Xu K 等意識到圖像領域也存在需要重點關注的區域,于是他們將注意力機制引入到圖像描述中來,并創造性的提出了兩種注意力機制:軟注意力和基于強化學習的硬注意力[11].在這之后注意力機制在各個領域大放異彩,陸續出現了很多新式的注意力機制.在圖像描述領域,Lu JS 等提出了when to look 注意力,去決定在圖像描述過程中應該注意圖像還是注意文本[12].在圖像問答中,Lu JS 等 提出公用注意力機制,從理論層面將注意力矩陣逆置之后用于兩種模態[13],Kim JH 提出雙線性注意力[14],相當于給注意力矩陣降維,但是最終的結果不變,兩種注意力都可以降低運算復雜度,有利于采用更深的注意力網絡,從而提升效果.在對抗生成領域,Kim J 將注意力機制引入到了生成對抗網絡,通過網絡自適用的決定應該更注重哪一區域的生成,用來生成更高質量的圖[15].即便是在最新谷歌提出的Transfromer 和Bert 中,也采用了自注意力機制,用來解決自然語言中超遠距離詞的依賴問題,該模型在自然語言界引起了極大轟動[16].由于注意力機制在人工智能領域的出色表現,因此在實驗中也會用注意力機制來提升本文所提出模型的能力.
Resnet 是深度卷積神經網絡的一種,它在原有的較淺層次的卷積神經網絡的基礎上添加了“殘差”機制,因此再反向傳播的過程中可以保證導數不為0,從而避免了深層網絡出現梯度彌散的現象,有效的增加了卷積的擬合性.Resnet 的殘差過程可由式(1)表示:

其中,x是輸入的特征圖,F代表卷積,W是用來調整x的channel 維度的,y是當前殘差的輸出.
由于Resnet 的輸出可以作為對圖片信息的一個較強的表征,本文采用這種特征作為視頻場景的一個全局表示,即粗粒度特征.
Faster-RCNN 是一種比較新且準確率較高的檢測模型,其原理和SPPnet[6]和Fast-RCNN[17]這些模型有很大差別,這些模型雖然減少了檢測網絡運行的時間,但是計算區域建議依然耗時依然比較大.Faster-RCNN采用了區域建議網絡(region proposal network)用來提取檢測物體的區域,它和整個檢測網絡共享全圖的卷積特征,極大的降低區域建議網絡所花時間,從而提升了檢測的效率和質量.
在本文中,Faster-RCNN 作為檢測器標識出視頻圖片中的物體信息,每一個物體區域分別作為改物體的特征表示,這種檢測得到的特征作為細粒度的特征表示.
圖1是本文所提出的場景識別模型,這里所采用的的注意力機制是一種典型的注意力架構[10],并在此基礎上設計了多粒度特征的注意力融合模型.在3.1 中檢測模型Faster-RCNN 提取提取到的檢測特征S是一個n×D維的向量,即對應于n個不同物體的子區域,每個區域都是一個D維的向量,可由如下字母表示:

其中,RD表示屬于D維度,Si表示第i個物體的圖像區域.對于每個物體的特征表示,式(3)中本文借鑒注意力分配函數 ?[18]根據細粒度檢測特征Si和全局特征Ii生成一個權重分布αi:

這里的分配函數是一種映射關系,它將兩種粒度的視覺信息通過單層神經元映射到同一個維度空間,再相加得到權重,這個權重分布就包含了兩種粒度特征的融合信息.同時,該權重分布和Si的維度是一致的,通過后續的加權操作,既實現了對于多個物體特征的降維,又得到兩種信息融合的一個強表征信息.
在(4)式中,Softmax 函數對權重分布αi作歸一化處理得到注意力權重ai,這時ai介于0 到1 之間:

其中,ai表示視覺注意力模型中第i個物體的圖像對應區域的權重.
最后,將注意力權重和相對應的視頻圖像區域加權求和,得到該視頻場景的最終表示att,如式(5)表示:

式中,Si為視頻圖像的區域,αi為式(4)中attention學習得到的權重,這個權重是神經網絡根據當前輸入視覺信息自動生成的.

圖1 我們的模型架構
在視頻場景識別中,首先將給定的視頻切割成一個視頻幀序列Ti(i=1,2,···,m),模型要對這m個特定視頻幀進行場景分類的pi(i=1,2,···,m).接下來兩種特征的提取:我們使用深度卷積神經網絡Resnet 提取視頻幀全局的視覺特征Ii(i=1,2,···,m),這同時也是即將進行場景分類的幀的粗粒度的表示,該表示是一個D(2048)維的向量;同樣的,通過預訓練的Faster-RCNN 提取視頻場景中的物體區域,也就是檢測特征,該特征是物體級別的細粒度信息,可以表示為S={S1,S2,···,SN},其中n代表檢測模型提取的物體區域個數,實踐中n被設置為36.這個過程可用下面兩個公式表示:

為了示意方便,這里f代表深度卷積網絡Resnet,g代表檢測網絡Faster-RCNN.
得到多粒度的視覺特征后,新模型使用全局特征作為注意力機制的鍵值,通過注意力單元的計算得到n個注意力權重α.這里的權重α是由注意力模型根據不同物體重要程度學習得到的:物體重要程度越大,其權重值約接近于1;如果物體對于場景推斷越不重要要甚至起到干擾作用,其權重越接近于0.最后通過物體特征和注意力機制生成的權重加權計算得到融合多粒度信息表示的視覺特征att,這同時也實現了對于細粒度特征的降維,即從n×D維降維成D,所以att是一個D維的向量.這部分流程圖如圖1所示,可以由式(8)、式(9)概括:

最終,融合多粒度信息表示的視覺特征被輸入到一個分類器中.該分類器由一個兩層的神經網絡,和一個激活函數構成,它的作用是將D維表示向量映射為d,d代表了場景分類的總數,選取其中值對應的最大的索引,該索引所對應的場景表示就是最后輸出的場景分類的結果.分類器部分可以用式(6),式(7)表示:

式中,W1,W2代表兩層神經網絡的可學習權重,logit是未經過激活函數的值,p為最終的分類概率,概率最大的索引所對應的場景即為神經網絡的輸出結果.
和已有的方法[3]相比,本文摒除了只采用單維度的CNN 特征或者將幾種CNN 特征簡單連接的方法.本模型通過已有的深度卷積和檢測的方法構建了兩種不同粒度的特征.特別的,本文采用注意架構將兩種粒度的信息巧妙融合在了一起,既實現了對信息的降維,同時增強了全局信息和局部信息的關聯.
本文采用了在ChinaMM 大會上極鏈科技與復旦大學聯合推出全新視頻數據集VideoNet.該數據集具備規模大、維度多、標注細三大特點.VideoNet 包含近9 萬段視頻,總時長達4000 余小時.VideoNet 數據集對視頻進行了事件分類標注,并針對每個鏡頭的關鍵幀進行了場景和物體兩個維度的共同標注.考慮到算力等因素,該實驗從中抽取了100 000 個視頻樣本的鏡頭分割和關鍵幀結果,推斷每個鏡頭的關鍵幀對應的場景類別.為了保證模型的訓練和測試效果,本實驗按照6:2:2 的比例切隨機分數據集,即使用60 000 數據訓練,20 000 用于驗證,20 000 用于測試.
模型的目標是對給定的測試視頻樣本和鏡頭關鍵幀結果,推斷每個鏡頭的關鍵幀對應的場景類別.因此可以通過以下公式判讀模型是否分類正確:

其中,G為關鍵幀場景類別的ground-truth,pi為場景預測輸出.如果該關鍵幀未出現訓練集中任何一類場景,則Gi=–1.因此,準確率公式可以定義為:

訓練過程中該模型使用了交叉熵[19]作為損失,因此也可以通過交叉熵損失的變化判斷模型的優化程度和模型訓練是否收斂.損失函數可用公式表示為:

本文采用了準確率和log 損失來評測模型的質量和訓練情況.在圖2中,我們繪制了測試損失和迭代次數的相關折線圖,不難看出本文提出的方法可以快速的收斂,loss 值在訓練的過程中穩定的下降,最終迭代次數為20 時得到最好的效果.結合圖3的準確率曲線,通過觀察可以看出隨著訓練損失的下降,模型的測試準確率也在不斷提升,最高可以達到67.71%.由于模型訓練了25 個迭代,通過圖3表所示,在超過20 個迭代次數的時候,模型的測試準確率會有小幅度的下降,說明模型出現了過擬合現象.在表1中,我們列舉了模型迭代次數19 到迭代次數25 之間的準確率,通過對比發現,迭代次數為23 的時候模型得到最好的效果,準確率為67.71%.

圖2 交叉熵損失變化
通過表1,可以看出,本文提出的模型準確率大幅度優于VideoNet 官方開源的Baseline 模型.與我們提出模型訓練取得的最好的效果相比,新模型準確率比官方baseline 提升了12.42%.這些數據證明:本文提出的模型可以在較少的訓練迭代次數下收斂.基于多粒度視覺特征和注意力機制的模型有效的提升了視頻場景識別的質量.相比于傳統的使用C3D 特征等方法,多粒度視覺信息可以大幅度提升識別的準確率,因為不同粒度的信息不但補充了更加豐富的識別信息,同時還使用注意力機制將不同粒度的信息聯系在一起,更加充分的利用了信息.

圖3 準確率損失變化

表1 模型的準確率對比(%)
本文提出了使用多粒度視頻特征信息基于注意力架構的視頻場景檢測模型,并在VideoNet 數據集上取得優異的成績.該算法的亮點在于使用全局性的信息引導下,通過注意力機制自適應的對場景中重要的局部信息加權,從而達到更加精準的識別效果.和官方開源的模型基線相比,本文考慮了全局特征和局部特征,很好的利用了多個粒度視頻信息.并且在模型中采用了注意力模型,既完成了對特征的降維,又能很好的將多個粒度的信息聯系起來.在未來的工作中,我們將進一步探索多維度的視頻信息和不同注意力機構對于場景識別的影響.