1. 程式人生 > >Compressed Video Action Recognition論文筆記

Compressed Video Action Recognition論文筆記

Compressed Video Action Recognition論文筆記

這是一篇2018年的CVPR論文。做了關鍵內容的記錄。對於細節要去論文中認真找。

摘要:訓練一個穩定的視訊表示比學習深度影象表示更加具有挑戰性。由於原始視訊的尺寸巨大,時間資訊大量冗餘,那些真正有用的訊號通常被大量的無關資料淹沒,通過視訊壓縮可以將資訊量減少多達兩個數量級。我們提出直接在神經網路上訓練壓縮的視訊。這種表示的特徵有更高的資訊密度,訓練起來更加簡單。在動作識別的任務上,我們的方法優於UCF-101,HMDB-51和Charades資料集上的所有其他方法。

介紹:視訊佔據了百分之七十的網際網路流量並且還在上升。大多數手機能能夠捕捉到高解析度的視訊,而且真實世界的資料很多都是源於視訊的,基於視訊的計算機視覺是視覺領域的前沿,因為它捕獲了靜止影象無法傳達的大量資訊。 視訊帶來更多情感,讓我們在一定程度上預測未來,提供時間背景並給予我們更好的空間意識。 不幸的是,目前很少有這些資訊被利用。

最先進的用於視訊分析的深度學習模型很基礎,大部分人分析視訊是設計卷積神經網路根據視訊幀逐幀進行解析。得到的結果並不比手工製作的特徵好,那麼為什麼沒有直接應用在視訊上的深度學習網路呢?我們認為有兩個原因:首先因為一小時的720p的視訊可以從222GB壓縮到1GB,也就是說視訊充滿了無聊和重複,淹沒了我們真正關注的訊號。大量的冗餘使CNN難以提取到有用的資訊,並且還使訓練變慢。其次,僅僅用RGB影象去學習時間結構是困難的。雖然大量的文獻想把序列化的影象當做視訊去處理,無論是使用2D CNN,3D CNN還是遞迴神經網路(RNN),但是隻取得了很少的進步。使用預先計算的光學流程幾乎總能提高效能。

為了解決這些問題,我們利用視訊儲存和傳輸中的壓縮後的表示,而不是在RGB幀上執行(圖1)。 這些壓縮技術(如MPEG-4,H.264等)利用連續幀通常是相似的。 它僅保留幾幀,並根據完整影象中的偏移(稱為運動向量和殘差)重建其他幀。 我們的模型由多個CNN組成,這些CNN除了處理少量完整影象外,還直接對運動向量,殘差進行操作。這樣的好處在於壓縮視訊可以消除多達兩個數量級的資訊,使有用的資訊突出,其次視訊壓縮中的運動向量為我們提供了單獨的RGB影象所沒有的運動資訊。此外,運動向量訊號已經排除了空間變化,比如說穿不同的衣服,不同的光照強度,不同的人執行相同的動作,會表現出相同的運動訊號。這將改善泛化能力。

在動作識別資料集UCF-101 [34],HMDB51 [18]和Charades [32]上,我們的方法顯著優於傳統RGB影象訓練的所有其他方法。 我們的方法簡單快速,無需使用RNN,複雜的融合或3D卷積。 它比現有的3D CNN模型Res3D [40]快4.6倍,比ResNet-152快12倍[12]。 當與標準時態流網路的分數結合使用時,我們的模型在所有這些資料集上都優於最先進的方法。

過去幾年中深度學習為視訊理解帶來了重大的改進,但改進主要是對深度影象的表示。時間結構的建模仍然相對簡單,大多數演算法對視訊幀進行下采樣,執行平均池化等操作並進行預測,無論是CNN,RNN,時間CNN還是其他的特徵融合技術,這些特徵融合技術並不一定優於最簡單的平均池化,而且還會引入額外的計算開銷。

高效的視訊儲存和傳輸的需求導致了高效的視訊壓縮演算法的出現。視訊業所演算法利用連續幀之間的相似性來有效的儲存視訊段中的一幀,而且只儲存差異。大多數現代化的編碼將視訊分為I幀,P幀和B幀(雙向幀)三個部分,I-frames就是正常的原始圖片,壓縮後不變;P-frames以上一幀為基礎,記錄本幀的變化值,和B幀(雙向幀。)P-frames分兩個部分,一個部分是motion vector,表示為source frame(應該指的是作參考的frame)到t時刻的target frame的畫素區塊(block of pixels)的移動,用表示,這個motion vector表示的是粗略的移動,因此source frame加上motion vector之後並不能得到和target frame完全一樣的結果,和target frame真實值之間的差距,稱為residual difference,用標記。這裡給出了從建P幀的遞推關係。

對於所有畫素i,其中I(t)表示時間t處的RGB影象。運動向量和殘差通過離散餘弦變換(DCT)和熵編碼。

