01.Signal and Image Noise Models 信号与图像噪声模型
标签(空格分隔): 未分类
资料:numeriacal tour-denoising simple1:Signal and Image Noise Models
noise = randn(M,N) * sig;%高斯噪声
nbins = 51;
[h,t] = hist( M(:)-M0(:), nbins ); h = h/sum(h);%统计分布为高斯函数
bar(t,h);
axis([-sigma*5 sigma*5 0 max(h)*1.01]);
脉冲噪声由高斯噪声和均匀噪声生成:
W = log(rand(n,1)).*sign(randn(n,1));
W = W/std(W(:))*sigma;
W = log(rand(N,N)).*sign(randn(N,N));
W = W/std(W(:))*sigma;
阈值估计和稀疏性
非线性去噪的想法是使用一个正交基,其中真实信号或图像|M0|的系数|x| 是稀疏的(几个大系数)。 在这种情况下,噪声数据|M|的噪声系数|x| (用高斯噪声扰动)是|x0 +noise| ,其中|noise| 是高斯噪声。 噪声系数低于|T|,阈值设置为0。 阈值|T| 应该明智地选择为高于噪声水平。
首先,我们产生尖锐的信号。
sigma = .1;
x = x0 + randn(size(x0))*sigma;%高斯噪声
产生了一维的尖锐信号[-1,1],然后在上面加上标准差为0.1的高斯噪声,那么阈值T应该取多少才能最大可能地去除信号?
为了在预先不知道|x0|系数的幅度的情况下最优化,需要设置阈值|T|刚刚超过噪声水平,意味着|T|应该大致为高斯白噪声的最大值。
练习2:
理论预测:|n|个高斯变量(其方差为|sigma^2|)的最大值很大概率比| sqrt(2 * log(n))| 小,且随着n的增大会趋于1. 即n足够大时,|n|个高斯变量的最大值会趋于| sqrt(2 * log(n))| 。这也是一个明显的结果。
用蒙特卡洛法进行数值计算来检验,随着|n|的增大(n是2的幂),用蒙特卡洛对最大值进行采样。 使用固定值| n |执行多次试验时,可验证最大值的标准差。
图1,横轴是高斯变量的个数,同时测试样本为5000个,即(n,5000)随机生成的矩阵,每一列为一个随机样本,共5000个变量数为n的样本,测试它们的最大值(5000个最大值的均值与标准差)。发现,红线为这些均值与n的关系,蓝线为理论最大值。发现,n最大为2^13,最大值都不会超过理论最大值。
图2为,这些样本的标准差,随着n的增大,标准差在减小。