论文阅读:An Efficient Statistical Method for Image Noise Level Estimation

Introduction

噪声水平估计对于非盲去噪方法是至关重要的,噪声水平估计质量直接影响去噪的质量。这篇文章是2015年ICCV 的一篇文章,针对于加性高斯白噪声,其利用非局部相似块具有低秩性的特性,利用协方差矩阵冗余维度的特征值估计噪声水平,并取得了不错的效果。这篇文章的主要贡献在于
1. 分析了噪声水平和图像patch的协方差矩阵的特征值之间的关系;
2. 提出了一种无参方法在多项式时间内从特征值估计噪声水平的方法,并给与了理论证明;

Analysis

这篇文章的方法是针对于加性,独立,同质性的高斯噪声。所谓“同质性”指的是噪声方差对于图像中所有像素都是一个常数,不会随着位置和颜色强度改变。由于一般认为图像的噪声都是零均值噪声,所谓的噪声水平估计就是通过单张噪声图像估计高斯噪声的方差(或标准差)。
该文章的方法是基于以下观察:从无噪声图像中提取的patch常常处于一个低维子空间中,而不是均匀分布于所有空间中。所以噪声的方差就可以从冗余的空间维度上进行估计,那么噪声估计问题就变成了如何选择冗余维度的问题。

Method

把一张图像分解为一系列的patchXs={xt}t=1sRr×s 。如果图像大小为M×N×c ,则Xs 包含s=(Md+1)(Nd+1) 个大小为d×d×c 的patch。然后将所有这些patch都变成向量,其维度为r=cd2 。对于集Xs 中任意一个向量xt ,其可以分解为:

xt=x^t+et

其中,x^t 是对应的无噪声图像patch,et 表示加性高斯白噪声,etNr(0,σ2I)

特征值

从下图中可以看出,无噪声图像patch的特征值多数为0(即说明其位于低维子空间),而噪声图像patch的特征值多数位于真实噪声方差50附近,但不是精确为50。
这里写图片描述
所以如何精确的获得噪声方差是需要解决的问题。
计算xt 的协方差矩阵可得

Σx=1st=1s(xtμ)(xtμ)T

其中,μ=1st=1sxt 为其平均值。
对其做特征值分解可得

Σx=RΛRT=R[λ1000λ2000λr]RT

xt 可以表示为(此处yt 与原文表达意思不同)

xt=Ryt

假设干净的patch位于m 维线性空间中,mr ,则

x^t=Ay^t

其中,R=[A,U]ARr×m 表示m 维的子空间。
综上可知,

xt=Ryt=R[y^t,0]+et=[A,U][y^t,0]+et

公式两边乘以RT

RTxt=[y^t,0]+RTet=[y^t+ATet,UTet]

通过RT 将噪声部分etxt 中分离出来,且根据高斯函数性质,nt=UTet 是服从高斯分布Nrm(0,σ2I) 的随机变量。
RTxt 的协方差为

1st=1s(RTxt)(RTxt)T=RTΣxR=Λ

为了估计噪声方差,将特征值S={λi}i=1r 分成两个部分,其中,S1={λ1}i=1m 表示主维度的特征值,S2={λ1}i=m+1r 表示冗余维度的特征值。用冗余维度的特征值估计噪声方差。
由于冗余维度向量nt=UTet 服从高斯分布Nrm(0,σ2I) ,对于向量nt 中的每一个元素nt[i] 也是服从高斯分布N(0,\sigma^2)的随机变量,由于

λi=1st=1snt[i]2,im+1,m+2,..,r

则特征值λiS2 也是均值为噪声方差σ2 的随机变量。
这里放上文章中的引理:
这里写图片描述

维度选择

下图表示噪声图像特征值的直方图,可以看出除了少数比较大的异常值(主维度的特征值)以外,其余的特征值是服从高斯分布的,且根据上面的引理,其均值(期望)就是噪声方差。
这里写图片描述
所以现在的任务就是估计主维度的数量,去除其特征值,即判断特征值是否属于S2
放上文章另一个定理
这里写图片描述
其说明,当集合S 中的冗余维度足够多时,可以通过判断S 的平均值与其中值是否相等,来判断S 是否存在异常值。我是从另一个角度理解的,由于冗余维度的特征值服从高斯分布,高斯分布的均值等于其中值,而异常值的存在破坏了这种等价关系,随着异常值的剔除,其中值和均值逐渐接近。
在文章中,patch大小设为8×8 ,则X={xt}t=1s 维度为192,则主维度的数量不能超过67(具体证明可参见原文)。

算法

根据以上分析,则可以得到噪声水平估计算法,总体来说,就是通过剔除S 中的异常值,得到冗余维度的特征值,然后冗余维度的特征值的期望(均值)就是噪声的方差。
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章