1. 程式人生 > >[論文閱讀筆記]Two-Stream Convolutional Networks for Action Recognition in Videos

[論文閱讀筆記]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

  • 李飛飛使用堆疊視訊幀作為網路的輸入,結果比人工設計的淺層表示方法還要差。
  • 我們使用了基於時域和空域的兩路識別輸入流,之後再進行結合的網路結構。

    • 空域流從靜止的視訊幀中執行行為識別。
  • 時域流被訓練從而能識別以緊密光流形式存在的運動。

2

  • 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.

      由調整區域性描述符支援區域組成,可以跟隨軌跡,通過光流計算。
  • 3、深度網路
    • 這些工作的大多數,所以模型被希望能夠在第一層學習到時空域基於運動的特徵。
  • 4OURS:
    • 我們的時域流ConvNet基於多幀緊密光流進行操作,該光流是在能量最小化框架通過處理位移場進行計算。

基於Two-stream結構的視訊識別

  • 視訊可以被分為空域和時域組成部分。
    • 空域部分,以單個的視訊幀表象的形式存在,攜帶視訊中的場景和目標資訊
    • 時域部分,以視訊幀間的執行形式存在,傳遞觀察者(相機)和目標的移動。
  • 設計的結構如下圖所示:
    • 每一個輸入流使用一個深度ConvNet,在softmax層之後進行融合,考慮了了兩種融合方案
    • 基於堆疊的L2-規範化的softmax分數作為特徵進行的平均和訓練多分類的線性SVM
      這裡寫圖片描述

3ConvNets

我們的網路模型的輸入為,輸入能夠很好的描述視訊幀間的運動,可以使得識別更加容易。考慮了多種基於光流輸入的變形。

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

4

時域ConvNet需要視訊資料進行訓練,而當前的視訊資料集規模仍然較小。為了防止過擬合,可以採用將兩個資料集融合為1個,但是兩個資料集的分類之間可能存在一些交集,一種選擇是將當前資料集中與第二個資料集不同分類的影象放入第2個數據集中,但是這種方法需要人為查詢,並且限制了資料集的規模。

一個更為有效的融合的方法是基於多工學習。它的目標是學習視訊的表示,從而能夠應對多種任務(多種資料集)。額外的任務作為一個調整,允許利用額外的訓練資料。

在我們的方法中,ConvNet被修改為在最後的全連線層擁有兩個softmax分類層,每一個分類層對應不同的任務(不同的資料集)。每一層擁有損失函式。總的訓練損失為單個任務損失之和,網路的權重可以通過後向傳播演算法得到。
5

ConvNets配置:它對應著CNN-M-2048結構,所有的隱含權重層使用ReLu啟用函式;max-pooling採用3×3空間大小,步長為2;時域和空域的ConvNet唯一的差別在於我們移除了從最後的第二個歸一化層以減少記憶體需求。

訓練:訓練步驟由AlexNet調整而來,對於時域和空域是同樣的。網路權重通過動量為0.9的批處理隨機梯度下降演算法學習得到。每一次迭代,小尺寸的256個樣本通過256個訓練視訊(從不同類中均勻抽樣)抽樣,每一個視訊中一個單幀視訊被隨機獲取。

  • 在空域訓練中,224×224子影象從選擇的幀中隨機裁剪;然後採用隨機的水平翻轉和RGB顏色抖動。視訊預先調整大小,所以幀的最小尺寸等於256。
  • 在時域訓練中,我們計算一個光流輸入流I,固定尺寸224×224×2L的輸入隨機裁剪和翻轉。學習速率初始化設定為102,之後根據固定的步驟下降,所有訓練集保持相同。

測試:給定一個視訊,抽樣得到固定數目(本實驗25)的幀,對於每一個視訊幀,我們可以通過裁剪、翻轉視訊幀四個角和中心區域獲得10個ConvNets。整個視訊的類別得分可以通過平均抽樣視訊的得分得到。

Pre-Training on ImageNet ILSVRC-2012:

Multi-GPU 訓練

Optical Flow:通過從Opencv工具使用現成的GPU執行。

6

Datasets:UCF-101,HMDB-51

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述