本文譯自2018CVPR Fast and Accurate Single Image Super-Resolution via Information Distillation Network
代碼: github (in caffe)
特點:結構簡潔、實時速度,更好精度
結果:state-of-the-art
摘要:
近來深度卷積網絡在單圖像超分辨上取得明顯成果。然而隨着網絡的深度和寬度增加,基於CNN的超分辨方法面臨着計算和內存的問題。為解決這個問題,我們提出一個深但簡潔的卷積網絡直接從原始的的低分辨圖像來重建高分辨圖像。本文所提出的網絡模型包含三個部分,即特征提取模塊、堆疊的信息蒸餾(information distillation)模塊、重建模塊。通過結合一個提升單元(enhancement unit)和一個壓縮單元(compression unit)在信息蒸餾模塊里,局部 long and short-path features特征可被有效提取。特別的,提出的enhancement unit混合兩種不同類型的特征,而壓縮單元compression unit提取更有用的信息。此外,所提出的網絡執行快速,因為每一層有相對較少的濾波器數目,並且使用了分組卷積(group convolution)。實驗證明了該方法是優於state-of-the-art的,尤其在時間表現上。
1. Introduction
單圖像超分辨Single image super-resolution(SISR)是一個經典的low-level問題,需要從一個低分辨圖像重建高分辨圖像。事實上,無窮多數量的HR圖像可以通過下采樣得到相同的LR圖像。因此SR問題是一個病態問題,沒有唯一解。目前已有大量的SISR方法被提出,包括基於插值的方法(interpolation-based methods),基於重構的方法(reconstruction-based methods)和基於實例的方法( example-based methods)。由於前兩種方法經常在大尺度因子上的表現很差,近來SR方法基本都為第三種,即從LR和HR圖像對學習先驗知識。
近來由於CNN的強勢表現,許多基於CNN的SR方法試着用更深的網絡來學習更好的重建表現。Kim等人提出20層的CNN模型即VDSR,它采用了殘差學習和自適應梯度截斷來更好訓練。為了控制模型參數,作者利用遞歸層構建了一個深度遞歸網絡DRCN。為減輕訓練難度,Mao等人提出一個非常深的編解碼殘差網絡(RED),包含了一系列卷積和轉置卷積來端到端的學習LR圖像到真值的映射。Tai等人提出一種深度遞歸殘差網絡DRRN,利用了參數共享策略來緩解深度網絡帶來的大量參數。
盡管實現了顯著的表現,大多數深度網絡仍然含有許多缺點。首先為了實現更好的性能,加深或者加寬網絡變成了一個設計趨勢。但是結果是這些方法需要大量的計算和內存消耗,這在實際中是不可直接應用的。此外傳統的卷積方法通常采用拓撲級聯網絡,例如VDSR和DRCN。這種方法每層的特征圖都無區別的被送入網絡。然而,Hu等人實驗性的證明自適應再校准channel-wise 特征響應可以提升網絡的表示能力。
為了解決這一問題,我們提出一個新奇的方法:信息蒸餾網絡information distillation network(IDN)。如圖2,有着輕量級參數和計算復雜度。在所提出的IDN中,一個特征提取模塊FBlock首先從LR圖像中提取特征,然后多個信息蒸餾模塊DBlocks堆疊來進一個提取殘差信息。最后一個重建模塊RBlock聚集所獲得的HR殘差表示來生成殘差圖。為了得到HR圖像,我們實現了殘差圖與上采樣LR圖元素間的相加操作。
IDN的關鍵部信息蒸餾模塊,包含了一個提升單元enhancement unit和壓縮單元 compression unit。提升單元主要包括兩個淺層卷積網絡,如圖3。每個網絡都是一個三層結構。第一個模塊的特征圖通過一個短鏈接(3層)來提取。因此他們可以視為局部短路徑lshort-path特征。考慮到深度網絡更有好的表現,我們將局部短鏈接特征部分發送到另一個模塊。和【9】中的方法不同,我們划分特征圖為兩部分。第一部分代表代表保留的short-path特征而另一部分表征將要被提升的short-path特征。得到長-短路徑特征圖后,我們聚集這兩種類型特征來獲得更多的有效信息。簡而言之,提高單元主要提高網絡的表示能力。至於壓縮單元,我們采取了一個簡單的卷積層來壓縮提高單元中特征的冗余信息。
本文主要貢獻如下:
- 所提出的IDN直接從LR圖像提取特征,並利用多個級聯的DBlocks來生成更多的信息並利用壓縮單元來提取有用的信息。最后IDN實現了有競爭力的結果,盡管使用了更少的卷積層。
- 盡管IDN結構簡潔,它比一些給予CNN的SR結構都要快。例如圖1中的VDSR、DRCN、LapSRN、DRRN和MemNet。只有本文的方法實現了實時的速度並保持得更好的重構精度。
2. RelatedWork
單圖像超分辨近年來被廣泛研究。在本節我們將關注於近來基於實例(example-based)的神經網絡方法。
2.1 Self-example based methods
基於實例的方法開發自相似性的特性並且從LR圖像以不同尺度提取樣本對。這種方法通常在包含重復模式或者文本,但在輸入圖像外缺少圖像結構豐富度的情況下表現較好。Huang等人擴展了基於SR的自相似性來處理仿射和透視形變。
2.2 External-example based methods
基於實例的外部方法從外部的數據集學習從LR到HR的一種映射。這種類型的方法通常關注於怎樣學習一種壓縮字典和流型空間來使LR/HR相關,例如最近鄰、流型embedding、隨機森林進而空間表示。雖然這些方法是有效的,提取的特征和映射函數是不自適應的,這對於生成高質量SR圖像而言不是最優的。
2.3 Convolutional neural networks based methods
近來,受許多計算機視覺任務的啟發,深度網絡在SR領域取得了很大突破。Dong等人率先利用一個三層卷積網絡SRCNN以端到端的方式聯合特征提取、非線性映射、圖像重構。之后Shi等人提出一種高效子像素卷積神經網絡ESPCN來在LR空間提取特征圖並利用高效的子像素卷積取代雙三次采樣操作。Dong等人采取反卷積結合更小的濾波器和更多的卷積層來加速SRCNN。Kim等人提出一種非常深的全局殘差CNN模型來獲得更好表現,這種方法利用了大圖像區域的文本信息。另一個由Kim等設計的網絡是含有跳躍連接的遞歸卷積網絡來避免深度加深時引入額外的參數。Mao等人利用對稱的跳躍結構和編解碼器來解決一般圖像的恢復問題。Lai等人提出一種拉普拉斯金字塔超分辨網絡來解決SR的速度與精度問題,以原始LR圖像為輸入漸進構建HR圖像的sub-band殘差。Tai等人提出一種深度遞歸網絡來有效建立一種非常深的網絡,使網絡獲得精度。該作者也提出了一個非常深的端到端持久性記憶網絡(MenNet)對於圖像恢復任務,解決之前CNN結構的長期依賴性問題。Sajjadi等人提出一種新奇的方法,結合自動紋理合成和感知損失來關注於構建4倍率高的真實紋理。
3. ProposedMethod
在本節我們首先描述了提出的網絡結構,然后介紹提高單元 enhancement unit和壓縮單元 compression unit,這是該方法的核心。
3.1 Network structure
如圖2,IDN網絡含有三部分:一個特征提取模塊(FBlock)、多個堆疊的信息蒸餾模塊(DBlock)和一個重構模塊(RBlock)。這里我們令x和y為IDN的輸入與輸出。至於FBlock,兩個3*3的卷積網絡用來提取原始LR圖像的特征圖。這個過程描述為:
f指的是特征提取函數,B0為提取到的特征,且是之后的輸入。下一部分由多個信息蒸餾模塊組成。每個模塊包含一個堆疊形式的提高單元和壓縮單元。這一過程可公式化為:
為第k個DBlock函數,
分別為第k個DBlock的輸入與輸出。最后我們利用一種不含激活函數的轉置卷積來作為RBlock,因此IDN可以表示為:
R,U分別表示RBlock和雙三次線性插值。
3.1.1 Loss function
我們考慮兩個損失函數來度量預測的HR圖像和對應的真實圖像I。第一個為MSE均方誤差,這是一般的圖像重建最常用的損失函數:
然而Lim等人實驗性的驗證了利用MSE來訓練不是一個好的選擇。第二個損失函數為平均絕對誤差:
我們實驗發現利用MSE損失可以提升利用MAE損失訓練的網絡,所以我們先用MAE損失訓練,再用MSE損失微調。
3.2.Enhancement unit
正如圖3所示,提高單元可大致分為兩部分,第一個是上面的三個卷積,另一個是下面的三個卷積。上面的模塊為3x3大小卷積,伴有LReLU激活函數。假設第i層的特征圖維度為Di,(i=1,..,6)。那么卷積層的關系可以描述為:
d為第1、2層或者1、3層的差異。類似的,下面模塊的維度特點為:
,上面的模塊是含有LReLU的級聯的卷積層,第三個卷積層為輸出分為兩部分。假定這個模塊的輸入為
,我們有
,
是之前block的輸出,也是當前block的輸入。
為鏈式卷積操作,
為上面模塊中第k個提升單元的輸出。
中維度為
的特征圖和第一個卷積層的輸入在通道維度上進行鏈接:
C,S分別代表連接concatenate操作和切片slice操作。特別的,我們知道的維度為D3,因此
表示
維特征提取自
。此外,
與
在通道維度上連接特征。目的是為了結合之前的信息與當前的信息。它可以被看作是局部保留的短路徑信息localshort-path information。我們采取剩余的localshort-path information作為下面模塊的輸入,主要進一步提取長路徑特征圖 long-path feature maps。
分別為輸出和下面模塊的堆疊卷積操作。最后如圖3所示,輸入信息、保留的局部短路徑信息和局部長路徑信息合並。因此,提高單元可以公式化為:
是提高單元的輸出。局部長路徑特征
與局部短路徑特征和未處理的特征
的結合都被壓縮單元所利用。
3.3 Compression unit
我們利用1x1卷積來實現壓縮機制。具體來說,提高單元的輸出被送至1x1卷積層,其目的為維度縮減或為之后網絡提取相關信息。因此,壓縮單元可公式化為:
為1x1卷積的操作,
為激活函數,
為權重參數。
4. Experiments
4.1 Datasets
4.1.1 Training datasets
和之前的慣例一樣,我們利用Yang等人的91張圖像,來自伯克利分割數據集Berkeley Segmentation Dataset(BSD)的200張圖像作為訓練數據。為了充分利用訓練數據,我們使用3種數據增強方法:(1)旋轉圖像角度為90,180和270度。(2)水平翻轉圖像。(3)downscale降尺度圖像,因子分別為0.9,0.8,0.7和0.6。
4.1.2 Testing datasets
所提出的方法在廣泛使用的數據集上評估:Set5、Set14、BSD100和Urban100。在這些數據中,Set5,Set14和BSD100包含了自然景色,Urban100包含了具挑戰性的urban景色,具有不同頻帶的細節。對真實圖像利用雙三次插值進行降尺度可以得到LR/HR圖像對,以得到訓練和測試數據集。我們轉換每張彩圖為YCbCr顏色空間,並僅處理Y通道。而顏色成分僅簡單使用雙三次插值來擴充。
4.2 Implementation details
為了准備訓練樣本,我們首先對原始HR圖像進行下采樣,升尺度因子upsacling為m。(m=2,3,4),利用雙三次線性插值來生成對應的LR圖像,然后裁剪LR訓練圖像為一系列子圖像集。對應的HR訓練圖像被划分為
大小的子圖像集。利用Caffe來訓練該模型,其轉置卷積的濾波器產生的輸出尺寸為
而不是
。所以我們應當在HR子圖像上裁剪(m-1)像素邊界。因為有291張圖象的那個數據集里的一張名為“t20”的圖像尺寸為78*78。
當尺度因子為3時,為保持數據完整性,可以在LR圖像上裁剪的最大尺寸為26x26。然鵝,訓練過程將會不穩定,因為大的訓練樣本在Cffe中有更大的學習率。因此,訓練數據將在訓練階段生成,
LR/HR子圖象集在微調階段使用。學習率初始設置為1e-4,在微調階段除以10。以這種方法,訓練和微調的樣本如表1所示。
考慮到執行時間和重構表現的折衷,我們構建了一個31層的網絡為IDN。這個模型有4個DBlocks,提升模型中每個block的參數分別設置為64,16和4。為減少網絡參數,我們在每個提升單元的第二個和第四個層利用4個分組卷積。此外轉置卷積采用17x17大小的濾波器為所有的尺度因子。LReLU的negative scope 設為0.05。我們初始化權重通過何凱明的文章Delving deep into rectifiers: surpassing human-level performance on imagenet classification,偏置都設為0.利用Adam優化,mini-batch大小為64,權重衰減為1e-4。為了得到更好的初始化參數,我們經驗性的預訓練10^5個iter,並以此為IDN網絡的初始值。在2X模型上利用一塊TITAN X GPU訓練一個IDN大約需要1天。
4.3 .Network analysis
含有殘差結構的模型主要學習一個殘差圖像,如圖4(a)所示,真實殘差圖主要含有細節和文本信息,其正則像素值范圍為-0.4到0.5。從圖4(b)可以發現在殘差圖中有正值和負值,其數量的大致相等。顯然0值的數量和其鄰居最多,意味着殘差圖中的平滑區域幾乎被消除了。因此,我們網絡的任務是逐漸減去原圖中的平滑區域。為了證明我們的直覺,我們需要檢查提高單元和壓縮單元的輸出。具體分析參考圖5。
...
4.4 Comparisions with state-of-the-arts
我們與已有的方法對比:包括bicubic, SRCNN [3, 4], VDSR [12], DRCN [13], LapSRN [15], DRRN [22] and MemNet [23]。表2顯示了峰值信噪比PSNR( peak signal-to-noise ratio)和SSIM結構相似性( structural similarity )。該方法有利的顯示了state-of-the-arts結果。此外,我們對所有方法做了information fidelity criterion (IFC) metric。表3顯示了所提出方法的最好表現並超出MemNet一大截。
圖6,7,8顯示了視覺對比。“barbara”圖像由於高頻信息的缺失有嚴重的artifacts在紅框內,這可以看作是雙三次插值。僅僅本方法recovers roughly the outline of several stacked books。從圖7可以看到本方法所獲的清晰的輪廓,而其他方法有不同程度的假信息。在圖8,本方法表現的相對清晰。
從表2看到,IDN的表現比MemNet在Urban100上的3x和4x要差,而我們的方法在其他數據上更好一些。主要原因是MemNet將LR圖像插值后作為輸入,所以網絡獲得更多的信息,SR的過程僅需要修正插值后的圖像。算法以原始的LR圖像為輸入,預測更多的像素,尤其是更大的圖像和更大的magnification factors。
在做iference的時候,我們利用對比算法的開源代碼在32G上的i7 CPU, NVIDIA TITAN X(Pascal)GPU 12G內存。因為官方的MemNet和DRRN的實現溢出GPU內存,我們在每一划分100幅圖像為幾個部分然后分別做評估,然后收集兩組數據。表4展示了benchmark數據上的運行時間,值得注意的是IDN大約500倍快於MemNet(2x magnification在Urban100數據集上)。
5. Conclutions
在本文,我們提出了一個新奇的網絡結構,利用蒸餾模塊逐漸提取大量有效特征來重建HR圖像。在PSNR、SSIM和IFC評價指標中都實現了有競爭力的結果。而inference時間遠小於當下最好方法如DRRN和MemNet。這個簡潔的網絡可以在實踐中廣泛利用。在未來,這個方法將促進解決其他重建問題例如去噪和compression artifacts reduction。
相關資料: