摘 要:
图像通常包含多个颜色相同的连通区域,针对脉冲耦合神经网络无法对它们进行分离提取的问题,提出一种改进遍历过程的脉冲耦合神经网络模型。通过引入深度优先搜索遍历算法,将不连通的多个同色区域分层激活,从而实现分离。最后针对图像噪声对新模型的影响,对其作进一步改进。以每层激活区域的大小作为图像噪声杂点判定的依据,并引入均值滤波算法来消除。实验验证了改进后的模型对图像多个同色连通区域的分离效果及噪声杂点的去除能力。
关键词:脉冲耦合神经网络;噪声判定;均值滤波
0 引言
图像通常包含相同颜色、不同颜色的多个连通区域,对这些连通区域的分离提取在图像处理中起着关键作用[1],有助于后续的特征提取、分析及目标识别。目前针对图像连通区域提取的方法主要有像素标记法[2-3]、线标记法[4-5]、区域生长法[6-7]等,这些方法虽能有效提取图像中的连通区域,但它们大都是针对二值图像来作处理,可用于分离提取多个同色连通区域,而在处理包含多种颜色的图像时,需要将多种颜色降维至两种,如图像分割等,最终可能会导致多个位置相邻的目标作为单个目标被错误提取出来。
脉冲耦合神经网络(Pulse Coupled Neural Network, PCNN)较为符合人脑视皮层的工作机制,在图像处理中具有一定的优势[8]。PCNN可以通过多次迭代的输出来实现图像不同颜色区域的分离提取,但对一次迭代过程中出现的多个同色连通区域的分离却无能为力,目前还鲜有文献对此进行讨论。针对这一问题,本文将连通区域提取方法融入PCNN迭代过程中,提出一种改进遍历过程的PCNN模型结构(Pulse Coupled Neural Network of Improved Traversal,PCNNIT),使它在分离图像不同颜色区域的同时,也能够将颜色相同的多个连通区域一并分离提取出来。在此基础上,对每个连通区域的大小作噪声点判定,参考均值滤波算法来消除。仿真实验结果显示出,改进后的模型具有优良分层效果,在引入噪声消除模块后,具有较好的图像去噪能力,可轻易去除掉具有强对比度的孤立噪声点。
1 PCNN模型及其实现时的遍历过程
1.1 PCNN模型
1990年,Eckhorn根据猫的大脑皮层同步脉冲发放现象,提出了一种连接模型[9]。其后,Johnson和Ranganath等人又对该模型进行完善,使它更适合于图像处理,形成了标准PCNN模型[10-11]。该模型具有一定的生物学依据,但由于它的结构比较复杂、参数多等问题,目前较常用的是其简化形式,单个神经元的结构及其第n次迭代过程中的离散数学方程可描述为
1.2 PCNN模型遍历过程
PCNN模型在计算机中实现的遍历过程类似于广度优先遍历方式:处理完一个像素点后,开始处理其右邻接像素点;如果不存在,就处理下一行最左位置像素点;如果下一行也不存在,表示一次PCNN迭代的完成。
然而这种实现方式未能模拟生物同层神经细胞间的并行工作机制,原因在于:1)当前计算机中物理CPU个数受限;2)采用并发多线程技术(Simultaneous MultiThreading,SMT)时,又将涉及到内存占用、共享及数据一致性等问题,且单个PCNN模型的计算工作为浮点密集型,耗费CPU时间长,对浮点单元与内存带宽消耗比较大,使得PCNN模型的实现过程并不适合SMT技术而采用单线程方式进行逐个像素点的处理。由于这种遍历方式未考虑像素点的区域特性,造成图像中满足激活条件所有同色像素点同时激活,也就无法实现多个同色连通区域块分离。
基于此问题,本文改进了模型实现时的遍历过程,提出了PCNNIT模型,并由仿真实验来测试其分离提取能力。
2 PCNNIT
PCNNIT中单个神经元模型在简化PCNN基础上引入了点火时间矩阵(Fire Time Matrix,FTM) [12-13],增加了迭代次数的自动判定功能;综合深度优先、广度优先两种搜索方式来改进模型在计算机中实现时的遍历过程,实现了同色不相邻区域的分离。
2.1 PCNNIT中单个神经元模型
在简化PCNN基础上,新模型结构需要增加调整T值与遍历标记模块,如图2,离散方程描述增加了式(6)和(7):
本文取灰度图像作为实验材料,用Graymax表示图像最大灰度值,由于图像一般迭代10~40次即可得到较好结果,因此取最多迭代次数timesmax=50;另外,阈值指数降低,灰度值接近于零的像素点很难被激活,因此需要增加参数K来控制PCNN的迭代次数。参考人眼的灰度分辨特性,在0灰度附近人眼能分辨出7个灰度等级[14],即0灰度与7灰度认为是一个灰度颜色。则K值可取为:原始图像的灰度直方图中灰度值小于8的像素点个数,当剩余未激活像素点个数小于等于K时,迭代过程即可提前终止,此时PCNN只需迭代的次数为
2.2 PCNNIT模型的遍历过程
PCNNIT的遍历过程引入深度优先搜索遍历(Depth First Search Traverse,DFST),DFST属于区域生长法,描述如下:从像素点x出发,用PCNNIT数学方程对x作处理,然后再依次从x的满足条件1~3的邻接像素点出发进行深度优先遍历。
条件1 优先考虑x的邻接像素点位置次序,如图3(a),位置1→位置8的优先级逐次降低;
条件2 像素点未被遍历过,即式(7)中Flag(i, j)==0;
条件3 像素点经计算结果显示会激活,即式(5)中Yn(i, j)==1。
图3(b)为一次深度优先搜索遍历次序的实例:所有像素点均满足条件2;灰色像素点满足条件3,白色相反。则从像素1开始深度优先遍历时,黑色区域所有像素点将得到处理,次序如同时,为使PCNN能够分离同一层激活的非连通区域,需要在PCNNIT中设置图像复杂度参数im_com,作为每次深度遍历完成后迭代输出层号的增加量,如n=3,im_com=0.1时,则原本第3次迭代过程中激活的若干个连通区域将会在第3层、3.1层、3.2层……分开提取出来。PCNNIT实现过程伪代码描述如下:
2.3 实验及结果分析
为验证PCNNIT的区域分离功能,对如图4所示的图像分别利用传统PCNN与PCNNIT进行实验。
由实验结果(图5)可见四个字母的因为颜色接近,在传统PCNN实验中会同时激活于第4次迭代,无法确定像素点与字母的对应关系,因而无法单独提取某一个字母。而在PCNNIT中,字母“PCNN:依次激活于第4层、4.1层、4.2层、4.3层,白色背景被字母P分成两部分,分别激活于第3层、3.1层。即,每一层中激活的神经元均在同一颜色的连通区域中,从而在分离不同颜色区域块的同时,也实现了多个同色区域块的分开提取。
区域的分离提取在其他方面也很有意义,如:模拟人脑视觉系统过程中,可根据像素群的位置来确定注意的转移、释加地点等。然而,这种分层效果同样会给图像的后续处理带来新问题。
通常,图像在处理过程中会受到各种噪声干扰,产生杂乱无章的噪声点,使用PCNN模型来处理时,其耦合特性虽可过滤掉差异较小的噪声点,但对灰度对比强度较大的噪声点却无能为力[16-17];并且耦合特性还会影响一些区域边界像素点的正常激活,模型链接系数β越大,缓解噪声能力就越强,同时造成的负面影响也越大。这些未能过滤掉的噪声点同样是单一颜色的连通区域,因此在PCNNIT处理过程中就会产生数量巨大且无意义的迭代输出层,基于此问题,本文在PCNNIT中引入均值滤波(Mean Filtering,MF)算法[18],即PCNNIT(MF)来消除图像噪声点的影响。
3 PCNNIT(MF)
3.1 噪声杂点的判定
利用PCNNIT对图像单连通区域的分层提取,得到各个区域激活像素的数目,并将其作为噪声杂点判定的依据,设置参数noise,如noise=2%,如果该连通区域中像素点个数(countDFST)占图像像素总数(sum)的比例小于noise,即可将其判定为噪声杂点。
3.2 噪声杂点的消除
本文使用均值滤波算法来去除杂点,MF模型结构及数学方程描述如下:
方阵及输出值取反方阵;因此,num和Un(a,b)将分别表示该层 (a,b)像素点为中心的3×3方阵中未激活像素(即:非噪声像素点)的个数及灰度均值;其他符号与PCNNIT模型意义相同。
3.4 仿真实验
为模拟常见噪声图像,本文选取Matlab中的imnoise(image, ′salt&pepper′)、imnoise(image, ′gaussian′) 、imnoise(image, ′speckle′) 三个函数来生成实验所用图像,image为标准图像。图7为生成的三张实验图像及两种模型对它们进行噪声去除实验的输出结果对比,表1为增加多个噪声参数情况下,两种模型对噪声去除能力的性能比较。例如,受椒盐噪声密度d=0.05污染的图像中,有2180个像素点与标准图像有所偏差,占总像素个数的10.6378%;经过PCNN(参数:αβ=0.15;β=5)处理后,与标准图像处理结果相比,有1015个像素点有偏差,占总像素个数的4.9529%;而经PCNNIT(参数同PCNN)处理过后,只有144个像素点出现偏差,占总像素个数的0.7027%。
由三组实验结果可以看出,由于高斯噪声污染产生了变化平缓的噪声点,PCNN的去噪效果尚可,对于斑点噪声、椒盐噪声污染的图像,其噪声缓解能力开始迅速下降,PCNNIT(MF)却能够消除其中具有强灰度对比的孤立噪声点,得到很好的去噪效果,虽然对区域边界连通的杂点仍难消除,但总体去噪能力较好,且程序简单,可与其他更高效去噪方法结合使用,以达更好的去噪目的,如:PCNNIT也可与中值滤波算法结合[19],与基于边缘检测的图像去噪方法结合[20]以实现对区域边界连通杂点的消除等。因此,通过PCNNIT分层提取后的区域大小作为杂点判定依据并进行杂点消除是一种可行方法,值得进一步研究。
4 结语
PCNN在图像处理、信号识别等方面具有优势,但受限于它在计算机中遍历实现过程,未能分开提取图像中颜色相同的多个连通区域,本文通过将连通区域提取方法融入到PCNN的遍历过程中来解决这一问题,并在分离出单连通区域的基础上,针对图像噪声在实验过程中造成的影响,作进一步的改进,在判定出图像中的噪声杂点后,将均值滤波模型MF与PCNNIT相结合来消除,通过传统PCNN与PCNNIT(MF)仿真实验对比显示出PCNNIT(MF)对连通区域的分层能力以及更好的去噪效果,将更有利于图像的后续处理。
参考文献:
[1] HE L F,CHAO Y Y,SUZUKI K. Fast connectedcomponent labeling [J]. Pattern Recognition,2009, 42(9):1977-1987.
[2] SUN X Y,DUBOIS E. A novel algorithm to stitch multiple views in image mosaics[C]// Proceedings of the 2004 IEEE International Conference on Acoustics Speech,and Signal Processing. Piscataway: IEEE,2004,3:481-484.
推荐访问: 遍历 图像处理 改进 过程 PCNN