基于GA-BP神经网络的图像椒盐噪声自适应滤波方法
技术领域
本发明涉及一种图像噪声滤波方法,更具体地说是一基于GA-BP神经网络的图像椒盐噪声自适应滤波方法。
背景技术
图像在获取和传输的过程中经常会受到椒盐噪声的影响,有效去除图像中噪声的同时保持它的特征是图像处理中的一个基本问题。中值滤波是去除图像椒盐噪声最常用的方法之一,运算简单效率高,但是滤波效果受滤波窗口大小的影响,而且中值滤波对所有的像素进行统一处理,信号点和噪声点都被改变了,造成了图像边缘细节的模糊。针对中值滤波的这种缺陷,先进行噪声定位再滤波的思想应运而生。学者们据此提出了多种改进算法,如开关中值(SMF)滤波方法、递进开关中值(PSM)滤波方法、极值中值(EM)滤波方法、自适应中值滤波(AMF)方法等。这些算法滤波质量和保护图像细节能力有所提高,但在实际应用中都有各自的局限性,尤其是当噪声密度较大时滤波效果不理想。
BP神经网络泛化能力强,结构简单易于实现,适合解决判断图像像素为噪声点还是信号点的分类问题,但是BP神经网络的寻优不具有唯一性,会出现局部极小现象;另一方面,初始权值和阈值是随机给的,导致了训练的次数较多,收敛速度慢。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法,自适应能力强。该算法的搜索不依赖梯度信息,只需求解函数在约束条件下的可行解,具有全局搜索的特性,不易陷入局部极小,从而可以较好地解决BP神经网络存在的问题,并且能够有效提高神经网络的泛化性能。
发明内容
本发明解决的技术问题是提供一种基于GA-BP神经网络的图像椒盐噪声自适应滤波方法。
为解决背景技术中存在的技术问题,本发明提供的一种基于GA-BP神经网络的图像椒盐噪声自适应滤波方法,包括以下步骤:
步骤一、用遗传算法优化BP神经网络的初始权值和初始阈值;
步骤二、训练GA-BP神经网络;
步骤三、用训练好的GA-BP神经网络对图像进行噪声检测;
步骤四、对检测出的图像噪声点进行自适应均值滤波。
进一步地,本发明基于GA-BP神经网络的图像椒盐噪声自适应滤波方法中,用遗传算法优化BP神经网络的初始权值和初始阈值,具体为:首先用遗传算法对初始权值和阈值进行快速的全局搜索,等达到一定要求后,再利用BP算法在局部进行最优搜索,直到达到要求的精度为止。遗传算法的染色体就是BP网络的一个连接权值或阈值,每个染色体用特定的方式编码,遗传算法满意解就是BP神经网络的权值和阈值的近似值。
进一步地,本发明基于GA-BP神经网络的图像椒盐噪声自适应滤波方法中,训练GA-BP神经网络,具体为:用计算机生成初始棋盘格图像作为训练图像,将图像分为8块分别加入不同密度的噪声,然后用噪声图像减去原始图像,当差值不为0时,噪声分布矩阵标记该点为1,反之则标记该点为0,由此得到图像噪声位置映像,并将其作为神经网络训练的目标图像。将图像像素值、中值、ROAD值作为神经网络的输入;
进一步地,本发明基于GA-BP神经网络的图像椒盐噪声自适应滤波方法中,对噪声点进行自适应均值滤波,具体为:
步骤A、设窗口大小为W×W,其中W为大于等于3的奇数,初始窗口为3*3,最大滤波窗口尺寸为WD×WD,若y(i,j)=0即非噪声点则不进行滤波,按原值输出,否则执行步骤B;
步骤B、根据步骤二中精确噪声位置的检测结果,使用窗口的总像素个数W×W减去窗口中噪声点个数的方法,计算出窗口内非噪声点的个数M,其中M为正整数,当W≤WD时,则执行步骤C,否则执行步骤D;
步骤C、判断M是否大于3,若M≥3,取窗口内所有未被污染信号点灰度值的均值作为输出,否则增加窗口大小,使W=W+2后执行步骤B;
步骤D、窗口停止扩张,判断M是否大于3,当M≥3,以窗口中M个非噪声点的灰度值的均值作为输出,否则取窗口中所有像素灰度值的均值作为输出。
本发明与现有技术相比,具有以下显著优点:(1)本发明使用遗传算法来优化BP神经网络的初始权值和阈值,可以较好地解决BP算法易陷入局部极小、收敛速度慢等问题,并且可以有效提高神经网络的泛化能力;(2)本发明使用GA-BP神经网络检测噪声时避免了迭代运算,整个滤波过程无人工干预,真正实现了自动滤噪;(3)本发明在对噪声进行自适应均值滤波时,非噪声点保持原值不变,且只用窗口中非噪声点的均值取代噪声点,有效滤除图像噪声的同时保护了图像的细节信息。
附图说明
图1为对同一图像Lena(512×512)在不同噪声密度下,GA-BP神经网络检测椒盐噪声的自适应滤波方法与SMF、PSMF、EM、AMF四种传统方法峰值信噪比PSNR比较。
图2(a)为lena原始图片;图2(b)为对图2(a)加入60%椒盐噪声之后的含噪图片
图2(c)为采用窗口大小为3*3SMF方法对图2(b)滤波之后的效果图;
图2(d)为采用窗口大小为3*3PSM方法对图2(b)滤波之后的效果图;
图2(e)为采用窗口大小为3*3EM方法对图2(b)滤波之后的效果图;
图2(f)为采用窗口大小为3*3AMF方法对图2(b)滤波之后的效果图;
图2(g)为采用本发明对图2(b)滤波之后的效果图;
图2(h)为图2(f)图的部分细节放大图;
图2(i)为图2(g)图的部分细节放大;
图3(a)为对原始图片加入90%椒盐噪声之后的含噪图片,图3(b)为采用窗口大小为3*3SMF方法对图3(a)滤波之后的效果图,
图3(c)、图3(d)、图3(e)为分别采用PSM、EM和AMF方法对图3(a)图滤波之后的效果图,图3(f)图为采用本发明对图3(a)滤波之后的效果图。
具体实施方式
本发明一种GA-BP神经网络检测椒盐噪声的自适应滤波方法,包括以下步骤:
步骤一:使用遗传算法优化BP神经网络的初始权值和阈值。
首先用遗传算法对初始权值和阈值进行快速的全局搜索,等达到一定要求 后,再利用BP算法在局部进行最优搜索,直到达到要求的精度为止。遗传算法的染色体就是BP网络的一个连接权值或阈值,每个染色体用特定的方式编码,遗传算法满意解就是BP神经网络的初始权值和初始阈值的近似值。
步骤二:训练GA-BP神经网络。
具体为:用计算机生成初始棋盘格图像作为训练图像,将图像分为8块分别加入不同密度的噪声,然后用噪声图像减去原始图像,当差值不为0时,噪声分布矩阵标记该点为1,反之则标记该点为0,由此得到图像噪声位置映像,并将其作为神经网络训练的目标图像。将图像像素值、中值、ROAD值作为神经网络的输入。
步骤三:用训练好的GA-BP神经网络对图像进行精确的噪声检测。
步骤四:使用步骤三得到的精确的噪声位置映像对图像进行自适应均值滤波。
步骤A、设窗口大小为W×W,其中W为大于等于3的奇数,初始窗口为3*3,最大滤波窗口尺寸为WD×WD。根据检测结果,若y(i,j)=0即非噪声点则不进行滤波,按原值输出,否则执行步骤B;
步骤B、根据步骤二中精确噪声位置的检测结果,使用窗口的总像素个数W×W减去窗口中噪声点个数的方法,计算出窗口内非噪声点的个数M,其中M为正整数,当W≤WD时,则执行步骤C,否则执行步骤D;
步骤C、若M≥3,取窗口内所有未被污染信号点灰度值的均值作为输出,否则增加窗口大小,使W=W+2后执行步骤B;
步骤D、若W>WD,窗口停止扩张,当M≥3,以窗口中M个非噪声点的灰度值的均值作为输出,否则取窗口中所有像素灰度值的均值作为输出。
试验结果
如表1所示,本发明GA-BP神经网络检测椒盐噪声的自适应滤波方法对不同图像在不同噪声密度的情况下进行噪声性能检测。其中,wn代表把噪声识别为正常点,越小越好。FAR代表把正常点识别成噪声,也是越小越好。从表1可以看出,wn在各种图像各种噪声密度下均为0,所以本算法可以把所有的噪声点检测出来。FAR随着噪声密度的增加而增加,会把正常点识别成噪声点,但这样也比经典滤波方法把所有点当做噪声点好好得多。
表1噪声检测性能测试
误检数(wn)、误判率(FAR)
rd% |
Lena |
Baboon |
Pepper |
Cameraman |
Barbara |
|
wn |
FAR% |
Wn |
FAR% |
wn |
FAR% |
wn |
FAR% |
wn |
FAR% |
10 |
0 |
0.0503 |
0 |
0.0507 |
0 |
0.0502 |
0 |
0.0498 |
0 |
0.0497 |
20 |
0 |
0.1002 |
0 |
0.0996 |
0 |
0.1009 |
0 |
0.1018 |
0 |
0.0993 |
30 |
0 |
0.1492 |
0 |
0.1493 |
0 |
0.1506 |
0 |
0.1504 |
0 |
0.1498 |
40 |
0 |
0.1999 |
0 |
0.2004 |
0 |
0.1993 |
0 |
0.2020 |
0 |
0.2003 |
50 |
0 |
0.2501 |
0 |
0.2510 |
0 |
0.2502 |
0 |
0.2494 |
0 |
0.2504 |
60 |
0 |
0.3009 |
0 |
0.3002 |
0 |
0.3002 |
0 |
0.2957 |
0 |
0.2993 |
70 |
0 |
0.3506 |
0 |
0.3500 |
0 |
0.3489 |
0 |
0.3523 |
0 |
0.3508 |
80 |
0 |
0.3990 |
0 |
0.4004 |
0 |
0.4012 |
0 |
0.4042 |
0 |
0.3988 |
90 |
0 |
0.4485 |
0 |
0.4487 |
0 |
0.4521 |
0 |
0.4470 |
0 |
0.4497 |
如表2所示,对不同图像采用各种滤波方法,在噪声密度20%、50%和80%时,本发明的GA-BP神经网络检测椒盐噪声的自适应滤波方法与SMF、PSM、EM、AMF四种滤波方法相比,其峰值信噪比PSNR比较高。而作为滤波效果的主要衡量指标,信噪比PSNR越大越好。本算法的在各个图像各个噪声密度下的PSNR值均比别的滤波方法高,所以本算法的滤波效果比别的滤波方法要好。
表2不同图像各种滤波方法PSNR比较
如图1所示,作为滤波效果的主要衡量指标,信噪比PSNR越大越好。其中可见,本文算法的PSNR值为最高,由于PSNR越大,滤波效果越好。所以本算法比所有算法均有明显提高。
如图2(a)~图2(g)所示,图2(g)最接近于原图2(a),所以,本算法滤波方法最好。
如图3(a)~图3(f)所示,可见图3(b)、图3(c)、图3(d)基本不可 分辨,而图3(e)要比图3(f)差很多。而图3(f)最接近于图2中的(a)图,即lena原图,所以,在高密度的情况下,本算法也有着很好的效果。