Optical Flow Estimation using a Spatial Pyramid Network
spynet
本文將經典的 spatial-pyramid formulation 和 deep learning 的方法相結合,以一種 coarse to fine approach,進行光流的計算。This estiamates large motions in a coarse to fine approach by warping one image of a pair at each pyramid level by the current flow estimate and compute an update to the flow.
我們利用 CNN 來進行每一層 flow 的更新,而不是傳統方法中目標函數的最小化。與 FlowNet 相比,本文的方法不需要處理 large motions;這些已經在 pyramid 中處理了。該方法的主要優勢有:
1. our Spatial Pyramid Network is much simpler and 96% smaller than FlowNet in terms of model parameters.
2. since the flow at each pyramid level is small (< 1 pixel), a convolutional approach applied to pairs of warped images is appropriate.
3. unlike FlowNet, the learned convolution filters appear similar to classical spatio-temporal filters, giving insight into the method and how to improve it.
現有方法存在的 主要問題:
將兩張圖直接 stack大一起,放到 CNN 當中。當兩幀圖像之間的 motion 大於 one or a few pixels, spatial-temporal convolutional filters 將不會收到有效的相應。也就是說,if a convolutional window in one image does not overlap with related image pixels at the next time instant, no meaningful temporal filter can be learned.
這里需要解決兩個關鍵性的問題:1. 長期依賴的問題; 2. detailed, sub-pixel, optical flow and precise motion boundaries。FlowNet 是嘗試在一個網絡中解決這兩個問題,而該方法則是用 CNN 來解決第二個問題,用現有的方法來解決第一個問題。
Approach:
本文用 spatial pyramid 的方式,from coarse to fine 的方法來解決 large motion的問題。
其流程圖如下所示:
在訓練上一層網絡 G 的時候,需要下面幾層的初始 flow 結果。而本文得到訓練所需的 gt,是根據 gt flow 和 下一層光流圖上采樣后的結果 之間的差值的得到的。根據這個,來訓練當前的網絡參數。