n 本文是對SRCNN的改進,主要有三點:
1.在網絡最后一層添加轉置卷積層,以后端升采樣結構取代SRCNN的前端升采樣結構。
2.在非線性映射之前進行降維,mapping之后進行升維
3.filter size變小,而mapping層增多。
1.簡介
經典的SRCNN無法滿足實時性要求。經過研究我們發現這是因為其存在兩個固有的局限:
1.由於SRCNN是先插值放大再輸入網絡,我們的計算復雜性就隨着HR圖像的尺寸平方次遞增。例如,假如放大倍數為n,則計算代價是原始LR計算代價的$n^{2}$倍。如果網絡直接學習LR圖像,則可以加速$n^{2}$倍。
2.第二個局限是非線性映射層。輸入圖像塊被映射到高維LR特征空間中,然后非線性映射到高維HR特征空間中。映射層更寬可以大大提高精讀,但也降低了計算速度。
解決第一個問題的思路是,使用后端升采樣的思路,在最后一層添加轉置卷積,如此一來計算復雜度僅僅和LR圖像的尺寸成正比。
解決第二個問題的思路是,使得非線性映射處在低維特征空間中。
我們的FSRCNN還有一個好處,就是針對不同的放大系數可以共享權值(轉置卷積層以外的層的權值)
本文主要貢獻三點:1.重新設計的沙漏型網絡結構。2.實時性處理。3.針對不同放大系數的快速訓練及測試。
2.Related Work
2.1 SR
SRCNN一經問世,迅速得到應用。有學者將其應用於具體領域,也有學者嘗試更深的網絡,也有學者使用基於先驗知識的子網絡代替SRCNN中第二層。但是都存在相應的問題。
2.2 CNN加速
很多學者試圖加速CNN。我們的模型主要有兩點區別:1. 其他學者專注於對現有訓練好的模型的近似,而我們直接重新設計了網絡結構。2.那些方法都是針對高層CV問題設計的,我們是針對底層問題。我們的模型不包括FC層,filter的近似值將嚴重影響結果。
3.FSRCNN
3.1 SRCNN
不多介紹
3.2 FSRCNN
網絡分為五部分:特征提取,壓縮,非線性映射,擴充,轉置卷積
網絡的參數很多。其中對不敏感參數預先設定一個值,敏感參數未設定。敏感參數往往代表一些重要影響因素。
3.2.1 feature extraction
這部分類似於SRCNN 中的第一層,不同之處在於SRCNN是從插值圖像抽取特征,而此處是從原始LR圖像抽取特征。
超參設置:由於SRCNN中是從插值圖像提取特征,f=9;而本文是從原始圖像提取特征,因此設置f=5即可覆蓋9*9的patch。另外設置c=1。現在只有filter數量$n_{1}$未設置,$n_{1}$也可以看作是LR特征的維度。$n_{1}$是第一個敏感向量。$n_{1}$記作d
第一層被表示為Conv(5, d, 1)
3.2.2 shrinking
在SRCNN中,由於d很大,所以第二層計算復雜度相對大,這一現象也存在於高層視覺任務中。
我們在第二層添上一個shrinking層來降維,使用的是1*1卷積,$n_{2}$=s. s<<d.
這一層被表示為Conv(1, s, d)
3.2.3 Non-linear mapping
非線性映射層的寬度和深度很關鍵。由於5*5卷積效果比1*1好,我們取一個折中3*3.為了保持好的表現,我們使用多個3*3卷積代替一個更寬的。
這一層被表示為m*Conv(3, s, s)
3.2.4 Expanding
這是shrinking層的反向過程。如果直接使用低維特征生成HR圖像,效果降低(Set5上降低了0.3dB)。因此我們先將特征維度進行擴充。
這一層被表示為Conv(1, d, s)
3.2.5 Deconvolution
DeConv(9; 1; d)
轉置卷積的相比直接插值的好處在於參數可學習。觀察圖三可知,轉置卷積中學習到的filter像第一層一樣是有意義的。
激活函數:使用PReLU以避免ReLU出現的dead feature
$$f \left( x_{i} \right) = max \left( x_{i}, 0 \right) + a_{i}min \left( 0, x_{i} \right)$$
損失函數:MSE
網絡結構:Conv(5; d; 1)−PReLU −Conv(1; s; d)−PReLU −m×Conv(3; s; s)−PReLU − Conv(1; d; s) − PReLU − DeConv(9; 1; d)
計算復雜度:
3.3 和SRCNN的不同
主要體現在本表中。首先使用轉置卷積代替插值,速度得到加快,效果得到微微提升。之后改造映射層,參數大幅減少,速度大幅提升,效果得到微微提升。最后改造特征提取層,嫌少了一些冗余的參數,速度得到提升,同時效果得到很微弱的提升。
3.4 對於不同放大系數的優勢
本網絡中,只有最后一層含有放大系數的信息。實驗表明,針對不同放大系數,本網絡的卷積層filter幾乎相同。而在SRCNN中針對不同放大系數,filters是截然不同的。
4.實驗
4.1 實驗細節
數據集:91image+General-100. 數據增強:scaling:0.9, 0.8, 0.7, 0.6, 2. ;旋轉:90, 180, 270度旋轉
測試集驗證集:測試集:Set5 , Set14 and BSD200 驗證集:BSD200中抽取20張。