論文的三個貢獻
(1)提出了two-stream結構的CNN,由空間和時間兩個維度的網絡組成。
(2)使用多幀的密集光流場作為訓練輸入,可以提取動作的信息。
(3)利用了多任務訓練的方法把兩個數據集聯合起來。
Two stream結構
視屏可以分成空間與時間兩個部分,空間部分指獨立幀的表面信息,關於物體、場景等;而時間部分信息指幀間的光流,攜帶着幀之間的運動信息。相應的,所提出的網絡結構由兩個深度網絡組成,分別處理時間與空間的維度。
可以看到,每個深度網絡都會輸出一個softmax層,最后會通過一種方法把兩個softmax層的輸出融合:一種是平均層,一種是訓練一個以這些softmax輸出作為特征的SVM。
空間卷積網絡
網絡的輸入是單幀,這樣的分類網絡其實有很多,例如AlexNext,GoogLeNet等,可以現在imageNet上預訓練,再進行參數遷移。
光流場卷積網絡(時間維度網絡)
光流場卷積網絡的輸入是 stacking optical flow displacement fields between several consecutive frames(不會翻譯……),就是多層兩幀間的光流場,可以從上圖看出。因為光流場可以描述物體的運動信息。
簡單光流場疊加
方法是計算每兩幀間的光流,簡單地疊加在一起。假設需要追蹤L+1幀(會產生L幀的光流),那么會把光流分解成X,Y兩個方向的光流,這時會有2L個通道。
軌跡追蹤光流疊加
假設一幀的像素點,可以通過光流來追蹤它在視頻中的軌跡點,從而計算它在每一幀的相應位置的光流向量。同樣的會把光流分解成X,Y兩個方向的光流,這時會有2L個通道。
對於這種方法,我想到DT的論文中談到的一個問題就是:像素點的“漂移”,這很可能會出現在追蹤多幀之后。猜想的是,這個L幀應該不是指訓練視頻的所有幀,這種方法可以很好地區分出前景和背景。
減去平均光流
這主要是為了消去攝像頭運動引起的相對運動。
多任務訓練
對於空間卷積網絡,因為它輸入的只是圖像,而且只是一個分類網絡,它有大量的數據集可供預訓練,這是為了應對過擬合的問題。
但是對於時間卷積網絡,可供訓練的視頻集很少。作者使用多任務訓練的方法,提供兩個softmax輸出層,但網絡只有一個。論文的依據是,提供兩個softmax輸出層相當於正則化的過程。這樣融合兩個數據集對網絡進行訓練時,其中一個softmax層對其中一個數據集的視頻進行分類,另一個softmax層對另一個數據集進行分類,在最后BP算法時,把兩個softmax層的輸出加和,作為總的誤差執行BP算法更新網絡的權值。
一些細節問題
1、計算光流是預處理后保存的,因為這會影響網絡的速度。
2、測試時,對於一個輸入視頻,隨機抽樣固定數的幀,它們的時間維度間隔是一樣的。對於每幀,又計算它的光流場疊加。而每一幀又會在不同的位置采樣,對於一個視頻的誤差,就是總的誤差的平均。