論文筆記之TSN

基於長範圍時間結構(long-range temporal structure)建模,結合了稀疏時間採樣策略(sparse temporal sampling strategy)和視頻級監督(video-level supervision)來保證使用整段視頻時學習得有效和高效。
被ECCV2016接收
論文地址:https://arxiv.org/pdf/1608.00859.pdf

1.摘要

深卷積網絡在靜止圖像的視覺識別中取得了巨大的成功。然而,對於視頻中的動作識別,相對於傳統方法的優勢並不明顯。本文旨在探索視頻中動作識別的高效ConvNet體系結構的設計原則,並在有限的訓練樣本下學習這些模型。

主要貢獻:

  • 時間段網絡(TSN),一種新的基於視頻的動作識別框架。基於遠程時間結構建模的思想。它結合了稀疏時間採樣策略和視頻級監控,使能夠使用整個動作視頻進行高效的有效的學習。
  • 研究了一系列利用TSN學習視頻數據卷積網絡的良好實踐。

TSN實際上是Two-Stream方法的升級版,在此基礎上,文章要解決兩個問題:1)how to design an effective and efficient video-level framework for learning video representation that is able to capture long-range temporal structure; 2) how to learn the ConvNet models given limited training samples. 也就是說一個是解決長時間視頻的行爲判斷問題(有些視頻的動作時間較長);一個是解決數據少的問題,數據量少會使得一些深層的網絡難以應用到視頻數據中,因爲過擬合會比較嚴重。

對第一個問題,首先,爲什麼目前的two stream結構的網絡難以學習到long-range temporal structure?因爲其針對的主要是single frame或a single stack of frames in a short snippet的數據,但這對於時間跨度較長的視頻動作檢測而言是不夠的。因此採用dense temporal sampling的方式來獲取long-range temporal structure是比較常用的方法,但是作者發現視頻的連續幀之間存在冗餘,因此用sparse temporal sampling代替dense temporal sampling,也就是說在對視頻做抽幀的時候採取較爲稀疏的抽幀方式,這樣可以去除一些冗餘信息,同時降低了計算量。

針對第二個問題,可通過常規的data argument(random crop,horizontal flip,corner crop,scale jitter);regularization;還有作者提到的cross-modality pre-training,dropout等方式來減少過擬合。

2.相關工作

動作識別在過去幾年中得到了廣泛的研究,以往的研究工作分爲兩類:(1)卷積網絡的動作識別,(2)時間結構建模。

用於動作識別的卷積網絡

Karpathy等人在一個大數據集(Sports-1M)上測試了具有深層結構的ConvNets。Simonyan等人利用ImageNet數據集進行預訓練,計算光流量,設計了包含時空網絡的雙流convnet,實現了運動信息的顯式捕獲。Tran等人在真實和大規模視頻數據集上探索3D ConvNets,他們試圖通過3D卷積操作學習外觀和運動特徵。Sun等人設計出了一種分解時空轉換網,並利用不同的方法分解三維卷積核。

近年來,一些研究集中在用ConvNets建模遠程時間結構上。然而,這些方法直接在較長的連續視頻流上操作。由於計算量的限制,這些方法通常處理64幀到120幀不等的固定長度序列。由於時間覆蓋的限制,這些方法從整個視頻中學習是非常重要的。

我們的方法是從這些端到端的深度轉換網絡中分離出來的,它採用了一種新的稀疏時間採樣策略,使得在不受序列長度限制的情況下,能夠利用整個視頻進行有效的學習。

時間結構建模。

蓋登等人爲每個視頻標註每個原子動作,並提出動作檢測的Actom序列模型(ASM)。Niebles等人提出利用隱變量對複雜動作的時間分解進行建模,並藉助支持向量機對模型參數進行迭代學習。Wang等人以及Pirsiavash等人使用潛在層次模型(LHM)和分段語法模型(SGM)將複雜動作的時間分解擴展爲層次化方式。王等人設計了一個序列骨架模型(SSM)來捕捉動態poselets之間的關係,並進行時空動作檢測。費爾南多建立了BoVW動作識別表徵的時間演化模型。

然而,這些方法仍然無法組裝用於建模時序結構的端到端學習方案。本文提出的時態分段網絡,在強調這一原則的同時,也是對整個視頻進行端到端時態結構建模的第一個框架。

3. 本文方法

