新人第一次寫博文,介紹一篇文章
Chen G, Zhu F, Heng P A. An Efficient Statistical Method for Image Noise Level Estimation[C]. IEEE International Conference on Computer Vision. IEEE, 2015:477-485.
下載地址:http://pdfs.semanticscholar.org/3924/f6b1ab44a35370a8ac8e2e1df5d9cd526414.pdf
該文章對圖像的噪聲水平進行估計,是很多圖像去噪算法的前提。
該文章基於兩個假設對圖像噪聲水平進行估計。
1、認為圖像的小斑塊處於低秩流形中。 其原文為:
Our work is based on the observation that patches taken from the noiseless image often lie in a low-dimensional subspace, instead of being uniformly distributed across the ambient space.
2、假設噪聲類型為:加性高斯白噪聲。 其原文為:
One important noise model widely used in different computer vision problems, including image denoising, is the additive, independent and homogeneous Gaussian noise model, where “homogeneous” means that the noise variance is a constant for all pixels within an image and does not change over the position or color intensity of a pixel.
第一個假設是對圖像的假設,這對大多圖像來說是滿足的。第二個假設則限定了該算法的使用范圍。
經實際檢驗,該算法具有良好的噪聲水平估計效果。
下面附上相應的MATLAB程序(本人編寫)。
首先需要說明的是,下面的程序只適合灰度圖像,不適合彩色圖像,雖然它們沒有本質上的區別。
%d為斑塊大小,默認為8
function [delta]=NoiseLE(Im,d)
if nargin<2
d=8;
end
Im=double(Im);
[m,n]=size(Im);
X=[];
for ii=1:m-d+1
for jj=1:n-d+1
F=Im(ii:ii-1+d,jj:jj-1+d);
F=reshape(F,d^2,1);
X=[X,F];
end
end
[mm,nn]=size(X);
miu=(mean((X')))';
X=X-repmat(miu,1,nn);
F=zeros(mm,mm);
for ii=1:nn
F=F+X(:,ii)*X(:,ii)';
end
F=F/nn;
[~,D]=eig(F);
D=diag(D);
for ii=1:d^2-2
t=sum(D(ii:d^2))/(d^2+1-ii);
F=floor((d^2+ii)/2);
F1=F-1;
F2=min(F+1,d^2);
if (t<=D(F1))&&(t>=D(F2))
delta=sqrt(t);
break;
end
end
end