視訊壓縮中,每幀代表一幅靜止的影象。而在實際壓縮時,會採取各種演算法減少資料的容量,其中IPB就是最常見的。 I 幀表示關鍵幀,你可以理解為這一幀畫面的完整保留;解碼時只需要本幀資料就可以完成(因為包含完整畫面)。P幀表示的是這一幀跟之前的一個關鍵幀(或P幀)的差別,解碼時需要用之前快取的畫面疊加上本幀定義的差別,生成最終畫面。(也就是差別幀,P幀沒有完整畫面資料,只有與前一幀的畫面差別的資料)。B幀是雙向差別幀,也就是B幀記錄的是本幀與前後幀的差別(具體比較複雜,不是這片篇論文研究的而重點),換言之,要解碼B幀,不僅要取得之前的快取畫面,還要解碼之後的畫面,通過前後畫面的與本幀資料的疊加取得最終的畫面。B幀壓縮率高,但是解碼時CPU會比較累~。

圖二可視化了運動向量估計和殘差。

原始運動向量和殘差只描述兩個幀之間的變化。通常信噪比很低,難以建模。 累計的運動向量和殘差會考慮較長期的差異並顯示更清晰的圖案。在HSV空間中繪製運動向量,H通道編碼運動方向,S通道表示振幅。對於殘差,我們在RGB空間中繪製絕對值。

我們重點討論如何用壓縮表示,去掉重複的資訊後用於行為識別。

Modeling Compressed Representations壓縮表示建模

我們的目標是設計一個計算機視覺系統,可以直接對壓縮視訊進行操作。

將I幀視訊直接輸入深層網路很簡單,因為這些是正常的影象,以前有很多工作做的都是將視訊幀送入神經網路,不做重點解釋,圖二可視化了運動向量,看起來是類似於光流的影象,我們知道,光流已經被證明對行為識別是有效的(之前有許多利用光流搞行為識別的論文),因此我們想要利用P幀,想知道有沒有效果。圖二的第三行顯示了預測鎮與真實之間的差距,我們稱之為殘差,它大致給出了一個運動的邊界,既然是圖片,那麼CNN同樣非常適合這種影象的處理,輸入影象、運動向量和殘差,相應的CNN的輸出會有不同的特徵。為了融合這幾種特徵,我們在中間層和最後一層嘗試了各種融合方法。如平均池化、最大池化、卷積池化、雙線性池化,但效果一般。  

因此作者思考為什麼效果一般呢?下面是結論,運動向量和殘差並不包含P幀的全部資訊。P幀取決於參考幀(即 I 幀),也取決於其他P幀,這條鏈一直延續到前一個I幀,獨立的讓CNN觀察每個P幀則違反了P幀之間的依賴性。(估計是在說丟失了依賴性則不能得到有用的資訊,因為每一個P幀都是基於上一幀的變化影象),但我們知道P幀類似於光流影象,因此想要利用P幀這些影象,作者設計了一種新穎而簡單的回溯技術back-tracing technique,對P幀解耦合。(解耦合即解除p幀之間的相互依賴性)

解耦模型:

為了打破P幀之間的依賴性,我們將所有的運動向量追溯到參考幀I幀,並在這個過程中累計殘差,這樣每個P幀就只依賴於I幀而不依賴於其他P幀。

t幀的位置i的畫素,用代表前一幀的參考位置(referenced location),對於k<t的第k幀的位置就可以按下式表示

在第t幀的累計運動向量和殘差分別計算如下:通過簡單的前饋演算法,當編碼視訊時積累的運動向量和殘差可以被有效的計算。

每一個P幀現在有了一個不同的依賴關係。

圖4中的P幀只依賴於I幀,並且可以並行處理。

提出網路模型:圖五展示了所提出的模型的圖解:模型的輸入是I幀,接著是T個P幀。我們輸入的每一個I幀將t設為0,並用CNN建模。

 

I幀的特徵按常規步驟進行打分,P幀的特徵需要融合運動向量特徵和殘差特徵的資訊。比如最大池化、卷積池化、平均池化等融合方法。 我們發現了一個簡單的分數總和就能達到最佳效果, 這為我們提供了一個易於訓練和靈活推理的模型。

結論:本文提出了一種直接用壓縮視訊訓練的深度網路,作者受到的啟發源於觀察:我們可以從多個途徑直接獲得壓縮好的視訊,比如手機相機,或者大部分視訊都是以壓縮的方式直接獲得的,也就是說獲得解壓縮的視訊是不方便的。而且證明了用壓縮視訊不是一種缺點而是有點,畢竟壓縮並不意味著影響人類理解視訊相關內容,其次就是增加了相關性和降低維數使得計算更加有效。

本文的主要的探究點有兩個。一是把MP4視訊格式中I-frame和P-frame的逐幀依賴方式給打破了,這樣跟有利於網路的訓練。另一個是探究多特徵融合,特徵上利用積累的Motion、Residual和I-frame 可以在UCF-101上達到90.8%的精度,遠超I3D 84.5%的精度;再利用上光流可以達到94.9%,也優於I3D的 93.4%。