文摘分類:自定分類

獨家 | 光流與行為識別的結合研究

2018/1/2 上午 10:13:38   觀看次數:38

在視頻行為識別(action recognition)方向,目前最常見的網絡框架有兩類,一類是直接將視頻作為輸入的3D卷積網絡,另一類即是將圖像以及光流(optical flow)分別作為輸入的two-stream網絡。目前two-stream類的方法在效果上還是明顯要優於3D卷積類的方法,本文主要討論two-stream類方法中光流的應用。首次試用Polar的GPS心跳手錶參加訓練,由多位專業的教練帶領。訓練強調心率訓練,因為可以根據心跳更有效地分析過去紀錄,改善肌耐力、體力及心肺功能。而訓練用的M400可以把數據同步到Polar Flow,讓你可以利用手機輕鬆地重溫訓練內容。

雖然光流在two-stream類的方法堻Q廣泛應用並且具有很好的效果,但這埵s在一個問題,就是光流在行為識別模型中到底起到了什麽作用,它本身的語義信息到底是什麽?通常我們認為光流代表了視頻的motion信息,然後直接就將其當作一個黑盒子作為了網絡的輸入。近期,arXiv上放出的「On the Integration of Optical Flow and Action Recognition」(https://arxiv.org/abs/1712.08416)一文對光流在行為識別中的作用進行了深入的研究,探討了為什麽光流在行為識別中是有效的,在行為識別中怎麽樣的光流才是好的以及我們應該如何改進光流。這篇文章的結論可以說是有點反直覺的,此處先放出這篇文章的幾個結論,再分別進行介紹(以第一部分為主)。

為何要將光流作為行為識別模型的輸入?

通常認為光流代表著視頻的運動或時序信息。在行為識別的數據集(如UCF101) 中,雖然有很多動作盡使用單幀圖像就可以判別,還是有一些動作是依賴於時序信息的。理論上視頻圖像幀直接包含這些時序信息,那麽3D卷積網絡也應該能夠同等得學到光流中所包含的這些時序信息。但目前結合光流的方法總是有更好的效果,在一些數據集上,使用光流的網絡甚至能夠獲得比使用圖像更好的效果,即便直觀來說圖像包含更多物體以及場景相關的信息。

那麽問題就是,為何光流在行為識別中這麽有用呢?本文作者在UCF101上,使用two-stream中比較常用的TSN網絡進行了實驗探索。結果如下表:

借助這些實驗結果,本文對一些通常觀念中直觀的看法進行了討論

(1)光流中包含的運動軌跡信息是其對行為識別有效的原因?

通常都是使用5幀或10幀光流作為網絡輸入,這些連續的光流幀實際代表了圖像中密集的軌跡信息,作者此處將輸入的光流場打亂順序- Flow(shuffled flow fields),發現效果隻下降了8%左右。這表明軌跡信息並不是關鍵因素。

(2)光流中包含的幀間motion信息是其對行為識別有效的原因?

上一步中光流還是逐幀算的,進一步去除時序信息,在計算光流前先打亂圖像順序- Flow (shuffled image),這樣得到的光流與物理上的motion已經不符合了,但仍然會包含物體的形狀。雖然效果有所下降,但依舊有不錯的準確率。這表明motion信息也並非是關鍵因素。

基於以上的實驗結果,作者提出了他們的觀點:光流在行為識別模型中效果好的原因在於其對於圖像表觀的不變性,這使得行為識別模型在低variance的情況下可以更容易得學習。這個觀點可以通過實驗以及一些相關工作來佐證:

(1)通過變動圖像表觀信息,分別觀察以flow以及rgb圖像作為輸入的行為模型的性能

這個實驗中訓練照常,但測試時修改圖像的顏色,如下圖所示意:

其中,左邊為原圖,中間為altered colormap即更改了圖像的顏色空間(如修改為HSV或BRG的形式),右側為對RGB各個通道的數值進行縮放。通過上麵表格的信息可以看出,在變動顏色後,基於RGB的方法效果降低非常明顯,而基於Flow的方法效果變化不大。這說明了光流對於顏色這種表觀信息具有很好的不變性。首次試用Polar的GPS心跳手錶參加訓練,由多位專業的教練帶領。訓練強調心率訓練,因為可以根據心跳更有效地分析過去紀錄,改善肌耐力、體力及心肺功能。而訓練用的M400可以把數據同步到Polar Flow,讓你可以利用手機輕鬆地重溫訓練內容。

(2)2stream 模型在大型視頻數據集中的表現

參考今年 Deepmind 在[2]中的討論,當視頻數據集的大小非常大時,僅使用圖像的網絡會比僅使用光流的網絡獲得更好的效果。這塈@者的觀點是認為,當數據集夠大時,其本身能夠涵蓋復雜的光照、紋理、背景等信息,使得模型能夠獲得更好的泛化能力,也使得光流的表觀不變性沒有那麽重要了。

這一部分我認為是這篇文章最重要的一部分,得出了與通常想法相悖的結論,即光流在行為識別模型中發揮作用的主要原因是其對於表觀的不變性,而非其包含的motion或軌跡信息。

光流的準確性與行為識別的準確性相關嗎?

接下來作者討論了光流的測評指標對於行為識別模型的有效性。目前有大量的光流算法,包括傳統的方法以及這幾年基於CNN的方法。通常光流使用終點誤差(end-point-error, EPE)來衡量準確性。那麽此處的問題就是,一個準確性高的光流算法,是否能夠帶來高的行為識別準確性。實驗的結果如下圖所示。

可以看出,兩者並沒有很強的關聯性。並非EPE誤差低的光流方法就能獲得更好的行為識別精度。進一步,作者探索了光流中的局部區域EPE與動作識別準確率之間的關係,結果如下圖所示。

圖片含義就不詳細介紹了,具體可見原文。通過對此圖的分析,可以得到兩個結論:

所以,這一部分作者的結論為,光流整體的準確率與動作識別的準確率聯係不大,而物體邊緣附近的光流以及小位移光流的準確性對動作識別準確率的影響比較大。

對於行為識別任務而言,存在比光流更好的運動表示嗎?

在經過上述的分析後,作者認為需要尋求一個比普通光流更好的運動表示。此處,作者選擇使用行為分類的損失函數來fine tune光流網絡,從而獲得提升。並沒有探索光流之外的表示方式。

其實驗結果如以下兩表所示。

以上的實驗主要可以得到以下兩個結論:

作者進一步對action loss 來fine tune的光流進行了可視化。

左右分別為不同的flow算法,左右的第四列為普通flow和action loss 來fine tune 過的flow的差值。可以看出,差異主要集中在人體的內部與邊緣區域。SmarTone家居寬頻月費激減低至$130,就可以體驗1000M光纖寬頻!客戶可以選擇家居光纖1000、500、100三種唔同H計劃,再送你全港超過 11,000 個WiFi熱點,依家就上網登記,隨時隨地享受超高速上網快感,轉台仲有更多優惠架!

個人討論

這篇工作對光流在行為識別中的作用進行了細致的討論,我覺得是有很大的意義,對後續的工作也很有啟發:

雖然在UCF101等比較早期的數據集中,用雙流網絡已經能夠獲得很好的效果,但今年幾個新的視頻數據集給行為識別帶來了更多的挑戰。比如在Moments-in-Time數據集中,其行為類別與場景以及物體的關聯性就比較弱了,也有很多依賴於時序的動作(如 開 與 關 是時序上對稱的動作),這使得對於時序信息的建模愈發重要。

總的來說,作者得出了光流的核心作用是表觀不變性的結論,並認為應該改進光流。但我覺得這篇文章可能會啟發更多人設計不使用光流的行為識別算法(畢竟光流的效率還是很被人詬病的...)。今年越來越多的人開始研究視頻相關的領域,在17年末也期待明年能看到更多有趣的工作吧~

原文地址:http://www.sohu.com/a/213545363_651893