3.1 網絡結構

在這裏插入圖片描述
目前雙流網絡存在的一個明顯問題是無法對長時間結構進行建模。這主要是因爲它們對時間上下文的訪問有限,因爲它們被設計成只在一個幀(空間網絡)上操作,或在一個短片段(時間網絡)中操作一個幀堆棧。然而,複雜的動作,如體育動作,包含了跨越相對較長時間的多個階段。如果不能在ConvNet訓練中利用這些動作的長時程結構,那將是一個巨大的損失。

爲了解決這個問題,本文提出了時態分段網絡,如圖1所示,以便能夠在整個視頻中建模動態。具體來說,TSN旨在利用整個視頻的視覺信息進行視頻級預測,TSN也由空間流ConvNets和時間流ConvNets組成。

TSN不是處理單個幀或幀堆棧,而是對從整個視頻中稀疏採樣的一系列短片段進行操作。這個序列中的每個片段都將產生自己的動作類的初步預測。然後將片段之間的一致性作爲視頻級預測。在學習過程中,通過迭代更新模型參數來優化視頻級預測的損失值,而不是用於雙流convnet的片段級預測的損失值。

具體來說,給定一個視頻V,我們把它分成K段:S1,S2,…,Sk,其持續時間相等。然後,TSN將片段序列建模如下:
在這裏插入圖片描述
其中:

  • (T1,T2,…,TK)是一個片段序列。每個片段Tk從其對應的片段Sk中隨機採樣。
  • F(Tk,W)是一個函數,它用參數W表示ConvNet,參數W對短片段Tk進行操作,併爲所有類生成類分數。
  • 段共識函數G將多個短片段的輸出結合起來,得到它們之間的類假設一致性。
  • 基於這一共識,預測函數H預測整個視頻的每個動作類的概率。在這裏,本文選擇了H的廣泛使用的Softmax函數。
  • 再結合標準分類交叉熵損失,分段共識G的損失函數如下:
    在這裏插入圖片描述
    其中C是動作類的個數,yi是關於類i的基本真值標籤。在實驗中,K的個數被設置爲3。共識函數G的形式使用G的最簡單形式,其中在這裏插入圖片描述。在這裏,使用聚合函數g,從所有片段上的同一類分數推斷出類分數Gi。本文對聚合函數g的幾種不同形式進行了經驗評估,包括均勻平均、最大值和加權平均。最終,使用的是均勻平均。

根據g的選擇,TSN是可微的,或者至少有次梯度。這使得我們可以利用多個片段聯合使用標準的反向傳播算法來優化模型參數W。在反向傳播過程中,模型參數的梯度關於損失值,W可以導出:
在這裏插入圖片描述
其中K是TSN使用的段數。當我們使用基於梯度的優化方法,如隨機梯度下降(SGD)來學習模型參數時,上面的等式保證了參數更新是利用從所有片段級預測中得到的分段一致性G。以這種方式優化,TSN可以從整個視頻而不是一個短片段中學習模型參數。同時,通過對所有視頻的 K,作者提出了一個稀疏的時間採樣策略,其中採樣片段只包含一小部分幀。與以前使用密集採樣幀的工作相比,它大大降低了在幀上評估convnet的計算成本。

3.2 學習TSN

爲了達到最佳表現,一些好的實踐如下:

網絡結構
一些工作表明更深的結構可以提升物體識別的表現。然而,two-stream網絡採用了相對較淺的網絡結構(ClarifaiNet)。本文選擇BN-Inception (Inception with Batch Normalization)構建模塊,由於它在準確率和效率之間有比較好的平衡。作者將原始的BN-Inception架構適應於two-stream架構,和原始two-stream卷積網絡相同,空間流卷積網絡操作單一RGB圖像,時間流卷積網絡將一堆連續的光流場作爲輸入。

網絡輸入
TSN通過探索更多的輸入模式來提高辨別力。除了像two-stream那樣,空間流卷積網絡操作單一RGB圖像,時間流卷積網絡將一堆連續的光流場作爲輸入,作者提出了兩種額外的輸入模式:RGB差異(RGB difference)和扭曲的光流場(warped optical flow fields)。
在這裏插入圖片描述
單一RGB圖像表徵特定時間點的靜態信息,從而缺少上下文信息。如上圖2所示,兩個連續幀的RGB差異表示動作的改變,對應於運動顯著區域。故試驗將RGB差異堆作爲另一個輸入模式。

