基於深度學習框架的超解析度問題二之EDSR

2021-09-05 09:23:44 字數 1874 閱讀 6450

edsr的根本出發點還是希望增加網路的深度(卷積層的層數)和寬度(卷積核的通道數)來提高計算的準確度。而其更多的可以看作是對srresnet的改進,去掉其對應的多餘計算(主要是指bn和relu)。其具體的residual block結構如右(圖中a表示最原始的結構,c表示經過改變後本文提出的結構)。由結構可以看出,在使用的時候去掉了bn層。由於bn層占用了和卷積一樣的記憶體,去掉之後可以節約40%的記憶體消耗,這樣在相同的計算資源下,就可以訓練更深的網路結構。除此之外還去掉了殘差之後的relu層操作。通過掉這些不必要的操作,edsr可以訓練更深的網路結構獲得更高的精確度。

bn是深度學習中乙個重要的操作,為什麼在分類的時候加入bn往往會存在較好的效果,而在低解析度的時候需要去掉呢。主要由以下幾方面的原因:

對於超解析度的問題我們解決的是低層的計算機視覺問題,而分類問題屬於高層的計算機視覺問題,對於底層問題的解決不需要使用高層問題時使用的結構策略。

雖然bn是深度學習中非常重要的技術,不僅可以訓練更深的網路,還可以正則化訓練的過程避免過擬合。但是實驗表明在低解析度的處理過程中很少會出現過擬合現象,不僅bn方法其他的一些防治過擬合的方法(dropout等)也是不適用的。

bn是在影象分類過程中被提出來的,而影象分類和影象生成是兩個完全不同的概念。bn之所以在影象分類任務上如此有效,主要是因為影象分類不需要保留影象的對比度資訊,利用影象的結構資訊就可以完成,所以,將影象都通過bn進行歸一化,可以降低訓練難度,甚至一些不明顯的結構,在bn後也會被凸顯出來(對比度被拉開了)。bn會忽略影象畫素(或者特徵)之間的絕對差異(因為均值歸零,方差歸一),而只考慮相對差異,所以在不需要絕對差異的任務中(比如分類),有錦上添花的效果。

在影象超解析度和影象生成方面,網路輸出的影象在色彩、對比度、亮度上要求和輸入一致,改變的僅僅是解析度和一些細節,而bn對影象來說類似於一種對比度的拉伸,任何影象經過bn後,其色彩的分布都會被歸一化,也就是說,它破壞了影象原本的對比度資訊,所以bn的加入反而影響了網路輸出的質量。對於影象超解析度這種需要利用絕對差異的任務,bn只會添亂,還不如直接不用。

我們簡化bn的計算公式為:

根據上述思想,其對應的結構為:

總共使用了32個residual  block,256個特徵通道數(每一層)來進行計算。上取樣採用的是亞畫素卷積(espcn的思想),並且對於4倍上取樣是在2倍上取樣的基礎上進行的(所有較大的解析度都是在較小的解析度預訓練好的模型上進行進一步訓練得到的)。該策略可以提高大解析度訓練的速度。

由於該方法採用的結構過深,訓練過程容易引起數值的不穩定性,為了解決這個問題,作者採用了redisual  scaling的方式進行處理。即:在殘差模組的最後乙個卷積層的輸出上乘以乙個係數0.1,個人覺得應該是對於256個通道數取0.1的比例(25.6)來進行下一步計算。至於具體是不是這樣還有待研究。

除了在結構上進行改進之外,該模型還根據lapsrn的思想採用了l1範數來計算對應的誤差,這樣也提高了模型的準確度。

mdsr是edsr的多尺度模型,其出發點主要是為了解決乙個可以完成多個不同比率的模型,關於該模型的結構如下

該模型的共享主網路使用了80個residual block,64個特徵通道數(每一層),增加了特徵提取時候的共享機制,考慮到了不同尺寸之間的相互作用。其上取樣的過程和edsr一樣,損失函式也使用的是l1範數進行。最終取得了相當不錯的效果。

深度學習超解析度重建(總結)

本文為概述,詳情翻看前面文章。1.srcnn 2,3改進 開山之作,三個卷積層,輸入影象是低解析度影象經過雙三次 bicubic 插值和高解析度乙個尺寸後輸入cnn。影象塊的提取和特徵表示,特徵非線性對映和最終的重建 使用均方誤差 mse 作為損失函式。2.fsrcnn 特徵提取 低解析度影象,選取...

對深度學習上的超解析度認知(一)

溫故而知新 作為處理影象的其中乙個問題,和它同乙個層次的還有降噪 denoising 抗模糊 deblurring 缺失修復 inpainting 難度 相對的 也是依次遞增的。傳統觀念上講,他們每乙個的處理方式都有各自專門的演算法 包括sr 比如說,去噪是為了去除影象中的干擾 雜訊 去模糊就是對影...

超解析度中PSNR的計算與bicubic插值

正確計算psnr對於做超解析度研究是很重要的,因為psnr是被廣泛使用的metric之一。同時bicubic插值演算法也很重要,因為目前主流的有監督超解析度演算法中,需要構成hr lr訓練對,而這個對的構成方法需要使用到bicubic插值。psnr的定義很簡單,m se 1h w i 1h j 1w...