本文譯自2018CVPR Fast and Accurate Single Image Super-Resolution via Information Distillation Networkgit
代碼: github (in caffe)github
特色:結構簡潔、實時速度,更好精度算法
結果: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圖元素間的相加操做。spa
IDN的關鍵部信息蒸餾模塊,包含了一個提高單元enhancement unit和壓縮單元 compression unit。提高單元主要包括兩個淺層卷積網絡,如圖3。每一個網絡都是一個三層結構。第一個模塊的特徵圖經過一個短連接(3層)來提取。所以他們能夠視爲局部短路徑lshort-path特徵。考慮到深度網絡更有好的表現,咱們將局部短連接特徵部分發送到另外一個模塊。和【9】中的方法不一樣,咱們劃分特徵圖爲兩部分。第一部分表明表明保留的short-path特徵而另外一部分表徵將要被提高的short-path特徵。獲得長-短路徑特徵圖後,咱們彙集這兩種類型特徵來得到更多的有效信息。簡而言之,提升單元主要提升網絡的表示能力。至於壓縮單元,咱們採起了一個簡單的卷積層來壓縮提升單元中特徵的冗餘信息。
本文主要貢獻以下:
單圖像超分辨近年來被普遍研究。在本節咱們將關注於近來基於實例(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爲第一、2層或者一、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。
相關資料: