基于GPN径向基神经网络的边缘检测方法①

2020-03-18 07:55杨晟院钟雅瑾
计算机系统应用 2020年3期
关键词:像素点径向边缘

刘 洋,杨晟院,钟雅瑾

1(湘潭大学 信息工程学院,湘潭 411105)

2(湖南软件职业学院 软件与信息工程学院,湘潭 411100)

图像边缘检测在图像处理[1,2],计算机视觉[3-6]等领域发挥着至关重要的作用.图像边缘检测的结果直接影响图像分析、理解和识别的效果[7].

目前边缘检测算法已经较为丰富,通过与新理论的不断结合,大致可以分为基于梯度的边缘检测算法[8]、基于数学形态的边缘检测算法[9]、基于小波变换的边缘检测算法[10]、基于神经网络的边缘检测算法[11]、基于遗传算法的边缘检测算法等.本文主要研究的是基于神经网络的边缘检测算法.

基于神经网络的边缘检测算法一直是研究的热点.它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络.早期有Paik JK 等[12]利用分层神经网络的旋转不变性,最终得到图像边缘.Barrios V 等[13]通过具有反向传播训练算法的多层感知器神经网络进行癌症细胞组织图像中的边缘检测和追踪.Aizenberg IN 等[14]使用具有通用二进制神经元的卷积神经网络(CNN)来处理灰度图像上的边缘检测问题.但这类构造方法将会导致模型较为复杂,效率较低.随着对神经网络研究的不断深入,出现了大量的基于神经网络的边缘检测算法[15-19].例如,Ling H 等[15]通过非下采样Contourlet 变换(NSCT)将图像分解为高频定向子带系数和低频子带系数,其中低频子带系数用于通过脉冲耦合神经网络(PCNN)检测图像边缘的基本轮廓线,最后利用NSCT 域中不同尺度和不同方向子带检测到的边缘信息重建得到边缘检测图像.该方法在检测结果上优于部分先进的图像边缘检测方法,但PCNN 模型相对其他神经网络庞大的参数群以及参数的设置方法都影响了模型的执行效率和检测结果.Wang W 等[17]提出了基于细胞神经网络(CNN)和分布式遗传算法(DGA)相结合的边缘检测算法,CNN 模板使用分布式遗传算法训练网络.该模型可精确提取红外图像边缘,大大提高参数的搜索范围和收敛速度.但由于编码染色体和评价函数选择的困难,将会导致对部分图像的检测效果不是很好,且寻求最优解的过程所需时间过长.Chou Y 等[19]提出了一种改进的基于CNN 的神经网络用来进行边缘检测的方法,该方法实现了精确的边缘检测,但基于CNN 的边缘检测方法依赖于分类网络,而分类方法很慢,所以导致检测时间较长.

针对传统的基于神经网络的边缘检测算法检测效率不高以及检测效果不理想等问题,本文根据人眼视觉系统的结构和行为特性,提出了一种全新的用于边缘检测的径向基神经网络模型.将高斯滤波后的图像中的每个像素点输入该模型,加强图像轮廓,增强了对弱边缘的提取能力.神经网络每层之间使用了卷积神经网络中权值共享和稀疏连接的特性从而减少了自由参数,降低了网络的复杂性.最后利用轮廓跟踪的方法快速地将目标轮廓检测出来.

1 相关工作

1.1 卷积神经网络(CNN)

CNN[20]是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成,见图1.

图1 CNN 结构图

在图1 中,Input 表示输入层;C-表示卷积层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征之间的位置关系也随之确定下来;S-层不是指具体的某一层,而是指输入层和特征映射层、特征映射层和特征映射层之间的计算过程,而特征映射层则保持的是卷积、下采样和局部平均的输出结果.网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值相等.特征映射结构采用影响函数核小的Sigmoid 函数作为卷积网络的激活函数,使得特征映射具有位移不变性.

由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度.

1.2 径向基神经网络(RBFNN)

