目录
一、图像复原
二、噪声模型
三、只存在噪声的图像复原
空间滤波
频率域滤波消除周期噪声
四、退化函数的估计
退化函数
五、逆滤波(去卷积)
六、图像的几何变换
图像复原的一般过程:分析退化原因——建立退化模型——反向推演——恢复图像
图像增强:旨在改善图像质量,提高图像的可懂度,更偏向主观判断。即要突出所关心的信息,满足人的视觉系统,具有好的视觉效果。
图像复原:根据图像畸变或退化的原因,进行模型化处理,将质量退化的图像重建或恢复到原始图像。即恢复退化图像的本来面目,忠于原图像,因此必须根据一定的图像退化模型来进行图像复原。
图像的增强是一个主观的过程,其目的是改善图片的质量,对感兴趣的部分加以增强,对不感兴趣的部分予以抑制。而图像复原是一个客观的过程,针对质量降低或失真的图像,试图恢复其原始的内容或质量。复原技术是面向退化模型的,并且采用相反的过程进行处理,以便恢复出原图像。在进行图像复原之前要先建立起其退化模型,根据该模型进行图像复原。
课本中的图像退化过程建模为一个退化函数和一个加性噪声。
设H是一个线性时不变的过程,则我们可以得到,式子中的“*”表示卷积。其频率域的表示为:。
对于只有加性噪声的情况,我们可以通过一些噪声模型(例如高斯噪声,瑞利噪声,椒盐噪声等等)以及对这些噪声参数的估计,来选择合适的空间滤波器(如均值滤波器,中值滤波器)或者频率滤波器(带阻/带通滤波器,低通/高通滤波器,陷波滤波器)来进行滤波。
a、高斯噪声的PDF:
b、瑞利噪声的PDF:
c、爱尔兰(伽马)噪声的PDF:
d、指数噪声的PDF:
注意这个噪声是当伽马噪声中的b=1时的特殊情况。
e、均匀噪声的PDF:
f、脉冲(椒盐)噪声的PDF:
如果b>a,则灰度级b在图像中将显示为一个亮点;反之,灰度级a在图像中将显示为一个暗点。若或为零,则脉冲噪声称为单极脉冲。如果和两者均不可能为零,尤其是他们近似相等时,则脉冲噪声值将类似于在图像上随机分布的胡椒和椒盐粉粒。
空间相关噪声: 周期噪声。周期噪声可以通过频率域滤波来显著减少。
对于只有加性噪声的情况,我们可以通过一些噪声模型(例如高斯噪声,瑞利噪声,椒盐噪声等等)以及对这些噪声参数的估计,来选择合适的空间滤波器(如均值滤波器,中值滤波器)或者频率滤波器(带阻/带通滤波器,低通/高通滤波器,陷波滤波器)来进行滤波。
噪声参数估计:确定噪声类型,并计算噪声参数。常用的方法有:模拟图像采集过程和统计图像噪声概率密度、计算方差等方法来估计噪声参数。其中,周期噪声的参数通常是通过检测图像的傅里叶谱来计算的。
当一幅图中唯一存在的退化是噪声时:
可以采用空间滤波的方式复原图像。
1、均值滤波器
算术均值滤波器:
几何均值滤波器:
谐波均值滤波器:
逆谐波均值滤波器:
2、统计排序滤波器
中值滤波器:
最大值和最小值滤波器:
中点滤波器:
修正的阿尔法均值滤波器:
3、自适应滤波器
自适应滤波器效果最好,但结构也相对复杂。
自适应局部降低噪声滤波器:
自适应中值滤波器:
使用频率域技术可以有效地分析并滤除周期噪声。
带阻滤波器(HBR):
带通滤波器(HBP):
最佳陷波滤波器:
1、线性、位置不变的退化
2、估计退化函数
在图像复原中,我们需要对退化函数进行估计。主要有观察法,实验法,数学建模法。
观察法通过选择噪声较小的子图像(减少噪声的影响)来得到H(u,v),然后根据此信息来构建全图的H(u,v),之后利用后面的复原方法来复原。实验法是指我们可以使用或设计一个与图像退化过程相似的装置(过程),使其成像一个脉冲,可得到退化系统的冲激响应 H(u,v) = G(u,v) / A。
而建模估计则是从引起图像退化的基本原理进行推导,进而对原始图像进行模拟,在模拟过程中调整模型参数以获得尽可能精确的退化模型。课本中有两种模型,大气湍流模型和运动模糊模型。
大气湍流模型
通用形式为。其中,k是与湍流性质有关的常数,k越大,图像越模糊,与高斯低通滤波器有着相同的形式。在实现该滤波器的过程中,由于中心化,要注意u,v应该分别替换为各自与频率中心之差,假设频率中心为(M/2,N/2),则替换为u-M/2和v-N/2。与我们之前频率滤波器的实现相同。
注意:实现过程与我们之前的频率滤波器的实现一样,都需要中心化。
我在对图片施加大气湍流退化模型的时候,采用与之前相同的过程,但是得到的结果图像比课本的结果图更加地模糊。k = 0.0025(较模糊,比较容易看出区别)的情况如下:
这个问题困扰了我很久,我尝试了各种不同的方法,在不中心变换的情况下进行滤波,发现情况更加糟糕。后来在做后面运动模糊模型的时候,得到的结果也与课本的结果相差甚远。之后,在尝试了不对图像进行填充(即不对原图像填充0值至大小为[2m, 2n]),发现得到的结果与课本的一致。对得到的结果图像直接取整(若是在最开始将值归一化到[0,1],自然不需要取整这一步)
运动模糊模型
退化函数为
其中T表示曝光时间,a和b分别表示水平和垂直方向上的移动量。注意有,当π(ua+vb) = 0时,H(u,v) = T。同理,在实现该滤波器的过程中,由于中心化,要用u-M/2和v-N/2分别替换u和v。
当a = b = 0.1,T = 1时,其傅里叶频谱如下:
imshow(log(abs(H) + 1), [ ])
1. 直接逆滤波
知道了图像的退化模型之后,最简单的复原方法就是采用逆滤波的方法。计算如下:
但是,当H(u,v)为0或者接近0的时候,N(u,v)/H(u,v)会变得很大,成为支配整个图像的主要部分。即使N(u,v)很小或者为0,当H(u,v)接近0的时候,在计算的时候,F(u,v)也会变得非常大,从而使复原之后的图像没有任何信息。
因此,可以对H(u,v)进行修改,①可以对G(u,v)/H(u,v)应用一个低通滤波器,虑去其中病态的高频成分(即虑去H(u,v)中接近0的部分),②或者规定一个值,当|H(u,v)| ≤ δ 时,1/H(u,v) = 0。这两种方法都是去掉或者说削弱H(u,v)接近0时的影响。低通滤波器的方法对于上面提到的运动模糊模型几乎没有用,因为运动模糊模型的傅里叶频谱并不是从中间向四周赋值逐渐减小的,但是方法②仍然有用。
我在对收到了大气湍流模型之后的图像做直接逆滤波的时候,得到的最终图片一片模糊,得不到任何信息,与课本的结果相差较大,这可能是在对计算G(u,v)/H(u,v)的时候,在H(u,v)接近0的时候所做的处理不一致所导致的。这个直接造成了在之后对G(u,v)/H(u,v)使用butterworth低通滤波器的时候,最佳效果的截止频率与课本的不一致。
2. 维纳滤波(最小均方差误差滤波)
一个维纳滤波的计算公式如下,其中K是一个特定的常数,与噪声和未退化图像之间的信噪比有关。不同情况下取值不同。在平均意义下是最优的。
3. 约束最小二乘方滤波器
,其中r是一个参数,P(u,v)是矩阵p(x,y) = [0, -1, 0; -1, 4,-1; 0, -1, 0]的傅里叶变换。该算法相比于维纳滤波,对其应用的每幅图像都能产生最优的结果。
4. 几何均值滤波器
几何均值滤波器是维纳滤波器的推广:
其中,α和β是正的实常数,几何均值滤波器由两个括号内的幂次方分别为α和1-阿尔法的表达式组成。
当α=1时,该滤波器退化为逆滤波器;当α变为所谓的参数维纳滤波器,参数维纳滤波器在β=1时还原为标准的维纳滤波器。如果α=1/2,则滤波器变成相同幂次的两个量的积,这是几何均值的定义,这样就给出了这种滤波的命名。当β=1时,随着α减小到1/2以下,滤波器的性能越来越接近逆滤波器。类似地,当α增大到1/2以上时,滤波器更接近维纳滤波器。当α=1/2且β=1时,该滤波器通常也被称为谱均衡滤波器。
平移变换
x1 = x0 + △x,
y1 = y0 + △y;
水平镜像变换
以原图像的垂直中轴线为中心,将图像分为左右两部分进行对称变换。示意图如下所示:
x1 = x0,
y1 = W-y0 ;
垂直镜像变换
以原图像的水平中轴线为中心,将图像分为上下两部分进行对称变换。示意图如下所示:
x1 = H - x0,
y1 = y0 ;
转置变换
图像的转置就是将图像像素的x坐标和y坐标互换。这样将改变图像的高度和宽度,转置后图像的高度和宽度也将互换。
x1 = y0,
y1 = x0;
旋转变换
一般情况下,旋转操作会有一个旋转中心,这个旋转中心一般为图像的中心,旋转之后图像的大小一般会发生改变。图像像素原来的坐标为(x0,y0),(顺时针)选择Θ角度后得到(x1,y1)
x1 = x0·cosΘ + y0·sinΘ,
y1 = -x0·sinΘ + y0·cosΘ;
缩放变换
注意:在固定的图像分辨率下,图像放大的越多,所需要填充的像素点也就越多,从而导致图像本身数据所占的比例变小,或许一些细节会变得更容易看到,但是图像整体会变得模糊。如果缩小图片,例如长和宽都缩小到原来的一半,那么图像会变为原来四分之一的大小,这样或许一些边缘会变得更为锐利,整体感或许会加强,但这意味着他丢失了四分之三的的数据。如果再用相反的步骤放大回原来的大小,那么就像上面说的,原图像的数据只占了整张图的四分之一,整张图就会变得模糊不堪。