正則化超解析度重建的去噪研究:為了加強在正則化超解析度技術在雜訊壞境下的重建能力,在對廣義總變分(gtv)正則超解析度重建進行了擴充套件研究,提出一種自適應閾值去噪的方法。
該方法先根據gtv正則超解析度重建演算法進行迭代重建,然後利用推導出的自適應閾值矩陣,對每次迭代產生的代價矩陣進行閾值劃分,小於閾值的對應畫素點繼續迭代,大於閾值的對應畫素點被截斷後重新插值並不再參與本輪迭代。
程式達到收斂條件時輸出重建結果。通過與單一gtv正則重建和自適應引數的方法相比,自適應閾值去噪的方法加快了收斂速度且提高了重建影象質量,使正則化超解析度技術在雜訊環境下有更好的重建能力。
1map求解框架
srr的目標是從觀測到的已知退化影象或者影象序列中重建估計出未知的清晰無噪的高解析度(high resolution, hr)影象。因為hr為**或不可逆矩陣,所以其反問題的求解變得十分困難,往往會因微小的擾動而產生大量雜訊。為了得到一副視覺上可被接受的hr影象, 常採用map演算法框架增加正則項來迭代求解。
2gtv正則項
gtv正則是在tv的基礎上進行推廣的正則項,它較btv更加準確地推廣了tv正則項,在水平和垂直方向上的l階和m階差分;gtv正則項中用歐幾里得範數描述了畫素間空間距離的關係,用雙邊差分作為梯度罰函式。
3 核心部分 閾值選取
因為在選取參考幀進行初始化估計的時候,lr影象原本為帶有雜訊的,所以在gtv重建代價式j中的保真項雖然可以抑制重建過程出現的偏差,但並沒有感知雜訊的能力。而在罰項中每個點在鄰域內進行差分計算,若該點在鄰域內存在雜訊或者本身就是雜訊點,則罰項會過大,所以罰項確有感知雜訊的能力。同時若該點為邊緣點,也會相對增加罰項的值,這便是抑制雜訊和保護邊緣細節的矛盾。由於這種不協調性,需要一種準確的先驗知識甄別影象中的雜訊和邊緣,使得在重建過程中能夠抑制雜訊而保護邊緣。本文提出一種區分雜訊值和模型資料的閾值分割模型,直接截斷大於閾值的雜訊點,然後重新插值。這樣只改變了部分雜訊點,從而保持了其他細節。閾值的獲取公式如下:
式中:pq表示區域性視窗的大小;xmid為該區域性視窗內的中值;ω為經驗引數;x0為畫素點。此先驗模型通過某畫素點與其感興趣區域分為以下幾種情況進行比較獲取。
1).若此點是邊緣點或者此區域比較平滑,則其值都將與區域中值接近,從而中得到的很小平方差作為式(6)中的分子可以擴大閾值;
2).若該點為雜訊點,其值與中值的較大差值則可以縮小閾值。式(6)中,與中值點求差的因子體現了對邊緣點、雜訊點和平滑區域的識別能力;
3).若此點不是邊緣點,但處在非平滑區域也要稍微擴大閾值,以防止此點被當作雜訊點處理。式(6)中採用平均絕對離差作為識別非平滑區域的先驗。因為分母確保為大於1的值,所以若平均絕對離差越大,則獲取的閾值稍微增大,若其值越小,則分子為主要影響源。
在許多文獻中標準差一般是區分平滑和非平滑區域的重要先驗知識,但是其計算過程較複雜、誤差較大且其受雜訊影響而產生的誤差不穩定,這將會導致閾值計算不穩定並且不準確。根據式(6)的特點,我們只需知處理點與感興趣點變化大小,而不必衡量其整體細節複雜程度。這使得平均絕對離差適用於此先驗模型。本文採用平均絕對離差可以在穩定雜訊干擾的同時保持此先驗知識。我們可以對標準差和平均絕對離差受雜訊的影響加以分析,分析過程可見**
迭代公式如下
式中:x表示迭代重建的影象矩陣;j表示對x中對應畫素點計算後的代價矩陣;t表示對x中畫素點計算後的閾值矩陣;w表示x中對應畫素點x的感興趣區域;median表示取區域中值;δj表示根據最速梯度下降法對式j(x)(為gtv正則重建過程中的代價式,可以參照**)進行梯度計算。該式使j中大於閾值的對應畫素點被消除,然後取區域性視窗中值對這些點進行重新插值,並且不再參與本輪迭代重建,同時使不大於閾值的對應畫素點根據最速梯度下降方法迭代重建。演算法執行流程如下:
步驟1.選取一幀低解析度影象作為參考幀,對其餘幀進行運動配準。
步驟2.對參考幀進行樣條插值放大作為迭代的初始估計。
步驟3.計算下一次迭代的代價函式j(x)和自適應閾值t(x)。
步驟4.將j(x)與t(x)比較,對大於閾值的點進行重新插值,對小於閾值的點進行最速梯度下降迭代計算,最終得到新的一輪hr估計影象。
步驟5.判斷此輪迭代是否收斂,如果不收斂則回到步驟3繼續迭代,如果收斂則輸出本輪hr估計影象。
一些實驗效果對比圖最左邊為原始 lr 插值結果 gtv結果 自適應引數法gtv,本文所說結果。核心**如下: 迭代模型更改處省略。
function [ threshold ] = getthreshold( im )
%獲取每個點的自適應閾值
% 此處顯示詳細說明
% im: 輸入影象
%% 計算對其求解的值
[ u, v ] = size( im );
threshold=computethreshold(im,u,v);
function thresh=computethreshold(im,u,v)
%% 計算每乙個點的閾值 t=exp(-(x0-xmid)/mean(|xi-x0|))
thresh=zeros(u,v);
for i = 1 : u
for j = 1 : v
if ( i < u-1 ) && ( j < v-1 ) && ( i > 2 ) && ( j > 2 )
%計算psf
psf=im(i-2:i+2,j-2:j+2);
t1=abs(psf-im(i,j));
cigama=sum(t1(:))/24;
% cigama=std(psf(:));
med=median(psf(:));
% te=exp(-2*(abs(med-im(i,j))^2)/cigama);
te=exp(-((med-im(i,j))^2)/cigama);
thresh(i,j)=thresh(i,j)+te;
else
thresh( i, j ) = 1;
endend
end
超解析度重建總結
1.srcnn 2,3改進 開山之作,三個卷積層,輸入影象是低解析度影象經過雙三次 bicubic 插值和高解析度乙個尺寸後輸入cnn。影象塊的提取和特徵表示,特徵非線性對映和最終的重建。使用均方誤差 mse 作為損失函式。2.fsrcnn 特徵提取 低解析度影象,選取的核9 9設定為5 5。收縮 ...
深度學習超解析度重建(總結)
本文為概述,詳情翻看前面文章。1.srcnn 2,3改進 開山之作,三個卷積層,輸入影象是低解析度影象經過雙三次 bicubic 插值和高解析度乙個尺寸後輸入cnn。影象塊的提取和特徵表示,特徵非線性對映和最終的重建 使用均方誤差 mse 作為損失函式。2.fsrcnn 特徵提取 低解析度影象,選取...
超解析度重建部分演算法總結
超解析度資源的精確列表和單影象超解析度演算法的基準。請參閱我實現的超解析度演算法 build a benckmark like selfexsr code state of the art algorithms 基於原始影象塊稀疏表示的影象超解析度 基於稀疏表示的影象超解析度 基於耦合字典訓練的影象...