TSN將光流場作爲輸入,致力於捕獲運動信息。在現實拍攝的視頻中,通常存在攝像機的運動,這樣光流場就不是單純體現出人類行爲。如上圖2所示,由於相機的移動,視頻背景中存在大量的水平運動。受到iDT(improved dense trajectories)工作的啓發,作者提出將扭曲的光流場作爲額外的輸入。通過估計單應性矩陣(homography matrix)和補償相機運動來提取扭曲光流場。如圖2所示,扭曲光流場抑制了背景運動,使得專注於視頻中的人物運動。

網絡訓練
由於行爲檢測的數據集相對較小,訓練時有過擬合的風險,爲了緩解這個問題,作者設計了幾個訓練策略。

(1)交叉輸入模式預訓練
空間網絡以RGB圖像作爲輸入:故採用在ImageNet上預訓練的模型做初始化。對於其他輸入模式(比如:RGB差異和光流場),它們基本上捕捉視頻數據的不同視覺方面,並且它們的分佈不同於RGB圖像的分佈。作者提出了交叉模式預訓練技術:利用RGB模型初始化時間網絡。

首先,通過線性變換將光流場離散到從0到255的區間,這使得光流場的範圍和RGB圖像相同。然後,修改RGB模型第一個卷積層的權重來處理光流場的輸入。具體來說,就是對RGB通道上的權重進行平均,並根據時間網絡輸入的通道數量複製這個平均值。這一策略對時間網絡中降低過擬合非常有效。

(2)正則化技術
在學習過程中,Batch Normalization將估計每個batch內的激活均值和方差,並使用它們將這些激活值轉換爲標準高斯分佈。這一操作雖可以加快訓練的收斂速度,但由於要從有限數量的訓練樣本中對激活分佈的偏移量進行估計,也會導致過擬合問題。因此,在用預訓練模型初始化後,凍結所有Batch Normalization層的均值和方差參數,但第一個標準化層除外。由於光流的分佈和RGB圖像的分佈不同,第一個卷積層的激活值將有不同的分佈,於是,我們需要重新估計的均值和方差,稱這種策略爲部分BN。與此同時,在BN-Inception的全局pooling層後添加一個額外的dropout層,來進一步降低過擬合的影響。dropout比例設置:空間流卷積網絡設置爲0.8,時間流卷積網絡設置爲0.7。

(3)數據增強
數據增強能產生不同的訓練樣本並且可以防止嚴重的過擬合。在傳統的two-stream中,採用隨機裁剪和水平翻轉方法增加訓練樣本。作者採用兩個新方法:角裁剪(corner cropping)和尺度抖動(scale-jittering)。

角裁剪(corner cropping):僅從圖片的邊角或中心提取區域,來避免默認關注圖片的中心。

尺度抖動(scale jittering):將輸入圖像或者光流場的大小固定爲 256×340256×340,裁剪區域的寬和高隨機從 {256,224,192,168}{256,224,192,168} 中選擇。最終,這些裁剪區域將會被resize到 224×224224×224 用於網絡訓練。事實上,這種方法不光包括了尺度抖動,還包括了寬高比抖動。

3.3測試TSN

由於在TSN中片段級的卷積網絡共享模型參數,所以學習到的模型可以進行幀評估。具體來說,作者採用與two-stream相同的測試方案——即從動作視頻中採樣25個RGB幀或光流堆。同時,從採樣得到的幀中裁剪4個邊角和1箇中心以及它們的水平翻轉來評估卷積網絡。

空間和時間流網絡採用加權平均的方式進行融合。相比於two-strean,TSN中空間流卷積網絡和時間流卷積網絡的性能差距大大縮小。基於此,設置空間流的權重爲1,設置時間流的權重爲1.5。當正常和扭曲光流場都使用時,將其權重1.5分出1給正常光流場,0.5給扭曲光流場。

在TSN部分說過,段共識函數在Softmax歸一化之前。爲了根據訓練測試模型,在Softmax之前融合了25幀和不同流的預測分數。

4. 實驗

(1)不同輸入模式的表現
在這裏插入圖片描述
(2)不同訓練策略的比較
在這裏插入圖片描述
(3)不同段共識函數的比較
在這裏插入圖片描述
(4)不同深度卷積神經網絡的比較
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章