RBFNN[21]是一种单隐层前馈神经网络.它使用径向基函数作为隐层神经元激活函数,而输出层则是对隐层神经元输出的线性组合,如图2 所示.

图2 RBFNN 结构图

在图2 中,输入层由输入的数据组成.第二层为隐层,隐单元数由所描述问题的需要而定,隐单元的变换函数是径向基函数,它是对中心点径向对称且衰减的非负非线性函数.第三层为输出层,它对输入模式的作用做出相应.

通常采用两步过程来训练RBFNN:第1 步,确定神经元中心,常用的方式包括随机采样、聚类等;第2 步,利用训练算法等来确定参数.RBFNN 的激活函数可以采取多种形式,常见的有:Gaussian 函数、Reflected sigmoidal 函数、Inverse multiquadrics 函数.目前最为广泛的是采用Gaussian 函数作为激活函数,方程如下:其中t是两个特征向量之间的欧几里得距离,δ是径向基函数的扩展常数,它反应了函数图像的宽度,δ越小,宽度越窄,函数越具有选择性.因为径向基核函数的值随距离减小,并介于0(极限)和1(当采样点位于中心时)之间,所以它是一种现成的相似性度量表示法.

本文根据人眼视觉系统以及RBFNN 的网络结构构造出一种新的基于GPN 径向基神经网络的边缘检测模型,并利用CNN 的部分特性简化了该网络模型.

2 GPN 径向基神经网络

2.1 理论分析

根据人眼视觉特性的马赫效应[22],我们提出了两点假设:

(1)人眼在识别图像时会将每一个像素点与其周围的点做距离的加权比较;

(2)人眼在对某个像素点做比较时,对周围的点比中心点像素值高还是低会给出一个比较直观的判断.

根据假设(1)我们提出表达式:

根据假设(2)我们提出表达式:

其中,D表示整个图像域,D1表示像素点x与其领域差值大于零的区域,D2表示像素点x与其领域差值小于零的区域,I(·)表示该点的像素值,K(·)是高斯核函数.Gmid表示像素点x与其邻域的差值,GP(Gaussian Positive)和GN(Gaussian Negative)分别是像素点x与邻域的差值为正和为负的部分.

通过上述的假设,可以根据计算出的GP和GN值进一步给出边缘轮廓的凸显算法,简称GPN(Gaussian Positive-Negative)轮廓凸显算法.

?

从图3 中可以看出,图像中的每个像素点经过上述算法流程得到最终结果image1,从结果可以看出,位于轮廓区域像素点的像素值明显高于其他区域的像素值.

2.2 GPN 神经网络

根据GPN 轮廓凸显算法流程,我们可以构造出一个全新的GPN 径向基神经网络以达到突显轮廓的目的,如图4 所示,第一层到第四层分别为:输入层、展开层、隐层以及输出层.输入层由具有h个像素点图像的像素点xi组 成,i=1,2,···,h,计算每个像素点与其邻域的差值,并将结果输入到第二层展开层;第三层为隐层,该层使用高斯函数作为隐函数,表达式如下:

其中,x为上一层的输出结果,参数 σ表示高斯函数的方差,而且该层中所有节点均使用同一个 σ.通过该层函数,我们可以将低维数据映射到高维空间,根据Cover 定理,低维空间不可分的数据到了高维空间会更有可能变得可分.然后通过连接权值传入第四层输出层,线性输出结果.GPN 径向基神经网络结构中输入层和展开层以及展开层和隐层之间的权值全设置为1.

图3 边缘凸显示意图

图4 GPN 径向基神经网络结构图

GPN 径向基神经网络的具体训练步骤如下:

步骤1.固定法确定中心点.

GPN 径向基神经网络中隐层节点数和输入数据的数目是相同的,因此为了图像信息的完整性,根据式(2)和式(3)令中心点di为 每一个输入数据,i=1,2,···h,这么做不仅节省了选取中心点的时间提高了效率,并且确保了不会丢失图像信息,所以这样从输入样本中选取的中心点是合理的.

步骤2.固定法求解方差σ .

