(cvpr2019 ) Better Version of SRMD


SRMD的內容上篇,已經介紹,本文主要介紹SRMD的升級版,解決SRMD的諸多問題,

並進行模擬實驗。

進行雙三次差值(bicubic)===>對應matlab imresize()

%% read images
im = {};
scale_factor = 6;
im_ = dir('E:\A_paper\TEM降噪用GAN\matlab_codes\images\*.jpg');
path = ['E:\A_paper\TEM降噪用GAN\matlab_codes\images\',im_(1).name];
im{1} = imread(path);
if size(im{1},3) > 1
    im{1} = rgb2gray(im{1});
    im{1} = im{1}(:,:,1);
end
%% bicubic interpolation
img_up = imresize(im{1}, scale_factor, 'bicubic');
img_down = imresize(im{1}, 1/scale_factor, 'bicubic');
%% image showing
figure,imshow(im{1});
figure,imshow(img_up);
figure,imshow(img_down);

對應的圖片:

當scale_factor放大圖像,圖像更為平滑,而縮小圖像,則更為模糊。

下采樣原理(downsample):對於一幅圖像I尺寸為$M*N$,對其進行s倍下采樣,即得到$(M/s)*(N/s)$尺寸的得分辨率圖像,當然s應該是M和N的公約數才行,如果考慮的是矩陣形式的圖像,就是把原始圖像s*s窗口內的圖像變成一個像素,這個像素點的值就是窗口內所有像素的均值:

上采樣原理(upsamle):圖像放大幾乎都是采用內插值方法,即在原有圖像像素的基礎上在像素點之間采用合適的插值算法插入新的元素。

插值方法---- 代表Bicubic 

雙線性插值法具有平滑功能,能有效地克服鄰法的不足,但會退化圖像的高頻部分,使圖像細節變模糊。在放大倍數比較高時,高階插值,如雙三次和三次樣條插值等比低階插值效果好。這些插值算法可以使插值生成的像素灰度值延續原圖像灰度變化的連續性,從而使放大圖像濃淡變化自然平滑。但是在圖像中,有些像素與相鄰像素間灰度值存在突變,即存在灰度不連續性。這些具有灰度值突變的像素就是圖像中描述對象的輪廓或紋理圖像的邊緣像素。在圖像放大中,對這些具有不連續灰度特性的像素,如果采用常規的插值算法生成新增加的像素,勢必會使放大圖像的輪廓和紋理模糊,降低圖像質量。

缺點:

 采用了LF的思想,易出現過度平滑,紋理和邊緣信息丟失。

基於模型的優化算法

  利用圖像的先驗信息(e.g.非局部相似先驗 去噪先驗--Learning deep CNN denoiser prior  for ....張凱),通過求解目標函數的方式得到SR圖像,但是比較耗時,

需要引入預先難受的超參數。

判別學習方法

  依賴CNN強大的學習能力,利用大量的圖像訓練訓練集進行訓練,學習LR圖像和HR圖像之間的映射,

從而能夠對於輸入LR圖像進行有效超分辨重構。但是這類模型都假設LR圖像是由HR圖像雙三次插值得到,

當圖像的退化方式與其不同時候,模型很難對於多退化的LR圖像進行超分辨率。

圖像評價指標

  MSE和PSNR為考慮圖像的感知特性和圖像結構特征,基於圖像結構特征比較的評價算法---結構相似度SSIM

,利用高斯滑動窗口的方法對圖像進行分塊,並利用高斯加權計算每個滑動窗口圖像像素的均值、方差和協方差。

Discuss

  現有的CNN模型,簡單輸入LR圖像進行端到端訓練,難對於模型求解,需要處理多退化因子的圖像。

充分利用先驗的方法

利用LR圖像退化參數的先驗信息幫助模型對於多退化圖像的處理。但是存在幾個問題,如何有效的表示退化信息,

並且將退化信息和LR圖像維度進行統一(SRMD利用PCA降維以及矩陣平鋪、復雜的升維方法,將退化圖譜和LR圖像

進行拼接,輸入網絡)。

充分利用全卷積和移除亞像素卷積層

對於處理多尺度超分辨率問題,亞像素卷積層進行上采樣需要對輸入的$W*H*S^{2}C$大小的張量進行像素重排,從而得到s

$sW*sH*C$大小的輸出圖像,每個尺度的超分辨率任務需要單獨訓練。(直接反卷積其實存在一些問題)

直接除去亞像素卷積層,而變為全卷積層,使輸入和輸出的尺度直接對應於縮放的尺度:直接將LR圖像進行插值上采樣

得到與目標圖像大小相同的尺寸,輸入網絡。

什么是亞像素卷積層?

 

在亞像素卷積層前的卷積層,將輸出通道變為縮放尺度的平方,在亞像素卷積層得到想要的尺度。

獲得LR圖像退化方法

SRMD僅僅能夠在LR圖像退化方法已知的圖像超分辨任務中。

訓練策略

每個epoch都訓練x2、x3、x4的尺度因子,避免選擇遺忘。

基於卷積神經網絡的退化參數圖譜估計模型

將LR圖像直接輸入估計網絡,輸入$W*H*3$輸出得到$W*H*(t+1)$

在估計到退化圖譜后,使用PCA降維和矩陣平鋪,復制的升維方法構建處退化圖譜作為標簽進行構建損失函數

中間卷積可以使用Resnet殘差學習思想:

多個網絡級聯訓練

整體損失:

$L(\theta_{1},\theta_{2}) = L_{map}(\theta_{1})+\lambda L_{convnet}(\theta_{1},\theta_{2})$

$L_{convnet}$使訓練超分辨率子網絡,$\theta_{2}$表示超分辨率子網絡參數,$L_{map}$表示退化圖譜重構

損失,用來約束訓練退化圖譜估計子網絡。

兩個損失都是MSE損失,但是兩個網絡可以不單獨級聯,而是作為一個整體網絡訓練,將兩個網絡的參數同時

優化,來自超分辨率的梯度也會傳遞到退化圖譜估計網絡,線性相加,$\lambda$是平衡兩個損失的權值。

該網絡更依賴退化圖譜網絡計算的梯度權值相對於由來自深層超分辨網絡的梯度更大一些,$\lambda$為0.1

,增加退化圖譜的損失權值,便於更好優化退化圖譜估計子網絡。

需要學些PCA降維部分的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM