論文鏈接:Two-Stream Convolutional Networks for Action Recognition in Videos
文章由牛津大學(xué)VGG實(shí)驗(yàn)室提出,收錄于NIPS2014。
該文章認(rèn)為視頻的信息可以分為空間信息和時間信息,所以該文章提出了一種利用普通rgb圖像(代表空間信息)和光流信息(代表時間信息)來解決視頻的動作分類問題。
首先需要了解什么是光流,請看博客《光流估計——從傳統(tǒng)方法到深度學(xué)習(xí)》
一、網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)有兩種輸入,一種是代表空間信息的視頻幀,一種是代表時間信息的特征幀。所以網(wǎng)絡(luò)也由兩種深度網(wǎng)絡(luò)組成,兩個網(wǎng)絡(luò)都是由CNN加softmax組成。最后的輸出也有兩種形式:兩個網(wǎng)絡(luò)softmax輸出的平均值、在兩個網(wǎng)絡(luò)softmax輸出結(jié)果堆疊的基礎(chǔ)上訓(xùn)練一個SVM。
對于空間網(wǎng)絡(luò)(輸入為普通rgb圖片的網(wǎng)絡(luò))來說,輸入的是大小為的圖像。
對于時間網(wǎng)絡(luò)(輸入為光流信息的網(wǎng)絡(luò))來說,輸入的是大小為的光流棧。

上述講到光流網(wǎng)絡(luò)由代表時間信息的特征幀作為輸入,文章實(shí)際上討論了四種輸入形式
討論時序特征之前還需要定義一個目前在雙流系列網(wǎng)絡(luò)經(jīng)常會用到的術(shù)語,叫snippet,一個snippet由一幀圖像幀和幾幀光流幀組成
光流棧
計算每兩幀之間的光流,將多幀光流堆疊起來形成網(wǎng)絡(luò)的輸入。因?yàn)楣饬靼瑑蓚€方向,所以每個光流場是包含x和y方向兩個通道的特征圖。對于將L個連續(xù)光流幀作為輸入,那么網(wǎng)絡(luò)的輸入通道數(shù)為2L,即,
表示第
個輸入網(wǎng)絡(luò)的光流棧,用snippet來說的話就是第
個snippet的光流輸入。
光流棧中的某兩個光流幀在坐標(biāo)點(diǎn)(u,v)位置的值可以用公式表示如下:
上面w,h為圖像大小,L為輸入的光流??値瑪?shù)。
軌跡疊加
軌跡疊加就是假設(shè)第一幀的某個像素點(diǎn),我們可以通過光流來追蹤它在視頻中的軌跡。而簡單的光流場疊加并沒有追蹤。光流和軌跡的區(qū)別如下圖所示。

軌跡特征使用公式表示如下,類似于光流表示:
上式中表示在第一個以(u,v)點(diǎn)為起始點(diǎn),在特征棧中第k幀的坐標(biāo)點(diǎn)位置(即原始的(u,v)點(diǎn)經(jīng)過k幀后到達(dá)的點(diǎn)位置),上式中d表示光流信息,其它同光流。
的計算公式如下:
通俗來說就是從初始位置(u,v)開始根據(jù)光流信息計算出來的在k幀到達(dá)的位置。
雙向光流
上述講的都是單向光流,即以某一幀為初始幀,計算后面的光流。雙向光流是以當(dāng)前幀為中間幀,光流場來源于前面幾幀和后面幾幀計算出的光流的疊加。
減去平均值光流
為了減少攝像機(jī)拍攝時本身的運(yùn)動帶來的影響,輸入光流之前減去平均的光流作為網(wǎng)絡(luò)的輸入。
該文章的原理就是這些,具體實(shí)驗(yàn)請參考原文。