本文是針對Zero-Shot(ZSSR)的缺點做出的一些改進。雖然ZSSR提出了利用內部信息,采用無監督的方式進行SR,但缺點在於其測試時間過長。本文提出的MZSR將元學習和ZSSR結合,同時利用內部和外部信息,可以在幾個gradient update中就輸出比較好的結果。
元學習一般分為兩個部分:meta-training, meta-test,目的是訓練一個模型使其能最好地適應一個任務分布$p(T)$ (i.e. 對於$p(T)$中的各種任務模型都能快速適應)。meta-training的目的是優化base-learner,使其可以適應多種不同的任務。meta-test的目的是使meta-learner可以快速調整以適應新的任務。目前比較好的方法使MAML。
本文提出的方法分為三個步驟:large-scale training, meta-transfer learning, meta-test
large-scale training階段,首先使用DIV2K作為數據集用bicubic的方法生成對應的$(I_{HR} I_{LR}^{bic})$對,來訓練一個網絡$L^D(\theta)=E_{D\sim(I_{HR}, I_{LR}^{bic})}$$[||I_{HR}-f_{\theta}(I_{LR}^{bic})||_1]}$
meta-transfer learning階段使用一個外部的數據集$D_{mate}:(I_{HR}, I_{LR}^k)$其中包含了多種不同的核產生的LR圖像。並且進一步划分為$D_{tr}:task-level training, D_{te}:task-level test$
meta-test則直接使用ZSSR,進行internal learning。
完整的算法流程如下:
實驗:
- 分別測試了在標准bicubic情況下和其他4種blur kernel情況下(severe aliasing, isotropic Gaussian, unisotropic Gaussian, isotropic Gaussian followed by bicubic subsampling)。在后面四種情況下目前的SOTA RCAN、IKC等表現都下降很多。
- 比較了幾個模型表現隨迭代數的變化。可以彈道MZSR最初的表現使很差的,但是可以在一次迭代后迅速適應。並且gradient update iterations越多表現的提升越多。
- 比較了CARN,RCAN,ZSSR,MZSR(1),MZSR(10)的參數量和預測時間。MZSR的參數量只有RCAN的約七十分之一,與ZSSR接近。而測試時所需時間又遠小於ZSSR,與CARN接近。