使用高效子像素卷積神經網絡的實時單圖像和視頻超分辨率

這篇是Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network論文的總結。原文鏈接:https://arxiv.org/pdf/1609.05158.pdf

摘要:

當前基于深度神經網絡的方法對于單圖片的超分辨率在重建效率和計算量方面有了很大的成功。但是,這些方法中,都是用低分辨率的圖片通過單一的濾波器,通常是雙三次插值法,變成高分辨率的圖片。這意味著超分辨率的工作是在高分辨率的基礎上完成的。這種方法是次最優(yōu)并且計算量很大。

該論文提出了一種方法,將低分辨率的圖片直接通過CNN來做超分辨率。另外,提出了一種有效的子像素卷積層,這層能學習到一組擴大濾波器去將低分辨率的特征映射到高分辨率的輸出。這樣做,我們就省去了雙三次插值法,也減輕了計算量。

1. 簡介:

大部分的超分辨率問題都假設低分辨率的數據是高分辨率數據的低通濾波,下采樣和噪聲產生的。由于在不可逆的低通濾波和子采樣操作期間發(fā)生的高頻信息的丟失,這是一個非常惡劣的問題。另外,從低分辨率到高分辨率的映射過程,超分辨率有許多的選擇?;谠S多超分辨率技術的一個關鍵假設是大部分高頻數據是冗余的,因此可以從低頻分量精確地重構。因此,超分辨率是一個推理問題,因此依賴于我們關于圖像統(tǒng)計的模型。

許多方法假設多個圖像可用作具有不同視角的相同場景的低分辨率實例,即具有唯一的先前仿射變換。這些可以歸類為多圖像超分辨率方法,并通過限制不正確的問題附加信息并嘗試反轉下采樣過程來利用顯式冗余。然而,這些方法通常需要計算復雜的圖像配準和融合階段,其準確性直接影響結果的質量。一種替代的方法是單圖像超分辨率(SISR)技術。這些技術尋求學習自然數據中存在的隱性冗余,以從單個低分辨率實例中恢復丟失的高分辨率信息。這通常以圖像的局部空間相關性和視頻中的附加時間相關性的形式出現。在這種情況下,需要以重建約束的形式的先前信息來限制重構的解空間。

1.1 相關工作:

最近最流行的SISR方法可以分為:edge-based, image statistics-based和patch-based。另外,最新蓬勃發(fā)展的技術是sparsity-based techniques(稀疏性技術)。稀疏編碼是一個有效的機制,它假設任何的自然圖片都能夠在轉換區(qū)域被稀疏的表達。這種轉換域通常是一個圖像原子性的字典,能通過發(fā)現低分辨率和高分辨率之間的對應關系學習到。這個字典能夠嵌入先驗知識以限制上面提到的惡劣的問題。但是稀疏性技術的缺點是將稀疏性限制引入到非線性重建中時,通常需要較大的計算代價。

除此之外,通過神經網絡來習得圖像的表達對于SISR也是很常見的。這些方法,通過在大型的圖片數據庫,比如ImageNet,進行反向傳播訓練,學習到低分辨率到高分辨率的映射關系。堆疊的協同本地自編碼被用作一層層的去做低分辨率圖片的超分辨率。有學者建議用預測卷積稀疏編碼框架來做SISR。于是,基于稀疏編碼的多層卷積神經網絡被提出。該方法提出使用多階段可訓練非線性反應擴散(TNRD)作為CNN的替代方法,其中權重和非線性是可訓練的。還有人從LISTA得到靈感(學習迭代收縮和閾值算法)訓練了一個端到端的級聯的稀疏編碼網絡,以充分利用圖像的自然稀疏性。這個網絡結構不僅限制于神經網絡,比如隨機森林同樣可以成功的利用。

1.2 動機和貢獻

有兩種方法去提高分辨率。一種是在神經網絡的中間層逐漸增加,另一種是在喂入神經網絡第一層之前就增加分辨率。后者的方法有許多的缺點。第一,計算代價大。第二,插值法并沒有解決ill-posed的問題。

這篇論文中,和之前不一樣的,提出了一種在神經網絡的末端增加分辨率的方法。這解決了一個問題,那就是大部分的超分辨率操作沒有必要在較大的高分辨率圖片上面執(zhí)行。所以,我們采用了高效的子像素卷積層去學習倍增分辨率的操作。

這個方法有兩個好處:

1. upscaling在神經網絡的末端執(zhí)行。這意味著將低分辨率圖片喂入神經網絡,并且特者提取是發(fā)生在低分辨率空間的非線性卷積操作。因為輸入的分辨率降低了,我們可以有效地利用較小的過濾器去合成同樣的信息。分辨率和濾波器大小的減小,極大的減小了運算量和存儲空間以至于超分辨率能夠實時地在HD的錄像上完成。

2. 沒有使用插值法,這意味著網絡能明確地學習到對超分辨率有用的東西。因此,比起在第一層用一個固定的倍增濾波器,這個網絡能學習到一個更好的從低分辨率到高分辨率的映射。這能導致重建正確率的提高。

2. 方法

輸入是用高分辨率的圖片,采取r的倍增速率,通過高斯濾波器,壓縮成低分辨率的圖片。所以低分辨率圖片的大小是H*W*C,高分辨率圖片的大小是rH*rW*C(C是channel的數量)。

為了恢復高分辨率的圖片,該論文用了3層的卷積神經網絡,如下圖。


在結構中,直接作用了l層神經網絡在低分辨率圖像上,然后用了一個子像素卷積層,將低分辨率的特征映射到超分辨率上。

2.1 反卷積層

附加的反卷積層是從max-pooling層和其他圖像的下采樣層中恢復高分辨率的一個很流行的選擇。這種方法已經成功地用于可視化層激活,并且用于使用來自網絡的高級特征來生成語義分割。這表明SRCNN中使用的雙三次插值是反卷積層的一種特殊情況。反卷積層可以看作是每個輸入像素乘以一個濾波器單元與步幅r,并且在所得到的輸出窗口上也稱為向后卷積。

2.2 高效的子像素卷積層

另外一種方法去倍增低分辨率圖像是用一個步長為分數的1/r的卷積作用域低分辨率空間。


3. 實驗

3.1 數據集

用5000張隨機從ImageNet數據集中選擇出來的圖片用來訓練。

3.2 實驗結果

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容