FlowNet 2.0

FlowNet(也就是它的第一個版本)鏈接如下:FlowNet
A naturalistic open source movie for optical flow evaluation 在sintel數據集上估計的光流視頻

這篇是對上一篇FlowNet的改進,可以從標題看出(Evolution 演變,演化 )發表於ICCV 2017,論文鏈接如下:FlowNet2.0
Motivation:
FlowNet cannot compete with variational methods,particularly on small displacements and real-world data.(FlowNet 無法與傳統的變分方法競爭)
Results:
It resolves problems with small displacements and noisy artifacts in estimated flow fields.
FlowNet2.0 is only marginally slower than the original FlowNet but decreases the estimation error by more than 50%.
從圖中可以看到FlowNet 2.0產生更平滑清晰準確的 flow fields(作者解釋說fist implementations of new ideas often have a hard time competing with highly fine-tuned existing methods,and FlowNet was no exception to this rule,就像中文中的人非聖賢孰能無過,人家畢竟是使用深度學習估計光流的開山之作)
在這裏插入圖片描述
改進如下

  1. 關注於訓練數據集(如果單獨用一個數據集會產生不好的結果,但是如果由多個數據集組成的學習計劃表可以產生好的結果,數據集的種類和順序都很重要,在本文中用到的數據集爲FlyingChairs(FlowNet 中合成的數據集)和Things3D(是3-dimensional version of FlyChairs,這個有true 3D motion and lighting effects)和兩個數據集的混合)並且制定了一個不同的學習率計劃表,涉及三種訓練策略:Sshort爲1.0中的訓練策略,訓練6000個iteration;Slong則訓練1.2M個iteration;Sfine則fine-tune使用更小的學習率。
    在這裏插入圖片描述
    order:可以從以下圖中看出:先在Chairs訓練然後在Things3D上fine-tuning效果最好,one-by -one,而且FlowNetC perfoms better than FlowNetS
    在這裏插入圖片描述
    看到這裏很迷糊了,數據集加了一個,並且進行了混合,但是那個學習率計劃表怎麼設置呢?

  2. 網絡結構不一樣,使用了堆疊架構,包含了warp結構(使用預測的光流將第二張圖片wrap到第一張圖片,這時我在想可以從第一張圖片wrap到第二張圖片上嗎?我覺得是可以的,哈哈),爲了評估以前的error和計算網絡的增量更新
    有了t->t+1的光流,我們可以利用t+1幀的圖片和這個光流將t+1幀warp到t幀,得到t幀的圖片。怎麼計算呢?對於第t幀上的每個像素點It(x1,y1),都有It(x1,y1)=It+1(x1+ux,x1+uy),直接在t+1幀上取出(x1+ux,x1+uy)位置處的值就好,這個座標極有可能是浮點數,雙線性插值即可
    在這裏插入圖片描述
    在這裏插入圖片描述 在這裏插入圖片描述
    網絡結構如圖所示:
    在這裏插入圖片描述

從圖中可以看出就是把FlowNet中的兩個結構用一定的方式堆疊起來,

上面解決large displacement,首先使用的是FlowNetC 網絡,輸入的是兩張imge,輸出光流的估計,後兩個是FlowNetS 的堆疊(做了堆疊多與兩個的實驗,但是沒有提升)那這兩個堆疊的網絡怎麼學習呢?keeping the weights of the first network fixed or updating them together with the weights of the second network,最後the best results are obtained when keeping the first network fixed and only training the second network after the wraping operation,這兩個堆疊網絡相當於對前面的光流估計的fine-tune

這裏作者創造了一個數據集擁有和UCF101數據集一樣的位置直方圖和非常小的位移,叫做ChairsSDHom,我們爲了更小的位移 fine-tune 我們的FlowNet2-CSS 網絡通過進一步訓練整個網絡堆疊在Things3D和ChairsSDHom混合數據集上。由此這個網絡叫做:FlowNet2-CSS-ft-sd

下面解決small displacement和噪音問題,使用的網絡結構和FlowNetS相似,不同的是在最開始的時候使用了更小的stride and kernel size(3 x 3),去掉第一層的stride=2,並且反捲積時加再加一個卷積,使得預測更加平滑。由此這個網絡叫做:FlowNet2-SD

最後用一個fuse network 進行最後的融合估計,這個輸入的有很多,sums up to 11 channels.,it contracts the resolution two times by a factor of 2 and expands again.Contrary to the original FlowNet architecture it expands to the full resolution.

  1. 通過引入了一個專門針對小運動的子網絡,如2所示,並且創造了一個特殊的訓練數據集,使得在小的運動情景下和真實的世界中表現很好
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章