天天看點

【深度學習】視訊分類技術整理

【深度學習】視訊分類技術整理

最近在做多模态視訊分類,本文整理了一下視訊分類的技術,分享給大家。

【深度學習】視訊分類技術整理

傳統的圖像分類任務中,一般輸入的為一幅HxWxC的二維圖像,經過卷積等操作後輸出類别機率。

【深度學習】視訊分類技術整理

對于視訊任務,輸入是由連續的二維圖像幀組成的一個存在時序關系的二維圖像序列,或是視為一個TxHxWxC的四維張量。

這樣的資料具有以下特點:

1. 幀之間的變化資訊往往能反映視訊的内容;

2. 相鄰幀之間變化一般較小,存在大量的備援。

【深度學習】視訊分類技術整理

最直覺和最簡單的做法是沿用靜态圖像分類的方法,直接将每個視訊幀視為獨立的二維圖像看待,利用神經網絡提取每個視訊幀的特征,将這個視訊所有幀的特征向量取平均得到整個視訊的特征向量,然後進行分類識别,或是直接每個幀得到一個預測結果,最後在所有幀結果中取共識。

這種做法的好處是計算量很小,計算開銷與一般的二維圖像分類相近,并且實作非常簡單。但是這種做法不會考慮幀之間的互相關系,平均池化或是取共識的方法都比較簡單,會損失大量資訊。在視訊時長很短,幀間變化相對較小的時候不失為一種好的方法。

【深度學習】視訊分類技術整理

另一種方案同樣是沿用靜态圖像分類的方法,直接将每個視訊幀視為獨立的二維圖像看待,但是在融合時使用VLAD的方式。VLAD是2010年提出的一種大規模圖像庫中進行圖像檢索的算法,它可以将一個NxD的特征矩陣轉換成KxD(K<d)。在這種方法下,我們對一個視訊的各個幀特征進行聚類得到多個聚類中心,将所有的特征配置設定到指定的聚類中心中,對于每個聚類區域中的特征向量分别計算,最終concat或權重求和所有的聚類區域的特征向量作為整個視訊的特征向量。

【深度學習】視訊分類技術整理

在原始的VLAD中ak項是一個不可導的項,同時聚類也是不可導的操作,我們使用NetVLAD的改進,将每個特征向量與所有聚類中心求距離的softmax獲得該特征向量最近的聚類中心的機率,聚類中心用可學習的參數确定。

相比平均池化,NetVLAD可以通過聚類中心将視訊序列特征轉化為多個視訊鏡頭特征,然後通過可以學習的權重對多個視訊鏡頭權重求和獲得全局特征向量。但是這種做法每一幀的特征向量仍是獨立計算的,無法考慮幀之間的時序關系和變化資訊。

【深度學習】視訊分類技術整理

對于存在時序關系的序列,使用RNN是一種通用的做法。具體做法為使用網絡(一般為CNN)将每個視訊幀序列提取為特征序列,再将特征序列按時序順序輸入到如LSTM的RNN中,以RNN的最終輸出作為分類輸出。

這種做法可以考慮幀之間的時序關系,理論上具有更好的效果。但是在實際實驗中,這種方案相比第一種解決方案并沒有明顯優勢,這可能是因為RNN對于長序列存在遺忘問題,而短序列視訊使用簡單的靜态方法效果就已經足夠好。

【深度學習】視訊分類技術整理

雙流法是一種比較好的做法。這種方法使用兩個網絡分支一個為圖像分支提取視訊幀的特征向量,另一個為光流分支,利用多幀之間的光流圖提取光流特征,利用圖像分支與光流分支特征向量的融合進行分類預測。

這種做法由于是靜态方法,計算量相對較小,從光流中也能提取到幀之間的變化資訊。但是光流的計算會引入額外的開銷。

【深度學習】視訊分類技術整理

我們也可以直接将傳統的二維卷積核改造為三維卷積核,将輸入的圖像序列作為一個四維張量整體來對待。

代表做法有C3D,I3D,Slow-Fast等。

這種方法實驗效果比較好,但是由于三維卷積複雜度提高了一個數量級,往往需要大量的資料才能取得不錯的效果,在資料不夠時可能使效果很差甚至訓練失敗。

基于此,也提出了一系列方法簡化三維卷積的計算量,如基于低秩近似的P3D等。

【深度學習】視訊分類技術整理

Vision Transformer在視覺領域取得了很大成功,我們也可以直接将ViT遷移到三維圖像上。

我們可以直接将Attention的計算從一個圖像内的所有patch擴充到整個序列所有圖像的所有patch。

這種做法使計算複雜度提升了一個數量級,計算開銷很大。

【深度學習】視訊分類技術整理

TimeSformer在ViT的基礎上,提出了五種不同的注意力計算方式,實作計算複雜度和Attention視野的trade-off:

1. 空間注意力機制(S):隻取同一幀内的圖像塊進行自注意力機制;

2. 時空共同注意力機制(ST):取所有幀中的所有圖像塊進行注意力機制;

3. 分開的時空注意力機制(T+S):先對同一幀中的所有圖像塊進行自注意力機制,然後對不同幀中對應位置的圖像塊進行注意力機制;

4. 稀疏局部全局注意力機制(L+G):先利用所有幀中,相鄰的 H/2 和 W/2 的圖像塊計算局部的注意力,然後在空間上,使用2個圖像塊的步長,在整個序列中計算自注意力機制,這個可以看做全局的時空注意力更快的近似;

5. 軸向的注意力機制(T+W+H):先在時間次元上進行自注意力機制,然後在縱坐标相同的圖像塊上進行自注意力機制,最後在橫坐标相同的圖像塊上進行自注意力機制。

經過實驗,作者發現T+S注意力方式的效果是最好的,在大大減少了Attention的計算開銷的同時,效果甚至優于計算全部patch的ST注意力。

【深度學習】視訊分類技術整理

Video Swin Transformer是Swin Transformer的三維拓展版本,這種方法簡單的将計算注意力的視窗從二維拓展至三維,在實驗中就取得了相當不錯的效果。

在我們的實驗中,Video Swin Transformer是目前比較好的視訊了解backbone,實驗結果顯著優于上面的方法。

完整版的源檔案可以點選閱讀原文擷取。