基于改进PCNN决策的非对称裁剪中值去噪方法
2019-11-05朱世松吴亚楠
朱世松,吴亚楠
(河南理工大学计算机科学与技术学院,河南焦作 454000)
0 引言
图像在获取、传输、存储过程中易受到随机椒盐噪声干扰,从而降低图像的质量和视觉效果。在去噪同时要尽可能保护图像边缘与细节,而传统降噪方法是针对图像中所有的像素统一处理,在去噪声的同时会损坏图像的细节和边缘信息,因此对图像去噪就成了图像预处理的首要任务。
脉冲耦合神经网络(pulse coupled neural network,PCNN)是Eckhorn根据猫的大脑视觉皮层上同步脉冲发放现象提出的第三代人工神经网络[1],目前已被广泛应用于图像处理的各个领域,如图像分割、融合、识别、降噪等[2-5]领域。文献[6]利用简化的PCNN模型进行一次点火,定位出被污染的噪声点,之后对检测出的噪声点利用级化中值滤波方法滤除。文献[7]利用可变连接系数反映像素间耦合关系,同时利用PCNN的同步脉冲特性对图像小波系数局部加窗修正后使用维纳滤波去噪,取得了较好的视觉效果。文献[8]利用PCNN模型相似神经元同步发放脉冲的特性,与扩展窗口的中值滤波相结合,体现了比较优异的滤波性能。
本文根据简化PCNN模型,提出一种自适应突触连接系数,提高了对噪声的辨识度,对时间矩阵中最值定位和噪声点检测,判断是否需要滤波,若符合滤波决策则执行UTMF处理,否则直接输出。该方法在提高降噪效果同时能更好地保留图像边缘细节信息。
1 PCNN神经元模型及理论
PCNN是由若干个神经元互联而构成的动态非线性神经网络,一般PCNN模型如图1所示,由3部分组成:输入区、连接输入区、脉冲发生器。
图1 脉冲耦合神经元模型
该模型的数学形式可用以下方程描述:
(1)
(2)
Uij[n]=Fij[n](1+βLij[n])
(3)
(4)
θij[n]=e-αθθij[n-1]+VθYij[n-1]
(5)
式中:Iij、Fij、Lij、Uij、Yij和θij分别为神经元的外部刺激(像素灰度值)、反馈输入、连接输入、内部活动项、脉冲输出与动态阈值;M和W分别为神经元(k,l)和(i,j)之间F通道与L通道的突触连接权系数矩阵;VF、VL、Vθ分别为相应的幅度系数;αF、αL、αθ为相应的衰减时间常数;β为突触连接系数;下标(i,j)表示神经元(像素)的坐标;k和l表示神经元与周边连接的范围,一般取3×3;n为迭代次数。
PCNN模型中某个神经元(像素点)激发点火会造成该神经元邻域内与其亮度相近(灰度值相近)的神经元被捕获激发点火,形成同步发放脉冲现象,自动实现信息的传递和耦合[9]。在利用PCNN进行图像处理时,利用其同步脉冲发放特性以及捕获神经元点火现象,可以消除邻近空间域内亮度相似像素的灰度差,达到对图像平滑处理的目的。
2 改进PCNN的UTMF滤波模型
2.1 自适应连接系数的PCNN简化模型
用PCNN模型进行图像处理时参数较多,滤波效果也和参数的选取密切相关,极大地降低了利用PCNN进行图像处理的自适应程度。因此在使用PCNN模型进行图像处理时,常将其模型简化以省去部分参数的设置,简化的PCNN模型如下:
Fij[n]=Iij
(6)
(7)
Uij[n]=Fij[n](1+βLij[n])
(8)
(9)
θij[n]=e-αθθij[n-1]
(10)
简化PCNN模型的参数含义与未简化模型相同,由于空域邻近和输入刺激相似的神经元之间会产生较大耦合,其耦合度越高,邻域内满足同步点火的神经元就越多。在PCNN模型中用固定β值0.1时,使得图像内所有像素与其邻域像素的连接通道系数相同,抑制了因耦合度不同而引发同步点火的神经元数量;因此需对内部活动项中连接通道的系数β进行改进,使其伴随当前神经元(i,j)与其邻域神经元的耦合程度而自适应改变。当神经元(i,j)的灰度值越接近于其邻域神经元的灰度均值时,神经元之间的耦合程度越高,说明灰度值越相近的神经元就越容易同时点火发放脉冲,此时应赋予β一个较大的值;反之,耦合程度越低,邻域神经元越不易被捕获点火,β的取值就越小。根据PCNN这一特性以及式(8),改进后的β如下:
(11)
式中:m=⎣|Fij-Pijkl|」为神经元(i,j)与其邻神经元灰度均值的差的绝对值向下取整;Pijkl为神经元3×3邻域所有神经元灰度值的均值。
图2为连接系数变化曲线图,其中横坐标表示神经元(i,j)与其邻域神经元灰色均值差的绝对值,纵坐标表示连接系数的取值。当PCNN的连接系数β为定值0.1时,使得连接系数在耦合度高的区域取值过低,而在耦合度低的区域取值较高,影响了相似神经元之间的同步脉冲点火。然而每个神经元的连接强度β都和其邻域神经元与当前神经元的耦合度密切相关,因此由式(11)与图2中自适应β取值可看出,当神经元(i,j)的反馈输入Fij与其3×3邻域的反映输入平均值相等(即当前神经元与邻域神经元的相似度最高)时,则连接系数β取最大值1,使其邻域神经元更容易被同步捕获点火。如果二者之差越大,则表明相似度越低,那么连接系数β的取值就越小,邻域神经元越不易被捕获点火。
图2 连接系数变化曲线
2.2 PCNN点火时间矩阵
通过简化PCNN模型对噪声图像进行处理时,定义一个与噪声图像大小相等的点火时间矩阵T,T中元素与噪声图像神经元的初次点火时刻[10-13]一一对应。PCNN点火时间矩阵的数学表达式为
(12)
Tij[n]表示神经元(i,j)的第一次点火时刻,当神经元(i,j)在第n时刻第一次点火时,点火矩阵相应位置记录的数据为时刻n的值;神经元未点过火,则点火矩阵相应位置记录为0;如果当前神经元已经点过火,则赋予较大阈值,避免其再次点火,使时间矩阵中相应位置只记录初次点火时刻。PCNN迭代运行到时间矩阵中所有的元素皆不为0,最终生成的矩阵T就是PCNN点火时间矩阵。
2.3 非对称裁剪中值滤波
传统中值滤波作为一种常用的非线性统计滤波,可以有效抑制椒盐噪声,但由于其未能考虑局部邻域像素分布对当前像素值的影响,在滤波过程中会破坏图像的结构和细节;阿尔法均值滤波是一种对称滤波器,将邻域像素排序后对其前后两端像素的裁剪是对称的,在处理中即使未损坏的像素也会被裁剪掉,导致图像细节的丢失和图像的模糊;非对称裁剪中值滤波(unsymmetric trimmed median filter,UTMF)算法[14]增加了对噪声的检测功能,当检测到像素判断为噪声像素时,裁剪掉滤波窗口中的0与255像素,将剩余像素的中值赋给当前像素,否则如果检测到的像素值介于最大灰度值与最小灰度值之间,则判断为无噪声像素,输出像素值保持不变。本文构造了根据点火时间矩阵进行判断噪声点并决策是否进行滤波处理的方法,所以引入文献[14],其中文献[14]基于决策的非对称裁剪中值滤波(modified decision based unsymmetric trimmed median filter,MDBUTMF)算法[14]步骤如下:
(1)选择3×3滤波窗口,设待处理的像素为Pij;
(2)当0 (3)当Pij=0或者255时,认为Pij是被污染的像素: 如果窗口中所有元素均为0或255,则将窗口中所有元素的均值赋给Pij; 如果窗口中不是所有元素都为0或者255,则将裁剪污染像素之后的剩余像素中值赋给Pij; (4)重复步骤(1)到(3),直至所有像素都被处理。 由判断神经元是否激发点火的式(9)可知,当噪声像素为盐噪声(255)时,神经元会率先点火,在 PCNN时间矩阵T中记录为最小值;反之当噪声点为椒噪声(0)时,时间矩阵T中记录为最大值。根据点火矩阵中最大值与最小值分别代表椒噪声和盐噪声的特点,只需定位时间矩阵中最大值和最小值的位置,就可以同步定位噪声图像噪声点位置,直接对噪声定位后的噪声图像进行改进后的MDBUTMF滤波处理即可。具体算法描述如下: (1)初始化PCNN模型各个参数的初始值,令神经元的输出Y(i,j)=0,即处于熄火状态; (2)输入含有脉冲噪声的图像X(i,j),同时对X(i,j)进行预处理,即如果X(i,j)<Δθ,则X(i,j)=Δθ,如果X(i,j)>Δθ则X(i,j)=L-Δθ(其中Δθ=10,L为图像最大灰度值),生成新的X′(i,j); (3)对噪声图像镜像扩边,按照式(6)-式(11)迭代生成与其大小相等的时间矩阵T,定位点火时间矩阵中最大值与最小值,对点火时间矩阵T使用3×3窗口W进行滑动; (4)如果窗口W中心点元素介于时间矩阵中的最大值或最小值,认为噪声图像相应位置是未被污染的,输出值不变; (5)如果窗口W中元素不全等于时间矩阵中的最大值或最小值,则对噪声图像相应位置的邻域像素进行排序处理,裁剪掉时间矩阵最大值与最小值对应位置的像素,输出值为剩余像素的中值;如果窗口W中元素全等于时间矩阵中的最大值或最小值,则对噪声图像相应位置进行均值滤波处理; (6)重复步骤(4)到(5),直到时间矩阵中所有最值都被窗口W覆盖,最终输出滤波后的图像。 为对本文方法进行分析,对大小为256×256,灰度级为256的Lena和Cameraman图像添加噪声强度为5%~30%不同强度的脉冲噪声,并对污染后的图像用中值滤波、PCNN、文献[10]、文献[11]以及本文方法进行测试。对滤波性能使用客观的评价标准:峰值信噪比(peak signal to noise ratio,PSNR)、均方误差(mean-square error,MSE)和平均绝对误差(mean absolute error,MAE)进行衡量。 实验中所用到的参数为:VL=0.7、αθ=0.2、W=[0.5 1 0.5;1 0 1;0.5 1 0.5]、θ0=260 、定值β为0.1。文中方法均使用3×3的滤波窗口,神经元的反馈输入均与本文方法相等。图3和图4为加噪声强度10%的不同滤波方法处理的视觉结果比较,其中(a)为原始图像、(b)为噪声图像、(c)为PCNN滤波图像、(d)为文献[10]滤波图像、(e)为文献[11]滤波图像、(f)为本文方法滤波图像。 图3 不同方法对Lena图像滤波处理结果的比较 图4 不同方法对Cameraman图像滤波处理结果的比较 图5 不同方法在不同噪声强度下对Lena去噪的PSNR比较 从实验对比图中可明显看出图3(f)帽尾羽毛处细节保留较其他方法更为完整,且肩部处的处理也更加平滑;图4(f)中的草地细节保留和原图最为相近,三脚架上的白线条保留较其他方法更加完整;与对比实验方法相比,降低了图像模糊度,充分说明本文方法不仅能更好地滤除噪声,而且能更好地保护边缘和细节信息。且从图5可以看出,中值滤波和传统PCNN在噪声强度稍大时,二者的滤波性能较差,文献[10]与文献[11]在低噪声强度时滤波效果明显低于本文滤波方法,但随着噪声强度增加到一定的强度时,本文方法的降噪效果也会下降,所以本文方法将噪声强度范围限制在5%~30%。且由于连接系数的自适应特性,本文方法在对不同类别图像进行处理时使用无需修改算法,适应性更强。 表1对加脉冲噪声强度为10%的Lena和Cameraman图像采用5种不同滤波方法下PSNR、MSE和MAE指标进行比较。表2对加不同脉冲噪声强度的Lena图像采用不同滤波方法的降噪指标进行比较。 表1 对加10%脉冲噪声的Lena和Cameraman图像采用不同滤波方法的降噪指标比较 表2 对加不同脉冲噪声强度的的Lena图像采用不同滤波方法的降噪指标比较 从表1中不同滤波方法对Lena和Cameraman图像的降噪指标来看本文方法优于中值滤波、PCNN及文献[10]和文献[11]方法。由于传统的PCNN模型利用了神经元的集体脉冲发放特性,噪声图像经过定位和处理之后在某一区域会变得平滑,使得边缘细节信息缺失,而本文方法较文献[10]与文献[11]对灰度图像在去噪效果上取得了更高的PSNR,且在视觉效果上远优于二者,使图像更多的边缘与细节信息得以保留。其中文献[15]使用多层PCNN对噪声重复定位,在高噪声情况下能够保留良好的细节,值得借鉴。实验表明本文算法优于文中多种对比滤波方法,对高噪声强度图像的滤波有待更进一步研究。 本文提出了一种根据神经元(i,j)灰度值与其相邻邻域神经元灰度中值的差值自适应确定连接系数的方法,对神经元(i,j)而言,当其邻域灰度中值与其灰度值越相近,耦合程度越高,获得的突触连接系数越大,越容易被捕获点火;并且根据噪声反馈在点火时间矩阵中为矩阵极值的特性,只对根据点火时间矩阵检测到的噪声点的决策进行UTMF滤波处理。实验证明在与中值滤波、PCNN、文献[10]和文献[11]滤波方法实验对比下,本文方法取得了更高的信噪比,降低模糊度的同时能够更好地保留图像的边缘与细节信息,在人眼主观感受下明显优于其他方法;且由于连接系数的自适应特性,本文改进后的方法较PCNN、文献[10]和文献[11]滤波算法具有更广泛的应用与更强的适用性。2.4 基于时间矩阵决策的UTMF具体算法
3 实验结果与分析
4 结束语