一种基于改进PCNN的线阵图像增强方法
2018-08-29薛模根
张 谦 薛模根
(偏振光成像探测技术安徽省重点实验室 合肥 230031)
1 引言
图像增强是一种根据使用者的要求对图像某些部分进行改善的图像处理方法,以此来提高图像的清晰度,突出图像的特征部分。PCNN是一种在猫的视觉原理基础上构建的简化神经网络模型,近年来,将PCNN与其他理论相结合的图像增强方法开始得到广泛应用。其中,陆佳佳等[1]提出一种利用PCNN点火矩阵分解理论建立的非线性增强方法,能有效地抑制图像的椒盐噪声;何胜宗等[2]提出一种基于人眼视觉特性和改进PCNN图像因子分解的图像增强算法,对分解得到的细节程度由粗糙到精细的一系列图像因子进行改进的PCNN增强处理,使之增强后图像的对比度和纹理细节有了很大提高,缺点是计算速度和噪声处理方面不够理想;杨雪等[3]提出一种融合小波变换与改进PCNN的图像增强方法,该方法通过二维离散小波变换对高频分量图进行增强处理,并对小波重构后的图像进行非线性平滑,使增强后的图像在对比度和图像细节方面有了很大改善。虽然上述PCNN增强方法的效果良好,但是对于线阵图像的处理效果较差:线阵图像整体阵面较大,使得某些区域无法点火以致增强效果不均匀;图像整体噪声大使得目标轮廓较为模糊,在增强对比度的同时也放大了噪声,降低了图像视觉效果。
为了解决上述问题,改善线阵图像的视觉效果,本文结合线阵图像的成像特点,提出一种基于改进PCNN和双边滤波融合的线阵图像增强方法。
2 基于改进PCNN的线阵图像增强
2.1 PCNN增强模型
Eckhorn提出的脉冲耦合神经网络(Pulse Cou⁃pled Neural Network—PCNN)[4]是在猫的视觉原理基础上构建的简化神经网络模型,该模型经Ranga⁃nath等[5]修正后应用在图像处理方面。修正模型可看作一个单层二维网络,其中的各神经元对应于输入图像中的各像素点,像素灰度值作为相应神经元的外部激励,每一个神经元的输出与其邻域神经元的输入相连接。PCNN模型主要由接收部分、调制部分和脉冲产生部分构成,其模型结构示意图如图1所示。
图1 PCNN模型结构示意图
在上图中,Ykl是相邻神经元的输出,W是链接输入矩阵,加权求和后得到链接输入Lij,β是Lij的调制参数,Sij是该神经元的外部输入,Fij是反馈输入,M是反馈矩阵,链接输入Lij和反馈输入Fij相调制得到内部活动项Uij,θij是该神经元的动态阈值,当内部活动项Uij大于动态阈值θij时,该神经元产生一个脉冲输出Yij=1,即为一次点火。模型的工作过程如下式所示:
其中,Iij是图像的灰度值,Vθ和αθ是动态阈值的幅值常数和衰减常数,VL和αL是链接输入的幅值常数和衰减时间常数,Yij为神经元的脉冲输出。
为了更能体现线阵图像中每行像素的相关性,本文针对线阵图像按行成像的特点改进PCNN模型的点火时序。以图像各行的各像素为研究对象,每个神经元由其5×5邻域内其他神经元的输出作为其链接输入,来决定其是否点火。每个神经元被点火激活时输出为1,不被点火或者空余位置的神经元其输出都看作0,然后按从左到右的顺序逐行逐像素进行。通过遍历每个像素,使得整幅图像都得到相应的处理。
2.2 PCNN模型参数改进
由于PCNN模型中的各参数十分密切地影响着每个神经元是否点火,进而影响整幅图像的增强效果。所以在改进的PCNN点火次序基础上,PCNN模型中的阈值迭代因子k、链接矩阵W以及调制参数β的计算方法也需要进行相应的改进,使之更加符合PCNN增强的基本思想,图像增强的效果也更加明显。
2.2.1 阈值迭代因子
计算阈值迭代因子k的原方法是将其迭代np次,由于np很大导致迭代总时间过长,所以需要对阈值迭代因子k加以改进。在原有增强方程的基础上做一个判断:当迭代到某次后没有火点或者是前后两幅增强图像相似度小于某一固定阈值时跳出循环。
本文的图像相似度选用图像余弦相似度,余弦相似度是用向量空间中向量夹角的余弦值来衡量向量间的差异,余弦值越接近1,表明夹角越接近于0°,也就是两个向量越相似。应用到本文中时,将前后两幅线阵图像按行排列成行向量作为余弦相似度中的两个输入向量,设立余弦值阈值,当前后两幅线阵图像的余弦值大于设立的余弦值阈值,即二者有较大的相似度时跳出增强方程的循环。
2.2.2 链接矩阵
链接矩阵W的值影响着接收区中链接输入的大小,传统链接矩阵值是由中心像素点到其邻域像素点的距离决定,即
其中,(i,j)为中心像素点的像素坐标,(k,l)为其各邻域像素坐标。原始方法的缺点在于:当像素距离差别大(如图像边缘处)时M不够小,导致像素之间点火的困难度不够,灰度值差距不够大,增强效果就不理想,反之亦然;而且没有设置参数进行自适应调节。所以根据以上不足,本文将链接矩阵M的计算公式改进为
其中,d是中心像素点到其邻域边界像素点的距离。
2.2.3 调制参数
调制参数β影响着邻域内部周围神经元对中心神经元的点火周期,其值多是实验测得的固定先验值。由于人眼对图像边缘和图像内部的视觉敏感度不同,低β值可以拉大图像边缘的像素差值,从而强化边缘等细节信息,而高β值可以缩小图像内部的像素差值,从而平滑图像,故可通过调节调制参数β的值来达到增强图像的目的。本文在改进调制参数β时,以各行中的各像素为研究对象,以每个像素为中心的3×3、5×5和7×7邻域为研究区域,按照线阵图像的特点对各行像素依次进行处理,然后逐列进行。当研究区域为3×3邻域时,其处理过程如下所示:
1)输入:原始线阵图像 Im×n;
2)在3×3邻域内,分别计算V1和V2
3)令M1=V2/V1,若M1≥L ,β=V1,并转步骤6),否则转步骤4);
4)左右各扩展一列,定义变量Vi(i=1,2,…n-1),Vi在V1和V2的基础上增加扩展像素的灰度值,超出边界的像素灰度值设为0,转步骤5);
5)计算 Mi=Vi+1/Vi,将得到的 Mi值放在集合 A中,若满足Mn≥L且邻域长度<n,则令β=k2/(k1·min(A)),转步骤6);若满足 Mn<L且邻域长度 ≥n,则令β=k2/(k1·max(A)),转步骤6);否则转步骤4);
6)输出:各像素的调制参数值 β(i,j)。
当邻域为5×5和7×7时,V1和V2计算只需将m和n的取值改为3和5,其余运算过程只需做相应的改变即可。
根据上述的改进方法对原始PCNN模型中的阈值迭代因子k、链接矩阵W以及调制参数β进行改进,并以每个像素为中心的3×3、5×5和7×7邻域为研究区域,对原始图像(线阵CCD立靶影像)分别进行上述改进PCNN增强处理,得到三幅增强子图,分别如图2(b)、(c)、(d)所示。
图2 基于改进PCNN的图像增强实例
3 基于双边滤波的图像融合
根据上述改进的PCNN增强算法,得到邻域为3×3、5×5和7×7的三幅增强子图,为了获得更好的增强效果,需要根据增强子图的特征对其进行融合。
双边滤波是由 Tomasi和 Manduchi提出[6]的一种带有保边功能的图像滤波算法,该算法的滤波输出不仅与图像的邻域空间信息有关,还与像素间的灰度差值有关。
由于基于传统双边滤波算子的图像分解会产生梯度反转的问题,故本文采用梯度域递归双边滤波算子得到图像的基础层,表示为Ib;包含图像细节信息的细节层用Id表示,定义为原始图像I与基础层Ib之差。
首先用梯度域递归的双边滤波算子对图像I进行分解得到基础层Ibi:
其中,n=exp(- 2/σs2),i代表被分解的层数,Ibi为第i次被分解的图像基础层,σs2,σr2分别为空间域和范围域的参数。
得到的包含图像细节信息的细节层Idi为
则图像重构过程表示为
根据分析,本文选取处理区域为3×3和7×7的两幅增强子图I1和I2作为双边滤波分解的原始图,分解的层数i设为1,按上述方法将两幅原始图分解为 Ib1、Id1以及 Ib2、Id2,并分别对基础层Ib1、Ib2以及细节层Id1、Id2进行融合,融合方法在3.1和3.2中阐述。
图3为基于双边滤波进行图像分解的实例,所用实验图像为线阵CCD立靶测量系统中的弹丸过靶影像:
图3 基于双边滤波的图像分解实例
3.1 细节层融合
由于细节层本身对比度较低,其图像整体灰度值差距不够明显,不适宜将灰度值作为融合判别规则[7]。调制参数 β影响着邻域周围神经元对中心神经元的点火周期,经2.2.1的方法改进后,其在图像边界处和平滑区的值有较大的差别,而且每个像素点都有符合自身邻域特征的β值,是图像细节纹理的重要特征,故选择调制参数β作为细节层的融合参数。
原始细节层中含有需要去除的部分被污染的噪声点,判断噪声点的主要依据为:在像素的5×5邻域内,若其 β值不满足3σ原则,则判断为噪声点。根据PCNN运行机制,当某个神经元点火时,会捕获周围神经元点火,而且只要噪声的强度与周围像素点相近,即将被捕获点火的神经元的噪声输入提升至先点火的神经元的链接输入,这样就能消除图像的灰度差。所以为了去除图像中的部分噪声点,在本部分的计算过程中加入区域灰度标准差项,并定义像素区域强度为
其中,α为调节因子,用以权衡平均值和标准差在系数选择时的重要性,TB(i,j)表示以(i,j)为中心的区域均值,SB(i,j)表示以(i,j)为中心的区域标准差。
定义调制参数 β(i。j)在区域内部的占比 β′(i。j)为
其中,β(i。j)是像素点(i,j)处的调制参数。 β′(i。j)越小,则说明该处的细节信息丰富,故本文选择β′(i。j)作为融合细节层的判别规则。
对于融合图像A和B,其细节层分别为Id1和Id2,两者融合之后的细节层定义为Id',则融合规则定义为
3.2 基础层融合
基础层包含着图像的基本信息,而各神经元点火状态的不同导致图像整体灰度值的差异,由于图像原始基础层的对比度较低、噪声较大,故其点火映射图中的各元素过分集中且有较多毛刺[8~9]。为了改善点火映射图,进而调整基础层灰度分布,定义以二阶矩为基础的两个描述值M和BM作为图像输入,得到新的点火映射图。
描述值M以每个像素的邻域窗口ω为研究对象:
其中,i为图像的某一灰度阶,p(i)为灰度阶i出现的概率,u为图像灰度阶的统计平均值。
引入判别算子Δ(x,y):
以每个像素的邻域窗口ω为研究对象,I(x,y)和I(x-1,y)为相邻位置的灰度值,k为设立的阈值。则有:
其中,pB(i)为灰度阶 i出现的概率,uB为图像灰度阶的统计平均值,加入判别算子后,BM较多地统计了图像变化剧烈部分的灰度值,能更好地表明基础层的细节信息,而M统计了图像平滑区域的各灰度阶,较好地保留了基础信息。
将每个像素的M和BM加入PCNN中对应神经元的链接输入,链接输入可以根据像素的周围特征自适应调整大小,最终得到新的PCNN点火映射图。设TA和TB记录了基础层Ib1、Ib2中各神经元的点火次数,两者融合之后的基础层定义为I’b,则图像低频基础层的融合规则为
3.3 增强算法描述
本文算法步骤如下:
1)经过2.2的方法改进PCNN模型中的调制参数 β、链接矩阵W以及阈值迭代因子k的计算方法;
2)对原始图像I进行步骤1)的增强处理,得到处理区域为3×3和7×7的两幅增强子图I1和I2,并对其进行基于双边滤波的图像分解处理,分别得到Ib1、Id1以及Ib2、Id2;
3)经式(12)~(14)对两幅细节层图Id1和Id2融合得到细节层;
4)经式(15)~(22)对两幅基础层图Ib1、Ib2融合得到基础层;
4 实验与结果分析
本文使用Matlab2013软件,并根据所提出的改进PCNN增强算法进行仿真实验。本文所使用的原始线阵图像I为具有高噪声、低对比度特点的线阵图像,包括弹丸过靶影像和一些自然图像。同时对实验中的PCNN改进方法统一设定参数:L=4,k1=25,k2=10.2,b1=6.201,b2=1,b3=43.009,设立的余弦相似度阈值为0.996,则每次迭代次数在50次左右,比先前预设的700次减少很多,节省了较多时间。为了分析本文方法的可行性和优越性,将本文效果图与传统PCNN增强方法、文献[10]以及文献[11]的增强效果图进行比较,比较结果如下:
图4 传统PCNN弹丸图像增强结果
从图4可以看出,本文算法较其余三种增强算法来说更能适应低对比度、高噪声的线阵图像增强,增强效果更加明显,没有产生失真的现象,而且图像对比度更高,目标轮廓更加清晰,噪声点更少,更有利于线阵CCD立靶测量系统中图像的后续处理。
5 结语
本文针对弹丸线阵图像噪声大、对比度低以及灰度不均匀的特点,提出一种改进的基于PCNN和双边滤波融合的线阵图像增强方法。首先结合线阵图像的成像特点,通过改进PCNN模型中各神经元的点火时序以及调制参数β等主要参数,得到原始图像在不同处理区域中的两幅增强子图,然后对增强子图进行双边滤波分解分别得到其细节层和基础层图像,并分别将细节层和基础层进行融合,最后将融合后的细节层和基础层图像进行重构得到最终的增强图像。实验结果表明,与其他PCNN增强方法相比,本文增强方法对低对比度高噪声的线阵图像处理效果较好,图像的对比度和轮廓有了明显的提升,并去除了部分噪声。缺点是运算速度还有待提高。