2. 湖南软件职业学院 软件与信息工程学院, 湘潭 411100
2. School of Software and Information Engineering, Hunan Software Vocational Institute, Xiangtan 411100, China
图像边缘检测在图像处理[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中, Input表示输入层; C-表示卷积层, 每个神经元的输入与前一层的局部感受野相连, 并提取该局部的特征, 一旦该局部特征被提取后, 它与其他特征之间的位置关系也随之确定下来; S-层不是指具体的某一层, 而是指输入层和特征映射层、特征映射层和特征映射层之间的计算过程, 而特征映射层则保持的是卷积、下采样和局部平均的输出结果. 网络的每个计算层由多个特征映射组成, 每个特征映射为一个平面, 平面上所有神经元的权值相等. 特征映射结构采用影响函数核小的Sigmoid函数作为卷积网络的激活函数, 使得特征映射具有位移不变性.
由于一个映射面上的神经元共享权值, 因而减少了网络自由参数的个数, 降低了网络参数选择的复杂度.
1.2 径向基神经网络(RBFNN)RBFNN[21]是一种单隐层前馈神经网络. 它使用径向基函数作为隐层神经元激活函数, 而输出层则是对隐层神经元输出的线性组合, 如图2所示.
在图2中, 输入层由输入的数据组成. 第二层为隐层, 隐单元数由所描述问题的需要而定, 隐单元的变换函数是径向基函数, 它是对中心点径向对称且衰减的非负非线性函数. 第三层为输出层, 它对输入模式的作用做出相应.
通常采用两步过程来训练RBFNN: 第1步, 确定神经元中心, 常用的方式包括随机采样、聚类等; 第2步, 利用训练算法等来确定参数. RBFNN的激活函数可以采取多种形式, 常见的有: Gaussian函数、Reflected sigmoidal函数、Inverse multiquadrics函数. 目前最为广泛的是采用Gaussian函数作为激活函数, 方程如下:
本文根据人眼视觉系统以及RBFNN的网络结构构造出一种新的基于GPN径向基神经网络的边缘检测模型, 并利用CNN的部分特性简化了该网络模型.
2 GPN径向基神经网络 2.1 理论分析根据人眼视觉特性的马赫效应[22], 我们提出了两点假设:
(1)人眼在识别图像时会将每一个像素点与其周围的点做距离的加权比较;
(2)人眼在对某个像素点做比较时, 对周围的点比中心点像素值高还是低会给出一个比较直观的判断.
根据假设(1)我们提出表达式:
$Gmid(x) = \int\limits_D {(I(x) - I(y)) \cdot K(x - y){\rm{d}}y} $ | (1) |
根据假设(2)我们提出表达式:
$ \left\{\begin{aligned} & GP(x) = \int\limits_{{D_1}} {(I(x) - I(y)) \cdot K(x - y){\rm{d}}y} \\ &{D_1} = {{\{ y|I(x) - I(y)}} > {\rm{0\} }} \end{aligned}\right.$ | (2) |
$ \left\{\begin{aligned} & GN(x) = \int\limits_{{D_2}} {(I(x) - I(y)) \cdot K(x - y){\rm{d}}y} \\ & {D_2} = \{ y|I(x) - I(y) < 0\} \end{aligned}\right.$ | (3) |
其中, D表示整个图像域, D1表示像素点x与其领域差值大于零的区域, D2表示像素点x与其领域差值小于零的区域, I(•)表示该点的像素值, K(•)是高斯核函数.Gmid表示像素点x与其邻域的差值, GP (Gaussian Positive)和GN(Gaussian Negative)分别是像素点x与邻域的差值为正和为负的部分.
通过上述的假设, 可以根据计算出的GP和GN值进一步给出边缘轮廓的凸显算法, 简称GPN (Gaussian Positive-Negative)轮廓凸显算法.
算法1. GPN轮廓凸显算法
对于具有h个像素点的图像image0, 令i=1, 具体算法流程如下:
1) 取图像image0中的一个像素点
2) 将两个区域的值分别乘以核函数Kernel并相加, 分别得到GP和GN值;
3) 计算-GN×GP, 并令其值取代原像素点的值;
4) 如果
从图3中可以看出, 图像中的每个像素点经过上述算法流程得到最终结果image1, 从结果可以看出, 位于轮廓区域像素点的像素值明显高于其他区域的像素值.
2.2 GPN神经网络根据GPN轮廓凸显算法流程, 我们可以构造出一个全新的GPN径向基神经网络以达到突显轮廓的目的, 如图4所示, 第一层到第四层分别为: 输入层、展开层、隐层以及输出层.输入层由具有h个像素点图像的像素点
$\varphi (x) = \exp \left( - \frac{{{x^2}}}{{2{\sigma ^2}}}\right)$ | (4) |
其中, x为上一层的输出结果, 参数
GPN径向基神经网络的具体训练步骤如下:
步骤1. 固定法确定中心点.
GPN径向基神经网络中隐层节点数和输入数据的数目是相同的, 因此为了图像信息的完整性, 根据式(2)和式(3)令中心点
步骤2. 固定法求解方差
GPN径向基神经网络使用高斯函数作为隐函数, 其方差可由式(5)求解:
$\sigma = \frac{{{X_{\max }} - {X_{\min }}}}{{\sqrt {2h} }}$ | (5) |
式中,
步骤3. 计算隐层到输出层间的权值.
由于GPN径向基神经网络中输入层节点数、隐层节点数以及方差
$ {\omega = \exp \left(\frac{h}{{X_{\max }^2}}||{x_p} - {d_i}||\right)},\;{i = 1,2, \cdots, h},p = 1,2, \cdots, P $ | (6) |
式中,
当GPN径向基神经网络训练完成后, 在测试时可以绕过高维展开层压缩, 因为训练完成后映射关系也就确定了, 之后只要输入值确定以后, 就可以将输入值直接映射到隐空间, 这样就可以对GPN径向基神经网络结构进行简化, 如图5所示.
GPN径向基神经网络还利用了CNN中的权值共享和稀疏连接的特点, 降低了网络的复杂性, 特别是对这种多维输入向量的图像可以直接输入网络这一特点, 避免了特征提取过程中数据重建的复杂度. 因此GPN径向基神经网络可以看做是对径向基神经网络的扩展, 相当于给径向基神经网络的第一层加上了固定的权值.
将滤波后的60幅图像构成输入样本, 作为输入层训练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, 与之相比, 本文提出的方法能较好的滤除椒盐噪声, 在针对添加了椒盐噪声的图像时能得到更好的边缘检测结果, 并且在效率上也同样具备优势.
实验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所示.
从表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所示.
从表3可以看出, 与Canny算子以及文献[15,17,19]中的方法相比, 在弱边缘较多的标准图像中, 由于本文提出的GPN径向基神经网络突显了边缘, 加强了弱边缘的提取能力, 所以检测到的8-连通成分数和4-连通成分数的比值最小, 说明本文方法检测到的边缘图像的线形连接程度是最好的, 同样也说明了由本文方法得到的边缘检测结果是最好的.
4 结论与展望本文从人眼视觉系统的特性出发, 提出了一种基于GPN径向基神经网络的边缘检测方法. 首先, 在预处理阶段利用高斯滤波平滑图像, 之后将预处理后图像中的每个像素点输入GPN径向基神经网络, 经过扩展层和隐层计算后输出结果, 最后根据GPN神经网络的输出结果利用轮廓跟踪的方法将轮廓提取出来达到边缘检测的目的. 由于GPN径向基神经网络构造上的特性, 从而使本文方法相较于其他基于神经网络的边缘检测算法在效率上有所提升, 且能得到较好的边缘检测结果. GPN径向基神经网络方法的不足是, 方法在针对部分图像凸显轮廓的同时加粗了边缘的厚度, 接下来的工作是设计更精细的结构, 既能凸显轮廓, 又能保持原始边缘的宽度, 得到更好的边缘检测结果.
[1] |
Liu JY, Tang QJ, Yang W, et al. Defects’ geometric feature recognition based on infrared image edge detection. Infrared Physics & Technology, 2014, 67: 387-390. |
[2] |
Zheng HB, Zhu XC. Sampling adaptive block compressed sensing reconstruction algorithm for images based on edge detection. The Journal of China Universities of Posts and Telecommunications, 2013, 20(3): 97-103. DOI:10.1016/S1005-8885(13)60056-4 |
[3] |
Guo YY, He DJ, Song HB. Region detection of lesion area of knee based on colour edge detection and bilateral projection. Biosystems Engineering, 2018, 173: 19-31. DOI:10.1016/j.biosystemseng.2017.12.006 |
[4] |
Kumar V, Asati A, Gupta A. Hardware implementation of a novel edge-map generation technique for pupil detection in NIR images. Engineering Science and Technology, An International Journal, 2017, 20(2): 694-704. DOI:10.1016/j.jestch.2016.11.001 |
[5] |
Price A, Pyke J, Ashiri D, et al. Real time object detection for an unmanned aerial vehicle using an FPGA based vision system. Proceedings of 2006 IEEE International Conference on Robotics and Automation. Orlando, FL, USA. 2006. 2854–2859.
|
[6] |
Shahabi HH, Ratnam MM. In-cycle detection of Built-Up Edge (BUE) from 2-D images of cutting tools using machine vision. The International Journal of Advanced Manufacturing Technology, 2010, 46(9–12): 1179-1189. DOI:10.1007/s00170-009-2180-y |
[7] |
Patel A, Patel A. Performance enhancement in image edge detection technique. Proceedings of 2016 International Conference on Signal and Information Processing. Vishnupuri, India. 2016. 1–5.
|
[8] |
郑子华, 陈家祯, 叶锋. 基于曲率估计的Canny边缘检测算法. 计算机系统应用, 2017, 26(12): 148-154. DOI:10.15888/j.cnki.csa.006139 |
[9] |
Huang LX, Li CG, Zheng LX, et al. Edge detection algorithm of Daliushu river based on adaptive weighted morphology. Proceedings of the 2017 2nd International Conference on Materials Science, Machinery and Energy Engineering. Dalian, China. 2017. 6.
|
[10] |
Zhou XL, Xu LM, Wang J. Road crack edge detection based on wavelet transform. IOP Conference Series: Earth and Environmental Science, 2019, 237: 032132. DOI:10.1088/1755-1315/237/3/032132 |
[11] |
Wen CB, Liu PL, Ma WB, et al. Edge detection with feature re-extraction deep convolutional neural network. Journal of Visual Communication and Image Representation, 2018, 57: 84-90. DOI:10.1016/j.jvcir.2018.10.017 |
[12] |
Paik JK, Katsaggelos AK. Edge detection using a neural network. Proceedings of 1990 International Conference on Acoustics, Speech, and Signal. Albuquerque, NM, USA. 1990. 2145–2148.
|
[13] |
Barrios V, Torres J, Montilla G, et al. Cellular edge detection using a trained neural network explorer. Proceedings of the 16th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Baltimore, MD, USA. 1994. 1075–1076.
|
[14] |
Aizenberg IN, Aizenberg NN, Vandewalle J. Precise edge detection: Representation by Boolean functions, implementation on the CNN. Proceedings of the 1998 5th IEEE International Workshop on Cellular Neural Networks and Their Applications. London, UK. 1998. 301–306.
|
[15] |
Ling H, Xia C, Wei Q. Image edge detection based on pulse coupled neural network and modulus maxima in non-subsampled contourlet domain. Journal of China Universities of Posts and Telecommunications, 2018, 25(3): 55-64. |
[16] |
张红霞, 王灿, 刘鑫, 等. 图像边缘检测算法研究新进展. 计算机工程与应用, 2018, 54(14): 11-18. DOI:10.3778/j.issn.1002-8331.1804-0205 |
[17] |
Wang W, Yang LJ, Xie YT, et al. Edge detection of infrared image with CNN_DGA algorithm. Optik, 2014, 125(1): 464-467. DOI:10.1016/j.ijleo.2013.07.049 |
[18] |
赵显达, 黄欢. 基于细胞神经网络边缘检测的自适应研究. 云南大学学报(自然科学版), 2019, 41(2): 268-277. |
[19] |
Chou Y, Lee DJ, Zhang D. Edge detection using convolutional neural networks for nematode development and adaptation analysis. Proceedings of the 11th International Conference on Computer Vision Systems. Shenzhen, China. 2017. 228–238.
|
[20] |
张涛, 杨剑, 宋文爱, 等. 改进卷积神经网络模型设计方法. 计算机工程与设计, 2019, 40(7): 1885-1890. |
[21] |
Long L. Research on four axis manipulator trajectory tracking Based on RBF Neural Network Algorithm. Journal of Physics: Conference Series, 2019, 1187(3): 032016. DOI:10.1088/1742-6596/1187/3/032016 |
[22] |
沈莉萍. 浅析“马赫带”效应在绘画中的应用. 大众文艺, 2019(1): 113-115. DOI:10.3969/j.issn.1007-5828.2019.01.083 |
[23] |
陈彦燕, 王元庆. 常用边缘检测算法的定量比较. 计算机工程, 2008, 34(17): 202-204. DOI:10.3969/j.issn.1000-3428.2008.17.072 |