第5章〓图像噪声消除 教学视频 图像中常伴有各种噪声,它们会对图像的视觉质量造成比较明显的影响。噪声常干扰人们对图像全貌的感受和对细节的观察。例如大气雾霾对室外场景的影响就可以看作一种噪声,使得图像中景物的能见度降低,不易被看清楚。 噪声常在图像记录过程中产生,也可在图像加工或传输过程中产生。图像噪声可来源于采集环境、采集设备、测量误差、记数误差、传输中断、不恰当的图像加工等。噪声是一个比较广泛的概念,来源多样,影响和效果也多样。相对于有用的信号,人们一般认为噪声是烦人的。例如,无线电中的静电干扰或道路上的喧闹声能影响人们对话或欣赏音乐,电视上的雪花点或模糊的纸张打印效果降低了人们观看和理解的能力。消除或减弱噪声的影响是图像增强中的重要工作。 与一般的信号相比,噪声的频谱中常包含较多的高频分量,所以在图像增强中常考虑噪声的高频特性,使用相应的滤波器来进行消除。当然,由于噪声的来源和种类很多,且各有不同的特性,所以也需要设计不同类型的滤波器。近年来,结合深度学习技术的图像噪声消除也得到了较多关注。 消除噪声既可以采取图像增强的方法(包括第3章介绍的空域方法和第4章介绍的频域方法,以及本章后面几节的方法),也可以采取图像恢复的方法(参见本书第2单元)。 根据上述讨论,本章各节将安排如下。 5.1节分析一些典型图像噪声的来源和特点并给出描述它们的概率密度函数。 5.2节介绍用于消除噪声的各类典型滤波器,既包括基本的均值类滤波器和排序类滤波器,也包括结合它们特点的混合滤波器。 5.3节介绍几种主要用于消除脉冲类噪声的开关中值滤波器,包括它们的基本原理、改进方法和效果比较。 5.4节介绍一些结合深度学习技术进行图像噪声消除的示例。 5.1噪 声 概 述 噪声是最常见的导致图像质量下降的因素之一。噪声的概念比较宽泛,实际中的噪声有许多不同来源,也有许多不同特性,对图像质量的影响也各不相同。需要指出,因为噪声主要影响人类的感知,人们常将噪声看作与信号相对立,所以有关噪声的问题常常不能完全看作一个纯科学或纯数学问题[Libbey 1994]。 5.1.1噪声描述 下面先讨论噪声与信号的关系,然后具体介绍几种典型的噪声及其特点,最后举一个综合示例。 1. 噪声与信号 相对于所关心的信号来说,图像中的噪声可定义为图像中不希望有的部分,或图像中不需要的部分[Bracewell 1995]。对信号来说,噪声是一种外部干扰。但噪声本身实际上也是一种信号,只不过它携带的是噪声源的信息(信号携带了信号源的信息)。噪声可以与信号无关,也可以与信号相关。如果噪声与信号无关,那就无法根据信号的特性来预测噪声的特性。然而,如果噪声是(与信号)独立的,则可以在完全没有所需信号的情况下对噪声进行研究。很多情况下将噪声看成不确定的随机现象,主要采用概率论和统计学的方法来处理。注意,人们所关心的信号本身也可能有随机性,例如用于对地测量的热微波或红外辐射就有这种特点。由上面的讨论可知,图像中的噪声并不需要与信号完全对立,它有可能与信号有密切的联系(例如,乘性噪声对图像质量的影响与信号强度成比例)。此时如果改变信号,噪声也可能发生变化。 噪声既可能有一定的随机性,如电视屏幕上的雪花噪声; 也可能比较规则或有规律(systematic),如电视屏幕上的移动条纹。当电视图像由于电冰箱的电机干扰或行驶中摩托车的发动机干扰而产生独立的亮点时,这种噪声既有随机特性也有规则特性。 在很多情况下,噪声的(随机/规则)特性并不是很重要,重要的是它的强度,特别是其相对于人们所关心信号的强度。常用的信噪比(SNR)就反映了噪声相对于信号的强度比值。信噪比是一个重要的放大器或通信系统的质量指标。典型的信噪比是用能量比(或电压平方比)来定义的: SNR=10lgV2sV2n(5.1.1) 但在一些特殊的应用中,也有一些变型。例如,在电视应用中,信号电压Vs用峰峰值为单位,而噪声电压Vn用均方根(RMS)为单位。此时得到的数值要比都用均方根为单位得到的数值高9.03dB。 另外,在图像合成时常采用如下定义的信噪比进行控制[Kitchen 1981]: SNR=Cobσ2(5.1.2) 其中,Cob为目标与背景间的灰度对比度,σ为噪声均方差。 2. 几种常见噪声类型 噪声形成的原因是多种多样的,其性质也千差万别,下面介绍几种常见的噪声[Libbey 1994]、[Siau 2002]。 1) 热(heat)噪声 热噪声是指物质中导电载流子由于热扰动而产生的噪声。这种由热导致的噪声在从零频率直到很高的频率范围之间分布一致,一般认为它可以产生对不同波长有相同能量的频谱(或者说在噪声频谱上任何相同频率间隔内的能量相同)。这种噪声也称为高斯噪声(其空间幅度符合高斯分布)或白噪声(其频率覆盖整个频谱)。 2) 闪烁(flicker)噪声 闪烁噪声是由电子运动导致的一种噪声。事实上,电子或电荷的流动并不是一个连续的完美过程,它们的随机性会产生一个很难量化和测量的交流成分(随机AC)。这种噪声一般具有反比于频率(1/f)的频谱,所以也称1/f噪声,一般在1000Hz以下的低频时比较明显。也有人称其为粉色噪声。粉色噪声在对数频率间隔内具有相同的能量(例如,在1~10Hz和10~100Hz之间的粉色噪声能量是相同的)。 3) 发射(shot)噪声 发射噪声也是电流非均匀流动,或者说电子运动有随机性而产生的结果。例如显像管中的电流除根据图像信号变化外,还会根据电子的随机运动而变化。这样,在本应该稳定的直流分量中实际上还保留(或叠加)了一个交流分量。发射噪声也常形象地称为“房顶雨(rain on the roof)”噪声。它也是一种高斯分布的噪声,可以用统计和概率的原理来量化。 4) 有色(colored)噪声 有色噪声指具有非白色频谱的宽带噪声。典型的例子如运动的汽车、计算机风扇、电钻等产生的噪声。另外,白噪声通过一些信道后也会被“染色”为有色噪声。两种常见的有色噪声——粉色(pink)噪声和褐色(brown)噪声的各一个示例分别见图5.1.1。相对于白噪声来说,有色噪声中低频分量占了较大比重。 图5.1.1粉色噪声和褐色噪声示例 3. 成像过程中的多种噪声 噪声不仅种类繁多,而且多种噪声还可能在一个成像过程中同时出现。在传感器工作过程中产生的噪声称为传感器噪声。以利用CCD器件成像的整个过程为例,其中多种噪声不可避免地都有体现(按拼音顺序排列)。 (1) 暗电流噪声: 源于CCD的信号转换电路中的暗电流,即使在没有光线时也会产生,且一般随图像采集时间长度而增加。 (2) 放大噪声: 也称为放大器噪声,指由放大器引起的噪声,一般放大器增益越高,产生的噪声越大。 (3) 固定模式噪声: 也称为有偏噪声,其均值对某些像素总不为零,常源于特定设备或器件。 (4) 光子噪声: 由连续自然光到达一个像素范围内的光子数量值的起伏所带来的噪声,它与光源、光路、成像环境等的特性都有关联。 (5) 量化噪声: 对应在将模拟信号转换为数字信号时所带来的误差,这是因为不管使用多少个量化比特值,都无法穷尽由单个像素中光电子引起的模拟电压值。 (6) 片上电子噪声: 也称为读出噪声,它与CCD读出像素值的速率成比例,读出速率越高,读出噪声越明显。 (7) 热噪声: 与CCD的工作温度密切相关,随着CCD的工作温度增高,更多的电子从CCD的硅材料中释放出来并生成电子空穴,而这些电子与由光子到达像素所激发出来的光电子是无法通过亮度量化器加以区分的。 (8) 散粒噪声: 也称为发射噪声,是一种由电子运动的随机性而导致的噪声,与光电流的直流分量、电子电荷及滤波器的频率有关。散粒噪声随光频率的增大而线性增加。 采集到的图像中存在的最终噪声量不仅取决于所有这些量,而且与入射光(由场景的辐射度和照相机光圈所控制)、曝光时间和传感器增益等都有关系。 5.1.2噪声概率密度函数 噪声对图像的影响最直观的就是使图像像素的灰度发生了变化。噪声本身的灰度可看作随机变量,其分布可用概率密度函数(PDF)来刻画。下面介绍4种重要的噪声概率密度函数。 1. 高斯噪声 一个高斯随机变量z的PDF可表示为 p(z)=12πσexp-(z-μ)22σ2(5.1.3) 图5.1.2一个高斯噪声的概率 密度函数 其中,z代表灰度,μ是z的均值,σ是z的标准差。该函数的一个示例如图5.1.2所示。高斯噪声的灰度值多集中在均值附近,随着与均值的距离增加而数量减少。 高斯噪声模型在数学上比较好处理,许多分布接近高斯分布的噪声也常用高斯噪声模型近似地处理。高斯噪声模型是更广泛的指数型噪声模型的一个特例。 2. 均匀噪声 均匀噪声的PDF可表示为 p(z)=1/(b-a)a≤z≤b 0其他(5.1.4) 均匀噪声的均值和方差分别为 μ=(a+b)/2(5.1.5) σ2=(b-a)2/12(5.1.6) 它的一个示例如图5.1.3所示。均匀噪声灰度值的分布在一定的范围内是均衡的。 均匀噪声常作为许多随机数发生器的基础,例如可用它(借助大数定理)来产生高斯噪声。 3. 脉冲噪声 脉冲噪声也常称椒盐噪声(严格地说,仅指饱和的脉冲噪声),其PDF可用下式表示(对应的一个示例如图5.1.4所示): p(z)=Paz=a Pbz=b 0其他(5.1.7) 图5.1.3一个均匀噪声的概率密度函数 图5.1.4一个脉冲噪声的概率密度函数 噪声脉冲可以是正的或负的(叠加在像素的灰度值上可能增加灰度也可能减小灰度)。因为脉冲的影响常比图像中信号的强度要大(受噪声影响的像素的灰度值与无噪声像素的灰度值会明显不同),脉冲噪声一般量化成图像中的极限灰度(显示为白或黑)。 实际中,一般假设a和b都是“饱和”值,即它们取图像所允许的最大灰度和最小灰度(更多讨论还可见5.3.1小节)。如果b > a,灰度为b的像素在图像中显示为白点,而灰度为a的像素在图像中显示为黑点。在特殊情况下,如果Pa或Pb为0,则脉冲噪声称为单极性的(unipolar)。一般Pa和Pb均不为0,且两者大小很接近,此时饱和的脉冲噪声就像(深色)椒粒和(浅色)盐粒随机撒在图像上。因为这个原因,双极性的(bipolar)脉冲噪声也称为椒盐噪声。在图像显示时,负脉冲显示为黑色(椒)而正脉冲显示为白色(盐)。对8个比特的图像,则有a=0(黑)和b=255(白)。发射噪声、尖峰噪声和错误交换导致的误差等都可以用脉冲噪声来表示。 4. 瑞利噪声 瑞利噪声所对应的随机变量的PDF可表示为(a和b都是常数) p(z)=2b(z-a)e-(z-a)2/bz≥a 0z 0且A2<0,转到B模式 否则增大模板尺寸(一般每个方向增加两个像素) 如果模板尺寸≤SW,重复A模式 否则f(x,y)=gxy B模式: B1=gxy-gmin,B2=gxy-gmax 如果B1 > 0且B2<0,f(x,y)=gxy 否则f(x,y)=gmed 这里A模式的功能是确定标准中值滤波器的输出是否为脉冲噪声。如果该输出值等于最大值或最小值,就有可能是脉冲噪声,就需要增大模板尺寸再试。如果该输出不等于最大值或最小值,就转向B模式,看当前像素是否为脉冲噪声。如果是,则输出中值; 如果不是,则输出当前值,这样做能保持图像中的边缘。 总结一下,自适应中值滤波器可以达到三个目的: 滤除脉冲噪声,平滑非脉冲噪声,减少对目标边界过度细化或粗化而产生的失真。从统计的角度讲,即便gmin和gmax不是图像中可能的最小和最大灰度值,它们仍被看作类似脉冲的噪声成分。 5.2.3选择性滤波器 均值滤波器能有效地消除高斯噪声和均匀噪声,但对脉冲噪声的消除效果较差。中值滤波器能有效地消除脉冲噪声,且不会对图像带来过多的模糊效果,但对高斯噪声的消除效果不是很好。当图像同时受到不同噪声影响时,可以采用选择性滤波的方式,在受到不同噪声影响的位置选择不同的滤波器,以发挥不同滤波器的各自特点,取得较好的综合效果。下面介绍一种具体方法作为示例[李2006]。 1. 滤波器模块框图 用于消除高斯噪声和脉冲噪声的选择性滤波器的模块框图和工作流程如图5.2.5所示,其中包括4个功能模块,分别为椒盐噪声检测、滤波器选择、滤除椒盐噪声和滤除高斯噪声。对输入的噪声图像,先用椒盐噪声检测器检测出受椒盐噪声影响(也可能还受其他噪声的较小影响)的像素,对这些像素可用中值滤波器一类的滤波器进行噪声滤除,对其余的像素则可用均值滤波器一类的滤波器进行噪声滤除,最后将两部分结果组合起来得到对高斯噪声和椒盐噪声都滤除的结果。 图5.2.5选择性滤波器模块框图 2. 椒盐噪声检测 受椒盐噪声影响的像素的灰度值会取到图像灰度范围的两个极端值。因此,椒盐噪声检测可根据下面两个准则来判断: 1) 灰度范围准则 设图像灰度范围为[Lmin,Lmax],那么如果一个像素的灰度值在[Lmin,Lmin+Tg]或[Lmax-Tg,Lmax]范围中,则它很有可能受到了椒盐噪声的影响,其中Tg是检测椒盐噪声的灰度阈值,确定了灰度极端值的范围。 2) 局部差别准则 考虑一个像素的邻域(如8邻域),如果其中有较多的邻域像素与该像素的灰度值有较大的差别,则该像素为受椒盐噪声影响的像素的可能性就比较大。具体可设计两个阈值,Tv和Tn,Tv用来判断邻域像素间灰度值的差别是否足够大,Tn用来判断灰度差别足够大的像素个数是否足够多。如果对一个待检测像素,其邻域中灰度值与其灰度值的差别大于Tv的像素个数又多于Tn,则它很有可能是受椒盐噪声影响的像素。 实际中,设位于(x,y)处像素的邻域为N(x,y),属于该邻域的像素用f(s,t)表示,则可将上面两个准则结合到如下公式(#[·]代表个数,分子代表与邻域像素间灰度值差别大于阈值Tv的像素数,分母代表邻域像素总个数,这样Tn对应百分比阈值)中: #f(x,y)-f(s,t)>Tv#N(x,y)>Tn(5.2.8) 这里结合使用了两个准则。因为如果仅使用灰度范围准则,有可能会把图像中一些原来灰度值在[Lmin+Tg,Lmax-Tg]范围中的正常像素也误判为受脉冲噪声影响的像素; 而如果仅使用局部差别准则,则有可能将许多正常的边缘像素都误判为受脉冲噪声影响的像素。同时满足两个准则的像素是受脉冲噪声影响真实可能性很大的像素。 3. 滤波器选择 当图像同时受到脉冲噪声和高斯噪声影响时,在如上检测出受脉冲噪声影响的像素集合后,可以将图像分为两个集合,一个集合仅受到高斯噪声影响,另一个集合不仅受到高斯噪声影响还受到脉冲噪声影响。由于受到脉冲噪声影响的像素的灰度会取到图像灰度范围的两个极端值,所以在这些像素上高斯噪声的影响可以忽略。这样一来,图像可分为仅受到高斯噪声影响和仅受到脉冲噪声影响的两个集合。对仅受到脉冲噪声影响的像素,可利用中值滤波器来消除噪声。而对仅受到高斯噪声影响的像素,可以用均值类滤波器来消除噪声。 图5.2.6给出了运用选择性滤波器消除混合噪声的一个示例。图5.2.6(a)是原始图像,图5.2.6(b)是受到混合噪声影响的图像(其中高斯噪声均值为0,方差为162; 脉冲噪声的比例为20%),图5.2.6(c)是用选择性滤波器消除噪声后获得的图像。两种噪声都得到了较好的消除效果。 图5.2.6选择性滤波示例 实验结果表明,在消除各种混合比例的混合脉冲噪声和高斯噪声时使用选择性滤波器的效果比单独使用其中任何一个滤波器的效果都要好。 5.3开关中值滤波器 椒盐噪声对图像的影响有其特点,一方面,椒盐噪声在空间上的分布是离散的,或者说,它并不对所有像素都造成影响; 另一方面,椒盐噪声在幅度上是很大的,受噪声影响的像素或者很接近白色,或者很接近黑色,均极大地改变了像素原来的灰度。根据椒盐噪声的这些特点,有一些方法在消除椒盐噪声时先对椒盐噪声像素进行检测或判断然后再进行处理。如果像素没有受到噪声影响,就完全不用处理,如果受到了噪声影响,才针对性地进行处理。 一种借助这种思路、在中值滤波器基础上提出的专门消除椒盐噪声的滤波器是开关中值滤波器(也可称切换中值滤波器)。下面先介绍基本的方法,再讨论一些改进措施。 5.3.1开关中值滤波原理 开关中值滤波消除脉冲噪声的第一步是确定、辨识噪声像素,然后是对辨识出的噪声像素进行滤波消除。其中第一步既是后续消除噪声的基础,也有一定的难度。下面主要讨论第一步。 1. 噪声模型 式(5.1.7)给出的脉冲噪声所对应的随机变量的PDF是一种基本的情况。事实上脉冲噪声所对应的PDF由特殊到通用可以分成4种模型,下面依次介绍(仍使用那里的约定)。 1) 模型1 在这个模型中,图像像素被两个极端值(对8比特灰度图,分别是0和255)所影响/损坏(污染)。这里设两个极端值的概率是相同的,即噪声密度P=Pa=Pb。如果设在位置(x,y)的像素f(x,y)受噪声影响后变为g(x,y),则此时模型1的概率密度函数为 p(1)(z)=P/2z=0 1-Pz=g(x,y) P/2z=255(5.3.1) 2) 模型2 在这个模型中,图像像素仍被两个极端值(对8比特灰度图,分别是0和255)所影响(污染)。与模型1不同,模型2中不设两个极端值有相同的概率,而设被污染的像素既可能受椒噪声影响也可能受盐噪声的影响,即噪声密度是椒噪声密度与盐噪声密度之和,P=Pa+Pb(且Pa≠Pb)。如果设在位置(x,y)的像素f(x,y)受噪声影响后变为g(x,y),则此时模型2的概率密度函数为 p(2)(z)=Pa/2z=0 1-Pz=g(x,y) Pb/2z=255(5.3.2) 3) 模型3 在这个模型中,图像像素不再仅被两个固定的极端值(对8比特灰度图,分别是0和255)所影响(污染),而是被两个极端的数值范围所影响。设这两个数值范围的概率相同,宽度都为W,如当W=6时,这两个范围分别为[0,5]和[250,255]。这样一来,如果设在位置(x,y)的像素f(x,y)受噪声影响后变为g(x,y),则此时模型3的概率密度函数为 p(3)(z)=(P/2)W0≤zTb(5.3.5) 很明显,如果g(x,y)被划分到中间灰度像素类,即其灰度值不是极端值,则它应按没有被污染来处理; 如果g(x,y)被划分到低灰度像素类或高灰度像素类,则它很有可能是受噪声污染的像素。这里设原始图像不是曝光严重不足或严重过度的图像,即各种灰度的总体分布是比较均衡的。在这样的条件下,脉冲噪声会导致像素邻域直方图的两端有较高的峰,这两个峰与原始图像中各自邻近的直方条之间有较明显的谷。这两个峰与两个谷之间的部分就构成前述的三个聚类。 根据上面的分析,把噪声检测步骤归纳如下: (1) 对有噪声图像中的每个像素g(x,y),以其为中心,选择一个较大的窗口作为该像素的邻域; (2) 将窗口中的像素根据灰度排序组成一个灰度值矢量Vg,并确定序列的中值m; (3) 计算Vg的差分矢量Vd,即序列中前后相邻两个像素的灰度差所组成的矢量; (4) 在Vd中分别确定对应[0,m]和[m,255]两个区间范围具有最大值的像素,将这两个像素的灰度值作为聚类划分的阈值Ta和Tb; (5) 根据确定的阈值Ta和Tb,将处于窗口中心的像素根据式(5.3.5)划分到三个类别中; (6) 如果处于窗口中心的像素属于中间灰度像素类,即认为它是无噪声的; (7) 如果处于窗中心的像素属于低灰度像素类或属于高灰度像素类,则用一个较小的窗口再按步骤(2)到步骤(5)进行一次计算和判断。 可见,对根据边界判别噪声检测而判断出属于低灰度像素类或高灰度像素类的像素要进行两次计算,第1次用一个较大的窗口,第2次用一个较小的窗口,以实现从粗到细的判断。这两个窗口的尺寸可根据经验选择,例如,[Ng 2006]中将较大的窗口选为21×21,而将较小的窗口选为3×3。 3. 噪声适应滤波 检测出噪声像素后,需要进行滤波以消除噪声。这里可使用噪声适应滤波器[Eng 2001]。该滤波器从最小滤波窗口尺寸开始,如果窗口中的噪声密度比较大,则扩大窗口继续计算。设用N代表窗口中无噪声像素的数量,用S代表窗口中所有像素的数量,用Wl代表窗口边长的当前尺寸,用WM代表窗口边长的最大尺寸,则窗口尺寸的迭代选择步骤为 (1) 初始化Wl=3; (2) 计算当前窗口中的N; (3) 如果(N40% 7×7 最后,在滤波窗口Wl×Wl里计算中值: ge(x,y)=median(s,t)∈Wg(x-s,y-t)(5.3.6) 其中 W={(s,t)|-(Wl-1)/2≤s,t≤(Wl-1)/2}(5.3.7) 这里可将中心像素排除在排序操作之外,因为进入滤波的都是有噪声的像素,将中心像素排除在外会得到失真较小的结果。 5.3.2基于开关的自适应加权均值滤波器 前述使用边界判别噪声检测方法需要对图像中每个像素进行,在第一次迭代计算时使用了尺寸为21×21的较大窗口,所以需要较大的计算量。为克服这个问题,可以使用基于开关的自适应加权均值(SAWM)滤波器。它将方向差分噪声检测器与自适应加权均值滤波器相结合来消除图像中的噪声[Zhang 2009a]。 1. 方向差分噪声检测器 设以噪声图像g(x,y)中像素位置(x,y)为中心的正方形窗口为W(x,y),窗口边长为L,则W(x,y)={(x+s,y+t)|-(L-1)/2≤s,t≤(L-1)/2}。如果将窗口中的像素(按增或减)排序,则噪声像素主要集中在序列的头和尾两端。如果用gk代表序列中的第k个像素,则可将窗口中的噪声候选像素写成 N(x,y)=(x+s,y+t)|(x+s,y+t)∈W(x,y)∧(gx+s,y+t≤gr∨gx+s,y+t≥gL×L-r+1)(5.3.8) 其中,r是根据噪声种类选定的整数,满足1≤r≤(L2-1)/2。 在图像中,沿同一边缘方向的像素常具有接近的像素值。为利用这个特性以便将边缘与脉冲噪声区别开,可将检测窗口分解成4个方向子窗口。对边长L=3的分解结果可见图5.3.1。对更大的窗口,已有仿真表明: 更多方向的分解只能增加很少的噪声检测准确度,但计算代价的增加更多。所以只考虑4个方向在实际中比较合适。用以消除噪声的4个方向子窗口可写为 W(1)(x,y)=(x,y+s)|(x,y+s)∈W(x,y)∧(x,y+s)N(x,y)(5.3.9) W(2)(x,y)=(x+s,y-s)|(x+s,y-s)∈W(x,y)∧(x+s,y-s)N(x,y)(5.3.10) W(3)(x,y)=(x+s,y)|(x+s,y)∈W(x,y)∧(x+s,y)N(x,y)(5.3.11) W(4)(x,y)=(x+s,y+s)|(x+s,y+s)∈W(x,y)∧(x+s,y+s)N(x,y)(5.3.12) 图5.3.1对3×3检测窗口的方向子窗口分解 对任一个子窗口W(k)(x,y)(1≤k≤4),其中心像素与邻域像素之间差的绝对加权均值为 d-(k)(x,y)=∑(x+s,y+t)∈W(k)(x,y)V(x+s,y+t)d(x+s,y+t)∑(x+s,y+t)∈W(k)(x,y)V(x+s,y+t)W(k)(x,y)≠ gL×L-r+1-grW(k)(x,y)=(5.3.13) 其中,代表空集,d(x+s,y+t)表示g(x+s,y+t)与g(x,y)之间的差,V(x+s,y+t)是g(x+s,y+t)的权重。这里设V(x+s,y+t)是随着d(x+s,y+t)的绝对值增加而减少的,以削弱大的差的绝对加权平均值的影响。仿真实验表明,V(x+s,y+t)可选择如下: V(x+s,y+s)=11+|d(x+s,y+s)|2(5.3.14) 令D(x,y)代表4个绝对加权平均值中最小的,即D(x,y)=mink[d-(k)(x,y)]。最小的D(x,y)依赖于噪声图像的局部特征。如果中心像素被脉冲噪声所污染,D(x,y)将取一个很大的值,即任一个子窗口中的g(x+s,y+t)与g(x,y)都有很大的差别,且4个均值都很大。当处在平滑区域的中心像素没有受到噪声影响时,在任一个子窗口W(k)(x,y)中的d-(k)(x,y)都会很小,因为W(k)(x,y)中的像素具有相似的灰度值,所以D(x,y)的值会很小。类似地,如果中心像素是没有受到噪声影响的像素,D(x,y)的值也会很小,因为边缘的特性保证了4个均值之一会很小。 上述分析表明,可以使用D(x,y)作为检测脉冲噪声的一个测度。通过将D(x,y)与一个事先确定的阈值T进行比较,如果D(x,y)≥T,则在(x,y)处的像素应是一个噪声像素,此时用二值标记b(x,y)=1标识; 如果D(x,y)Tl或D(max)(x,y)-D(min)(x,y)>Th,则判断像素g(x,y)损坏; 否则像素g(x,y)无噪声。这里,Tl和Th是两个预先定义的阈值(实验值分别为5/255和1/255)。 最终分类规则的逻辑如下: (1) 如果当前像素对应于孤立的脉冲噪声,则4个卷积值中的每一个都必然很大; (2) 如果在当前像素的邻域中只有很少的噪声,则所有4个卷积值都必然很小,并且这些值之间的差异不那么明显; (3) 如果当前像素未损坏但被分类为损坏类别,则4个卷积值之间的差异应低于一定水平,因为脉冲噪声在给定图像上是均匀分布的。 4. 效果比较 对前面三种方法在一些公开图像上叠加脉冲噪声进行了仿真实验比较。 对每幅测试图像,分别选择噪声密度10%、20%、30%、40%、50%、60%、70%、80%、90%,对每种噪声密度叠加20次并进行20次检测,然后取20次结果的平均值作为最终结果。所用的评价测度是漏检(有噪声未被检测到)像素数量和虚警(无噪声被判断为有噪声)像素数量。它们都可借助将检测值与真值比较而获得。 表5.3.2和表5.3.3分别给出对Lena图像和Baboon图像叠加噪声密度20%、40%、60%、80%、90%得到的检测结果。 表5.3.2三种方法对Lena图像中噪声的检测结果 噪声密度 漏检 虚警 BDND SAWM 改进 BDND SAWM 改进 20% 0 0 0 2 0 0 40% 0 0 0 5 0 0 60% 0 0 0 6 0 0 80% 21 0 0 10 0 0 90% 190 0 0 5 0 0 表5.3.3三种方法对Baboon图像中噪声的检测结果 噪声密度 漏检 虚警 BDND SAWM 改进 BDND SAWM 改进 20% 0 6 0 30 51 4 40% 0 9 0 29 2 3 60% 0 8 0 24 1 1 80% 6 5 0 21 1 1 90% 272 2 0 16 0 1 5.4结合深度学习的图像去噪 随着深度学习技术的发展,其在图像去噪中的应用也越来越广泛。深度网络已被用于提取噪声的特性,用于获取去噪图像中的上下文信息,用于实现从噪声空间到原始无噪空间的图像映射,用于进行去噪效果的质量控制等。下面给出几个应用示例,主要介绍其原理和流程。 5.4.1非开关随机值脉冲噪声消除 脉冲噪声可分为两类: 固定值脉冲噪声(FVIN)和随机值脉冲噪声(RVIN)。相对于前几节主要介绍的FVIN噪声,RVIN噪声像素的亮度值可以是图像像素点亮度值的允许范围内的任何值。该值通常与邻域中像素点的亮度值相差不大,很难区分。因此,RVIN噪声的检测和去除更具挑战性。 使用深度卷积神经网络(DCNN)构建的非开关RVIN的降噪模型在降噪效果和执行效率方面通常比主流的开关RVIN更好,这种基于训练的(数据驱动的)降噪模型的性能受到其能否准确地确定降噪图像中噪声干扰的严重程度(即数据依赖性问题)的限制。 为了解决数据依赖性问题,已经提出了一种基于浅卷积神经网络的快速RVIN噪声比估计(NRE)模型[徐2020]。这里,将估计出的噪声比用作预测指标,以测量噪声引起的对图像干扰程度。首先通过在大量训练集上训练,获得NRE预测模型。其次将所提出的NRE预测模型与去噪卷积神经网络(DnCNN)相结合,所构建的非开关降噪算法可以针对特定间隔自适应地调用相应的预训练深度降噪模型(训练图像集中的噪声比值的范围被限制在较窄的范围内),从而有效地取得高质量的降噪效果。 所使用的网络结构如图5.4.1所示。所构建的NRE噪声比预测模型的输入是n×n的噪声块,它通过多个卷积层(每个卷积层使用3×3×16的卷积核来生成中间特征图),使用ReLU激活函数来提取特征,并结合池化和全连接层(FC)来降低维数以获得最终的噪声比值。 图5.4.1NRE噪声比估计模型的网络结构 5.4.2强噪声图像去噪 为了提高在强噪声(特定高斯噪声和随机高斯噪声)环境中图像去噪的质量,可以采用一种基于对称扩展卷积残差网络的算法[盖2020]。在强噪声环境中,图像内部可用的有效信息相对较少。因此,在网络训练过程中,有必要更充分地挖掘和利用图像的有效信息来提取和学习图像特征。 算法的总体流程如图5.4.2所示,共有10层。在设计中,依次考虑了以下因素: 图5.4.2强噪声图像去噪方法流程图 (1) 使用泄漏ReLU函数,可以在网络训练过程中更好地保留图像的有效信息,并获得最佳的去噪效果。 (2) 使用批归一化(BN),可用于解决网络内协变量的传递,克服深度神经网络难以训练的缺点,并有效防止梯度分散。它还可以加快训练过程中的收敛速度,提高模型精度,降低模型初始化的敏感性。 (3) 使用扩展卷积技术,在不增加网络计算负担的情况下增加网络的感受野,从而平衡神经网络感受野的大小和网络的深度。这使网络能获得并充分利用去噪图像中的上下文信息并可以用于修复去噪图像中的受损像素,完成图像去噪任务。 (4) 使用残差学习策略,以使得深度卷积神经网络易于训练,从而可以更好地提高图像分类和目标检测的准确性。 5.4.3基于多通道GAN的图像去噪 这里采用的去噪模型如下。令f表示噪声图像,h表示原始无噪图像,去噪是确定一个从噪声空间到原始空间的映射: M: f→h(5.4.1) 可以借助生成对抗网络(GAN)来实现这种映射。一种基于多通道GAN的图像去噪方法如下[王2021]。首先将噪声图像分离为RGB三通道分别处理。这里对各通道使用了相同的网络结构,以尽可能保持融合后各通道的细节信息。图5.4.3给出了单个通道中的算法流程框图。生成器G的输入是噪声图像,输出则是去噪图像G(f); 判别器D的输入是原始图像h及去噪图像G(f),输出则为一个二值判断,表示去噪图像与原始图像的相似性。基于所构造的复合损失函数交替迭代训练判别及生成网络,使G(f)渐次逼近真实图像,直到使D无法准确区分原始及生成图像。最后加权融合各个通道的输出,以获得最终去噪图像。 图5.4.3基于GAN的图像去噪框图 这里的生成网络由具有编码/解码器结构的全卷积神经网络Unet及ResNet构建,以提取深度特征进而避免丢失细节信息。而判别网络基于全卷积神经网络构建,其中将传统CNN中全连接层替换为卷积层,以获得像素级分类从而提升判别精确性。 复合损失函数综合考虑了对抗损失、MSE损失和感知损失。借助对抗损失,通过反向调节生成器及判别器,从而提升生成网络的生成图像与原始图像之间的相似性,进而改善图像去噪性能。常用的目标函数可表示为 minGmaxDLGAN(D,G)=Eh~Ph[logD(h)]+Ef~Pf[log(1-D(G(f)))](5.4.2) 其中,E(·)为期望算子,logD(h)为判别器正确识别真实图像的概率,log[1-D(G(f))]表示D将生成图像识别为虚假图像的概率。 仅使用对抗损失有可能导致高频伪影。为此,结合具有均值回归特性的MSE损失以缓解细节平滑效应。MSE损失可表示为 LMSE=G(f)-h2(5.4.3) 借助MSE损失训练网络易产生图像模糊而导致主观信息缺失,所以又引入了可以度量生成图像与原始图像在感知特征空间距离的感知损失,以保持主观特征信息: LVGG=E(f,h)C[G(f)]-C(h)2(5.4.4) 其中,E(·)代表预训练VGG19网络的最后卷积层的输出。 将3种损失度量结合起来(如使用加权和),就可以构造出能体现去噪效果、内容完整性以及主观视觉效果的复合损失函数。 5.4.4地震图像中噪声滤波结果的分类 地震成像是地下油气勘探的主要技术。原始地震数据常会被噪声和不需要的反射严重污染,需要在进一步处理之前去除。因此,噪声消除需在早期阶段进行的,通常在采集数据时进行。遥感图像在数字化和传输过程中经常受到噪声的影响。去噪是提高图像质量的一种不可或缺的方法[吴2020]。 为了使去噪过程更有把握,需要进行质量控制(QC)。它可以确保不需要对昂贵的数据进行重新采集。为此,提出了一种构建自动质量控制系统的监督学习方法[Mejri 2020]。质量控制系统是一种基于属性的分类器,它被训练为对三种类型的去噪结果进行分类(理想=去噪良好; 重度=去噪过度,图像产生失真; 轻度=去噪不足,图像中残留噪声),从数据中计算属性,并以地球物理学方式表示,以用于对去噪质量进行统计测量。 实验结果表明,某些属性在不同类型的去噪之间显示出良好的视觉分离水平,尤其是重度的去噪。轻度去噪和理想去噪的属性簇很接近,因为它们反映了先前对两种去噪之间细微差异的观察。 在该系统中,使用了多层感知器(MLP)进行分类。这里基于一个基本假设,即在没有正则化的情况下,随着深度的增加,最优MLP的结构趋于过拟合。所以要采用安全MLP构建策略,以最小验证的交叉熵误差来构建多层感知器模型。 图5.4.4描述了一个一对多(一vs.多)的二进制分类过程的流程图。使用提升聚合策略将训练集和验证集拆分(分裂)为大小相等的K个子集。训练和验证子集被转换为N=3个二进制集合。然后,使用二进制MLP生成器来预测所有二进制决策子空间。最后,预测的类别成员被反馈给投票系统,该投票系统根据多数投票决定类别,从而产生更准确的分类结果。 图5.4.4多类MLP生成器决策的策略和流程 总结和复习 随堂测试