ESPCN是twitter2017年提出來的實時視頻超分辨率的方法。下面記錄下對論文的一些理解。
上面這張圖就是整個網絡的架構。輸入t幀的相鄰圖像,t-1和t+1,在具體的網絡中,有輸入連續3張,5張,7張和9張的,在論文中有分析這個對具體效果的影響,這邊是以3張為例。逐像素計算t-1和t幀的lr的圖像的位移(通過一個motion estimation的網絡),然后將這個位移apply在t-1的lr圖像上面,得到warp過的t-1圖像。將warp過的t-1/t+1和t圖像一起輸入一個時空網絡,得到最終的單張t幀的SR圖像。
所以主要網絡是兩個,一個motion estimation一個spatio-temporal。
先介紹motion estimation。
這個分兩步去做,一個先做coarse 的flow預測,再做fine flow的預測,這樣可以使用小的計算量計算更大的位移。這也是在video SR中常用的做法。
再介紹一下另一個重要的時空網絡。
時空網絡要做的事情是這樣的,把幾張不同幀的LR圖像合成一張SR,所以既有時間上的融合也有空間上的插值。
上圖介紹了幾種常用的時空網絡
a) early fusion
將輸入的n張圖片concat起來然后用一個n channel的filter去做卷積,這樣就把所有的圖片在第一layer就融合起來了
b) slow fusion
在第一層的時候不融合所有的圖片,比如圖中所示,每層只融合相鄰的2幀,這就是slow fusion
c) 3D convolution
我們將第一個卷積層的第一個輸出feature map放大來看,會發現其實每一個channel都是兩個相鄰幀得到的
等價於下面我們常見的3D卷積。
這里,3D conv可以看做是slow fusion的權值共享的版本,只不過是在temporal和空域上swap了一下,稍微解釋一下。
3D convolution的第一層的第一個feature map,可以看做是slow fusion的第一層的所有feature map的channel 1concat起來的。所不同的是,需要slow fusion中的同一層的weight要一樣(即權值共享)。這種權值共享的slow fusion一大好處就是計算力比較省,因為可以復用之前的結果。比如t+2 t+1 t t-1 t-2和t+1 t t-1 t-2 t-3其實中間有一些結果是可以復用的。
具體的結果和分析可以去看論文。
Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation (CVPR 2017)
See https://arxiv.org/abs/1611.05250