GPN 径向基神经网络使用高斯函数作为隐函数,其方差可由式(5)求解:

式中,Xmax为 图像像素值的最大值,Xmin为图像像素值的最小值,h为图像像素点的个数.这样不通过训练直接求解方差 σ的方法,对于不同的图像都能得到一个比较适合方差 σ,并且在一定程度上加快了训练效率.

步骤3.计算隐层到输出层间的权值.

由于GPN 径向基神经网络中输入层节点数、隐层节点数以及方差 σ的值都确定,所以GPN 径向基神经网络从输入到输出就可以构成一个线性方程,其输出权值训练可以通过最小二乘法求解,如式(6)所示:

当GPN 径向基神经网络训练完成后,在测试时可以绕过高维展开层压缩,因为训练完成后映射关系也就确定了,之后只要输入值确定以后,就可以将输入值直接映射到隐空间,这样就可以对GPN 径向基神经网络结构进行简化,如图5 所示.

图5 GPN 径向基神经网络输入到隐层结构简化图

GPN 径向基神经网络还利用了CNN 中的权值共享和稀疏连接的特点,降低了网络的复杂性,特别是对这种多维输入向量的图像可以直接输入网络这一特点,避免了特征提取过程中数据重建的复杂度.因此GPN径向基神经网络可以看做是对径向基神经网络的扩展,相当于给径向基神经网络的第一层加上了固定的权值.

将滤波后的60 幅图像构成输入样本,作为输入层训练GPN 径向基神经网络.图6 是GPN 径向基神经网络输出的结果图,可以明显看到突显的边缘轮廓.最后根据输出的结果,使用轮廓跟踪的方法将边缘提取出来以达到边缘检测的目的.

图6 GPN 径向基神经网络结果图

3 实验分析

所有实验均在Intel(R)Core(TM)i3-3220 CPU 3300和4.00 GB RAM 的个人计算机(PC)上使用Matlab R2016a 软件实现.为了展示我们提出方法的有效性,通过人眼观察和定量分析这两个方面来进行实验.在实验中测试了5 个标准图像,所有图像的大小不定.分别采用文献[15]中基于PCNN 的边缘检测方法、文献[17]中基于遗传神经网络的边缘检测方法以及文献[19]中基于CNN 的边缘检测方法与我们提出的方法进行比较,具体的评价指标有峰值信噪比(PSNR)、运行时间以及一种基于连通成分数的评价方法[23]进行算法优劣的评价,即基于4-连通成分数B、基于8-连通成分数C 以及C/B 的比值.C/B 的大小反映边缘线形连接程度,而线形连接程度对边缘检测的总体影响反映在错检和漏检中.已经证得C/B 值越小时,边缘线形连接度越好,提取的边缘效果越好.

实验1 是采用本文方法与文献[15,17,19]的方法对原图以及添加椒盐噪声的图像进行边缘检测,检测结果如图7 所示.实验中,GPN 径向基神经网络采用5×5 大小且标准差为1 的高斯函数.轮廓跟踪的其他参数设置为:threshold1=0.5,threshold2=0.2.其中图7 的第2 行图像是在第1 行图像的基础上添加0.1 的椒盐噪声图像,以上4 种方法的运行时间、PSNR 和C/B的值如表1 所示.

从表1 可以看到,文献[15,17,19]的峰值信噪比分别为38.4851 dB、41.1864 dB 和46.2710 dB,运行时间分别为3.66 s、3.94 s 和2.82 s,以及C/B 的值分别为0.7121、0.6738 和0.6051,而本文算法的峰值信噪比为48.6415 dB,运行时间为2.41 s,以及C/B 的值为0.5795,与之相比,本文提出的方法能较好的滤除椒盐噪声,在针对添加了椒盐噪声的图像时能得到更好的边缘检测结果,并且在效率上也同样具备优势.

图7 实验1 边缘检测结果,其中第2 行是在第1 行的基础上添加0.1 的椒盐噪声图像

表1 图7 中第二幅原图的处理结果

