儘管端到端的特徵學習已經取得了重要的進展,但是人工設計的光流特徵仍然被廣泛用於各類視頻分析任務中。為了彌補這個不足,由來自騰訊 AI Lab、MIT、清華、史丹福大學的研究者完成併入選 CVPR 2018 Spotlight 論文的一項研究提出了一種能從數據中學習出類光流特徵並且能進行端到端訓練的神經網絡:TVNet。機器之心對本論文進行了摘要介紹,詳情請參閱原論文。另外,該研究成果的 TensorFlow 實現已經發布在 GitHub 上。
論文地址:https://arxiv.org/abs/1804.00413代碼地址:https://github.com/LijieFan/tvnet
圖像分類和目標檢測等基於圖像的任務已經在深度學習(尤其是卷積神經網絡(CNN))的推動下實現了革命性的發展。但是,視頻分析方面的進展卻並不盡如人意,這說明學習時空數據的表徵是非常困難的。我們認為其中主要的難點是:尋找視頻中明顯的運動信息(motion cue)需要某種新型網絡設計,而這些設計尚未被找到和測試。
儘管已經有些研究在嘗試通過在空間和時間維度上同時執行卷積運算來學習特徵,但是人工設計的光流(optical flow)特徵在視頻分析上仍有廣泛和有效的應用。光流,顧名思義,是指兩個連續幀之間的像素位移。因此,將光流應用到視頻理解任務上可以明確而方便地實現運動線索的建模。然而,這種方法很低效,估計光流的計算和存儲成本往往很高。目前成功將光流應用於視頻理解的重要方法之一是 two-stream model [33],其在光流數據上訓練了一個用於學習動作模式的卷積網絡。研究者們已經提出了一些不同的 two-stream model 的擴展,並在動作識別和動作檢測等多種任務上實現了當前最佳水平。
儘管表現出色,但當前的基於光流的方法存在一些顯著缺陷:
訓練是一種雙階段過程。第一個階段是通過基於優化的方法(比如 TVL1 [42])提取每兩個連續幀的光流。第二個階段是基於提取出的光流數據上訓練一個 CNN。這兩個階段是分開的,而且來自第二個階段的信息(比如梯度)無法被用於調節第一個階段的過程。光流提取的空間和時間成本很高。提取出的光流必須寫入到磁碟上,以便訓練和測試。對於包含大約 1 萬段視頻的 UCF101 數據集而言,通過 TVL1 方法提取所有數據的光流需要消耗一個 GPU 一整天時間,而將原來的場作為浮點數來存儲這些光流需要至少 1TB 的存儲空間(為了節省存儲成本,通常需要線性歸一化成 JPEG)。
為了解決上述問題,我們提出了一種全新的神經網絡設計,可以端到端的方式學習類光流的特徵。這個名叫 TVNet 的網絡是通過模仿和展開 TV-L1 的迭代優化過程而獲得的。尤其值得一提的是,我們將 TV-L1 方法中的迭代形式化為了神經網絡的自定義層。因此,我們的 TVNet 的設定基礎良好,無需任何額外訓練就能直接被使用。
此外,我們的 TVNet 是可以端到端地訓練的,因此可以自然地連接到特定任務的網絡上(比如動作分類網絡),進而實現「更深度」的可端到端訓練的架構。因此,無需再預計算或存儲光流特徵。
最後,通過執行端到端學習,被初始化為標準的光流特徵提取器的 TVNet 的權重可以得到進一步的調節。這讓我們可以發現更豐富且更針對任務的特徵(相比於原始的光流),從而實現更優的表現。
為了驗證我們提出的架構的有效性,我們在兩個動作識別基準(HMDB51 和 UCF101)上執行了實驗,比較了我們提出的 TVNet 和幾種互相競爭的方法。
總體而言,本論文有以下貢獻:
我們通過將 TV-L1 方法的迭代展開成自定義的神經層,開發了一種學習視頻中的運動的全新神經網絡。這個網絡名叫 TVNet,具有良好的初始化。儘管我們提出的 TVNet 是以特定的 TV-L1 架構初始化的,但相比於標準的光流,它可以在進一步微調之後學習到更豐富和更面向任務的特徵。相比於其它動作表徵學習的方法(比如 TV-L1、FlowNet2.0 和 3D Convnets),我們的 TVNet 在兩個動作識別基準上實現了更優的準確度,即在 HMDB51 上實現了 72.6% 的準確度、在 UCF101 上實現了 95.4% 的準確度。
算法 1:用於光流提取的 TV-L1 方法
圖 1:由 TV-L1、TVNet(無訓練)、TVNet(有訓練)得到的類光流運動特徵的可視化結果
圖 2:(a)將 TV-L1 展開成 TVNet 的過程示意圖。對於 TV-L1,我們只描述了算法 1 中的單次迭代。我們將 TV-L1 中的雙三次翹曲(bicubic warping)、梯度和散度計算重新形式化為了 TVNet 中的雙線性翹曲(bilinear warping)和卷積運算。(b)用於動作識別的端到端模型。
圖 3:TV-L1 和 TVNet-50 在 MiddleBurry 上估計得到的光流示例。經過訓練後,TVNet-50 可以提取出比 TV-L1 更精細的特徵。
表 3:在 HMDB51 和 UCF101 上的各種運動描述器的分類準確度。上面一部分是之前最佳的動作表徵方法的結果;中間一部分給出了 4 種基準方法的準確度;下面的結果表明我們的 TVNet-50 模型在這兩個數據集上都得到了最佳表現。
表 4:在 HMDB51 和 UCF101 上的平均分類準確度
圖 4:TV-L1 和 TVNet-50 在 UCF101 數據集上得到的運動特徵。從第一列到最後一列,我們分別展示了輸入圖像對(僅第一張圖像)、TV-L1 得到的運動特徵、無訓練和有訓練的 TVNet-50 得到的運動特徵。有意思的是,使用訓練後,TVNet-50 可以得到比 TV-L1 及 TVNet-50 的非訓練版本更抽象的運動特徵。這些特徵不僅自動移除了背景的運動(參見「punch」示例),而且還捕捉到了運動物體的輪廓。
論文:用於視頻理解的運動表徵的端到端學習(End-to-End Learning of Motion Representation for Video Understanding)
儘管端到端學習的表徵近來取得了成功,但視頻分析任務廣泛使用的仍然還是人工設計的光流特徵。為了彌補這一不足,我們提出了一種全新的可端到端訓練的神經網絡 TVNet,可從數據中學習類光流特徵。TVNet 是一種特定的光流求解器 TV-L1 方法,並且通過將 TV-L1 中的優化迭代展開成神經層而進行了初始化。因此,TVNet 無需任何額外訓練就能直接使用。此外,它還可以自然地嫁接到其它特定任務的網絡上,從而得到端到端的架構;因此,這種方法無需預計算和在磁碟上預存儲特徵,比之前的多階段方法更加高效。最後,TVNet 的參數可以通過端到端訓練進一步優化。這讓 TVNet 不僅可以學習光流,而且還可以學習到更豐富的且更針對任務的動作模式。我們在兩個動作識別基準上進行了廣泛的實驗,結果表明了我們提出的方法的有效性。我們的 TVNet 實現了比所有同類方法更優的準確度,同時在特徵提取時間方面也能與最快的同類方法媲美。