Detail-revealing Deep Video Super-resolution
發表在2017年ICCV。
核心內容:提出了亞像素運動補償(Sub-pixel Motion Compensation, SPMC)層,服務:基於CNN的視頻超分辨方法。
特點:
-
SPMC可以同時完成超分辨和運動補償。這一點是精髓,作者claims that可以更好地保持亞像素信息。為什么這么說,最后我再解釋。
-
SPMC是無參數的,因此結合到視頻超分辨網絡中,使得該網絡可用於任意尺寸的輸入,而無需重新訓練。
-
使用了Conv-LSTM,輸入幀數任意。這樣,我們可以在效率和質量上權衡。
這篇論文實際上寫得很繞。我無意間發現了作者對這篇論文的報告視頻,講得簡單明了。這里做一個截圖和筆記。
1. 故事
首先,視頻超分辨率有以下幾個挑戰:
-
如何配准多幀信息。如果沒有配准,那么多幀反而是有害的。
-
模型不夠健壯。一個放縮系數往往對應一個模型,並且輸入幀數也是固定的。
-
生成的細節有時是假的。這是因為外部數據庫的影響。
鑒於此,本文的目標是:
-
任意大小輸入,任意放縮系數。
-
更好地利用亞像素信息。
-
生成更真實的細節。
本文提出的網絡架構(從論文截取的大圖):
2. 步驟
-
第\(i\)時刻的LR幀\(I_i^L\)和當前\(0\)時刻的LR幀\(I_0^L\)一起輸入運動預測網絡,得到光流預測圖\(F_{i \to 0}\)。
-
\(F_{i \to 0}\)和\(I_i^L\)一起輸入SPMC層,得到升采樣並且運動補償的\(J^L\)。
-
由於\(J^L\)比較稀疏,因此輸入一個有豐富降采樣的編碼器-解碼器網絡,得到殘差;然后與\(I_0^L\)點點求和,即得到最終輸出。注意,與傳統編解碼網絡不同,中間的單元被換成了Conv-LSTM,從而可以對視頻序列建模。
3. 實驗
首先,作者嘗試將三個相同幀輸入網絡,發現輸出圖像雖然更銳利了,但是沒有產生額外的信息。
接着,作者換成了三張連續幀,效果就好了。這說明:SPMC的使用,使得細節偽造更少了,並且細節的生成更真實。
作者還嘗試了傳統方案:先運動補償,然后升采樣,結果中產生了很多虛假的細節:
換成SPMC就好了:
作者說:基於以上實驗,他們認為,在亞像素級別,只有合適地運動補償,才能恢復真實的細節。這一句,就是點睛之筆。
我的理解:前人一般都是先 運動補償 然后 超分辨,在這個過程中,亞像素信息需要二次增強,很難保真,而更傾向於從 根據外部數據庫學習的先驗 中獲取。
4. SPMC
看完了視頻,我們再來看一下SPMC。其實很簡單:
第一步是坐標變換,其中\(\alpha\)就是放縮系數:
第二步是雙線性插值,將升采樣的圖完善。