实验2 是采用本文方法与文献[15,17,19]的方法对原图以及添加高斯噪声的图像进行边缘检测,检测结果如图8 所示.实验中,GPN 径向基神经网络采用5×5 大小且标准差为1 的高斯函数.轮廓跟踪的其他参数设置为:threshold1=0.65,threshold2=0.2.其中图8 的第2 行图像是在第1 行图像的基础上添加0.1 的高斯噪声图像,以上4 种方法的运行时间、PSNR 和C/B的值如表2 所示.

图8 实验2 边缘检测结果,其中第2 行是在第1 行的基础上添加0.1 的高斯噪声图像

表2 图8 中第2 幅原图的处理结果

从表2 可以看到,文献[15,17,19]的峰值信噪比分别为39.1816 dB、43.4181 dB 和46.1767 dB,运行时间分别为3.15 s、3.62 s 和2.63 s,以及C/B 的值分别为0.6989、0.6509 和0.5991,而本文提出方法的峰值信噪比为48.6488 dB,运行时间为2.27 s,以及C/B 的值为0.5718,相比文献[15,17,19],本文提出的方法在针对添加了高斯噪声的图像时同样能得到较好的边缘检测结果,并且在效率上也有优势.

从实验1 和实验2 可以看出,文献[15]基于PCNN的边缘检测方法由于PCNN 模型中较为庞大的参数群以及参数设置方法的选择,导致该方法的效率较慢;文献[17]基于遗传神经网络的边缘检测方法中编码染色体和评价函数选择的困难以及为了寻求最优解,导致所需时间过长;文献[19]基于CNN 的边缘检测方法中由于CNN 模型依赖于分类函数,而分类函数很慢且不一致,所以效率有所降低;而本文提出的基于GPN 径向基神经网络的边缘检测方法,相较于其他方法,在效率上有所提升且能得到较好的边缘检测结果.

实验3 是采用本文方法与文献[15,17,19]的方法以及Canny 算子分别对灰度不均匀的图像进行边缘检测,检测结果如图9 所示.实验中,GPN 径向基神经网络采用5×5 大小且标准差为1 的高斯函数.轮廓跟踪的其他参数设置为:threshold1=0.5,threshold2=0.5.基于连通成分数评价结果的具体数据如表3 所示.

图9 实验3 边缘检测结果

表3 图9 中第2 幅原图的连通性结果

从表3 可以看出,与Canny 算子以及文献[15,17,19]中的方法相比,在弱边缘较多的标准图像中,由于本文提出的GPN 径向基神经网络突显了边缘,加强了弱边缘的提取能力,所以检测到的8-连通成分数和4-连通成分数的比值最小,说明本文方法检测到的边缘图像的线形连接程度是最好的,同样也说明了由本文方法得到的边缘检测结果是最好的.

4 结论与展望

本文从人眼视觉系统的特性出发,提出了一种基于GPN 径向基神经网络的边缘检测方法.首先,在预处理阶段利用高斯滤波平滑图像,之后将预处理后图像中的每个像素点输入GPN 径向基神经网络,经过扩展层和隐层计算后输出结果,最后根据GPN 神经网络的输出结果利用轮廓跟踪的方法将轮廓提取出来达到边缘检测的目的.由于GPN 径向基神经网络构造上的特性,从而使本文方法相较于其他基于神经网络的边缘检测算法在效率上有所提升,且能得到较好的边缘检测结果.GPN 径向基神经网络方法的不足是,方法在针对部分图像凸显轮廓的同时加粗了边缘的厚度,接下来的工作是设计更精细的结构,既能凸显轮廓,又能保持原始边缘的宽度,得到更好的边缘检测结果.

猜你喜欢
像素点径向边缘
径向电磁轴承冷却优化研究
激光测风雷达径向风速的质量控制方法
双级径向旋流器对燃烧性能的影响
千分尺轴向窜动和径向摆动检定装置的研制
基于局部相似性的特征匹配筛选算法
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
一张图看懂边缘计算
在边缘寻找自我