[論文閱讀筆記]Two-Stream Convolutional Networks for Action Recognition in Videos
Karen Simonyan Andrew Zisserman
Visual Geometry Group, University of Oxford
fkaren,[email protected]
- 提出了結合空域和時域網路的two_stream卷積網路結構。
- 驗證了即使在較小規模的訓練資料集上,在多幀稠密光流上訓練的卷積神經網路可以獲得非常好的效能。
- 展示了多工學習(multiple learning),應用於不同的運動分類資料集,可以同時提升資料集的規模和檢測效能。
- 李飛飛使用堆疊視訊幀作為網路的輸入,結果比人工設計的淺層表示方法還要差。
我們使用了基於時域和空域的兩路識別輸入流,之後再進行結合的網路結構。
- 空域流從靜止的視訊幀中執行行為識別。
時域流被訓練從而能識別以緊密光流形式存在的運動。
- 1、shallow high-dimensional encoding of local spatio-temporal features(基於時空域特徵的淺層高維編碼)
- HOG (Histogram of Oriented Gradients)
- HOF (Histogram of Optical Flow)
提取的特徵被編碼為BOF(特徵詞袋)表示,並且集合SVM線性分類器
- 2、dense point trajectories
- H. Wang, A. Kl¨aser, C. Schmid, and C.-L. Liu. Action recognition by dense trajectories. In Proc. CVPR,pages 3169–3176, 2011.
首
由調整區域性描述符支援區域組成,可以跟隨軌跡,通過光流計算。
- H. Wang, A. Kl¨aser, C. Schmid, and C.-L. Liu. Action recognition by dense trajectories. In Proc. CVPR,pages 3169–3176, 2011.
- 3、深度網路
- 這些工作的大多數,
網絡的輸入為堆疊的連續的視頻幀, 所以模型被希望能夠在第一層學習到時空域基於運動的特徵。
- 這些工作的大多數,
4、OURS:
- 我們的時域流ConvNet基於多幀緊密光流進行操作,該光流是在能量最小化框架通過處理位移場進行計算。
基於Two-stream結構的視訊識別
- 視訊可以被分為空域和時域組成部分。
- 空域部分,以單個的視訊幀表象的形式存在,攜帶視訊中的場景和目標資訊
- 時域部分,以視訊幀間的執行形式存在,傳遞觀察者(相機)和目標的移動。
- 設計的結構如下圖所示:
- 每一個輸入流使用一個深度ConvNet,在softmax層之後進行融合,考慮了了兩種融合方案
- 基於堆疊的L2-規範化的softmax分數作為特徵進行的平均和訓練多分類的線性SVM
我們的網路模型的輸入為
3.1ConvNet 輸入配置
- Optical flow stacking
- 連續的視訊幀對t和t+1,一個緊密的光流可以寫成位移向量場的集合
-
dt(u,v) 記為幀t在點(u,v)的位移向量,表示使這個點移動到下一幀t+1的對應點。 - 位移場的水平和垂直部分
dxt,dyt 可以被認為是影象的通道。
- trajectory stacking
- 在運動軌跡線上進行抽樣
- 在運動軌跡線上進行抽樣
Optical flow stacking 方法儲存的是位置(u,v)的位移向量;
trajectory stacking方法儲存的是在順著軌跡線位於位置的向量
兩種方法如下圖所示:
- Bi-directional optical flow:
雙向的位移向量。 Mean flow subtraction
對網路的輸入使用0中心化,能夠使網路更好地利用relu。在我們的方案中,x方向和y方向的位移向量場都可以是正值或者負值。
結構
224×224×2L
時域ConvNet需要視訊資料進行訓練,而當前的視訊資料集規模仍然較小。為了防止過擬合,可以採用將兩個資料集融合為1個,但是兩個資料集的分類之間可能存在一些交集,一種選擇是將當前資料集中與第二個資料集不同分類的影象放入第2個數據集中,但是這種方法需要人為查詢,並且限制了資料集的規模。
一個更為有效的融合的方法是基於多工學習。它的目標是學習視訊的表示,從而能夠應對多種任務(多種資料集)。額外的任務作為一個調整,允許利用額外的訓練資料。
在我們的方法中,ConvNet被修改為在最後的全連線層擁有兩個softmax分類層,每一個分類層對應不同的任務(不同的資料集)。每一層擁有損失函式。總的訓練損失為單個任務損失之和,網路的權重可以通過後向傳播演算法得到。
ConvNets配置:它對應著CNN-M-2048結構,所有的隱含權重層使用ReLu啟用函式;max-pooling採用
訓練:訓練步驟由AlexNet調整而來,對於時域和空域是同樣的。網路權重通過動量為0.9的批處理隨機梯度下降演算法學習得到。每一次迭代,小尺寸的256個樣本通過256個訓練視訊(從不同類中均勻抽樣)抽樣,每一個視訊中一個單幀視訊被隨機獲取。
- 在空域訓練中,
224×224 子影象從選擇的幀中隨機裁剪;然後採用隨機的水平翻轉和RGB顏色抖動。視訊預先調整大小,所以幀的最小尺寸等於256。 - 在時域訓練中,我們計算一個光流輸入流I,固定尺寸
224×224×2L 的輸入隨機裁剪和翻轉。學習速率初始化設定為10−2 ,之後根據固定的步驟下降,所有訓練集保持相同。
測試:給定一個視訊,抽樣得到固定數目(本實驗25)的幀,對於每一個視訊幀,我們可以通過裁剪、翻轉視訊幀四個角和中心區域獲得10個ConvNets。整個視訊的類別得分可以通過平均抽樣視訊的得分得到。
Pre-Training on ImageNet ILSVRC-2012:
Multi-GPU 訓練
Optical Flow:通過從Opencv工具使用現成的GPU執行。
Datasets:UCF-101,HMDB-51