基于边缘连续性的边缘检测算法

2017-07-24 17:38胡志成李宏伟付丽华
数据采集与处理 2017年3期
关键词:像素点算子灰度

胡志成 李宏伟 付丽华

(中国地质大学数学与物理学院,武汉,430074)

基于边缘连续性的边缘检测算法

胡志成 李宏伟 付丽华

(中国地质大学数学与物理学院,武汉,430074)

针对传统的边缘检测算法抗噪能力弱、弱小边缘难以检测以及边缘图像容易出现断层等问题,本文提出了一种新的边缘检测算法。该方法首先对边缘进行提取,然后进行边缘连接。边缘是图像灰度突变的反应,像素点的梯度以该像素点为对称中心,由对称位置灰度有明显变化的像素点的个数加权得到。对梯度较大的像素点计算其方向,通过像素点方向的连续性进行边缘提取。为了克服边缘图像出现断层的缺陷,利用蚁群算法进行边缘连接。实验结果表明,该方法有较强的抗噪能力,尤其对椒盐噪声,且可以有效地检测出灰度变化不明显的边缘。

边缘检测;边缘连接;蚁群算法

引 言

边缘包含了图像的大量信息,为人们描述和提取目标提供了重要参数特征。边缘检测是计算机视觉与图像处理领域重要的基本步骤之一[1]。通过对图像边缘进行锐化可以提取物体与背景的交界线。从1959年人们开始对边缘检测进行研究,先后提出了多种边缘检测算子,如Roberts算子、Sobel算子、Prewitt算子和Laplacian算子等[2],检测方法如基于小波变换[3]与数学形态学[4-6]的边缘检测等。这些经典的边缘检测算子采用图像像素灰度的一阶、二阶导数进行边缘锐化,从而提取图像的梯度信息[7]。对于灰度变化较大的边缘,经典的边缘检测算子可以有效地检测其边缘,但对于含有噪声的图像以及灰度变化不明显的边缘,这些经典的边缘检测算子显得力不从心。随着人们对边缘检测算法的不断研究,近年来一种新兴的智能算法即蚁群算法被应用于边缘检测中。但该算法易受噪声的影响,当阈值设定不精确的时候,边缘断层严重,且不易检测灰度变化较小的边缘,会丢失许多重要的细节。针对边缘图像往往存在断层现象,人们采用边缘连接算法来补偿断裂边缘。常用的边缘连接算法里Hough变换边缘连接[8]法适用于满足特定形状的边缘,但不是所有的边缘满足特定的形状,因此该算法有局限性。膨胀细化法[9]容易导致边缘失真。分水岭算法[10-12]根据最短距离搜索缺失的边缘,易出现误连的现象。针对以上问题,本文提出了新的边缘检测算法,为了有效检测灰度变化不明显的边缘,对像素点的邻域进行量化并加权,根据像素点邻域的变化得到该像素点的梯度。为了有效抑制噪声对边缘的影响,对梯度较大的像素点计算其方向,并用方向的连续性提取边缘。边缘检测图像往往含有断层现象,由于蚁群算法具有强鲁棒性,易与其他算法相结合,且该算法具有智能搜索的特征。因此利用蚁群算法进行边缘连接,对蚂蚁的启发信息进行改进,提出相关性以便于蚂蚁搜索正确的路径。同时引入了方向信息,防止蚂蚁无效的搜索,使得蚂蚁趋于向补偿边缘点移动,同时提高算法的效率。本文算法充分利用了像素点的邻域信息,不仅可以有效地提取边缘信息,同时可以较好地提取灰度变化不明显的边缘。利用边缘的连续性极大地提高了算法的抗噪能力。结合蚁群算法智能搜索的特点对边缘图像进行补偿,得到较为完整的边缘图像。

1 边缘检测算法

1.1 Sobel算子

边缘是图像灰度突变的反应,因此其周围像素点的灰度发生显著变化。经典的边缘检测算子通常采用像素点邻域灰度变化来计算其梯度,从而提取图像的边缘信息。Sobel算子是一种经典的边缘检测算子,利用其3×3邻域像素点灰度的一阶导数计算其梯度,其梯度为

(1)

式中:Sx,Sy分别为水平和垂直方向上的梯度分布。其梯度计算模板为

Sobel算子采用水平和垂直方向上的像素点的灰度变化进行边缘锐化,易造成斜方向上的边缘不连续,使提取的图像轮廓差强人意。

1.2 本文的边缘提取算法

图像通常含有噪声,为了减轻噪声对边缘检测的影响,首先采用高斯滤波器对图像进行滤波,滤波函数为

(2)

式中:x,y为像素点的坐标,σ为关联概率分布的标准差。为了提取图像边缘,对滤波后的图像进行锐化,计算其梯度,本文采用5×5的模板计算图像的梯度,矩阵A为以该像素点为中心的5×5邻域,设定阈值对矩阵A做如下变化,则

(3)

(4)

式中:“*”表示矩阵对应点相乘,该点的梯度V(i,j)为

(5)

(6)

式中:d(p,q)为点(p,q)到矩阵中心点的距离,ρ0为对矩阵加权。图像的边缘往往具有连续性,反之,具有连续性的边缘为真实边缘,否则为噪声干扰。由于灰度变化较小的像素点如背景,其方向没有意义。因此设定阈值Φ2,当该点的梯度大于该阈值时计算其方向,利用Sobel算子求像素点的方向,该点的方向为

(7)

根据图像的梯度和方向信息,提取边缘需满足:(1)像素点x的梯度V(x)>Φ3。(2)像素点x的8邻域点中至少有1个点的方向指向该像素点。(3)假设像素点x的方向为水平方向,与其方向垂直的两个点x2,x7的梯度满足

V(x)>V(x2)-且V(x)>V(x7)-

(8)

式中:Φ3为阈值3,为限制参数。同时满足以上3点为边缘点。其中参数Φ1,Φ2,Φ3的选取通过大量的实验统计获得。

2 传统蚁群算法边缘检测

蚁群算法是通过模拟自然蚂蚁觅食过程提出的智能优化算法。通过观察发现蚂蚁总能找到一条食物与巢穴之间的最短距离。蚂蚁在觅食的过程中能够通过感知路径上信息素浓度的大小影响其路径的选择,同时,蚂蚁在其经过的路径上留下一定浓度的信息素,使得该路径上的信息素浓度得以加强,引导其他的蚂蚁趋于选择该路径。这种正反馈机制使得蚂蚁具有全局寻优能力[9]。经过一段时间后,大多数的蚂蚁集中在最短路径上。受蚂蚁觅食过程的启发,Dorigo提出了蚁群算法[13,14],经过不断的改进,人们将蚁群算法应用于图像边缘检测,并提出多种改进蚁群算法边缘检测[15-17]。根据蚁群算法的原理,将一定数量的蚂蚁随机分布在图像中。蚂蚁在搜索路径的过程中,每个蚂蚁以一定概率从其8邻域像素点中选择下一步目标位置。转移概率函数为

(9)

η(k.l)=V(k,l)/max(V)

(10)

蚂蚁在搜索的过程中,路径上信息素的浓度随着蚂蚁的搜索不断发生变化,因此需要对信息素进行更新。信息素更新分为局部信息素更新和全局信息素更新。局部信息素更新时,蚂蚁移动一次后在其经过的路径上留下一定浓度的信息素。信息素更新为

(11)

τn=(1-φ)τn-1+φτ0

(12)

式中:φ为信息素挥发速率,τ0为初始信息素浓度。当蚂蚁完成迭代后,选择适当的阈值对路径上信息素的浓度进行提取,即可获得边缘图像。蚁群算法可以智能地提取图像的边缘信息,但该算法的效率有待提高,同时其易陷入局部最优解,抗噪能力较弱。

3 边缘连接算法

边缘检测图像往往存在断层现象,蚁群算法具有智能搜索特点,其适应能力较强,因此本文利用蚁群算法进行边缘连接。为了较好地检测出符合已检测出边缘走向的边缘,避免连接线发生偏移,引入相关度及设置蚂蚁停止规则。首先提取边缘图像的端点,本文提取的边缘图像边缘点的像素值为1,背景像素值为0。连接数为1的像素为边缘端点[9],计算每个像素的连接数为

(13)

图1 像素x的8邻域Fig.1 8-connectivity of pixel x

图2 蚂蚁行走方向信息Fig.2 Ants running direction information

(14)

(15)

其中D为

(16)

(17)

式中:θ1为相关度指数,φ为方向加权信息,θ2为方向指数。在蚁群算法连接过程中可能搜索无效的边缘,或在已知的边缘上搜索。为了减少计算量,同时避免噪声对检测的影响,本文采取如下行走规则:

(1)当蚂蚁走过规定的步长时,停止搜索。

(2)当蚂蚁再次走到端点时,停止搜索。

(3)当蚂蚁连续3次在边缘上时,停止搜索。

(4)当蚂蚁走到重复的位置时,停止搜索。

(5)连续3次蚂蚁经过的路径上梯度较小时,停止搜索。

与传统的蚁群算法行走规则相比,该行走规则可避免蚂蚁在已检测出的边缘上进行无效的搜索,同时可以有效地避免蚂蚁在非边缘区域搜索,导致搜索时间加长,检测结果出现伪边缘。当所有的蚂蚁完成迭代后,根据路径上信息素的浓度选择合适的阈值,进行边缘提取,输出二值图像、边缘点和非边缘点。

4 实验结果及分析

4.1 实验1

为了验证本算法的有效性,以Matlab 7.9为实验平台对图像进行边缘检测。选取“House”,“Lena”,“Camera” 3幅图像,图像大小为256×256并与Sobel算法以及传统蚁群算法进行比较。本文算法的如下参数均是通过大量的实验统计得到。阈值Φ1=0.55;阈值Φ2=14;阈值Φ3=4;加权系数ρ0=2;蚂蚁的数量与图像中端点的数量相等,启发因子α=3;期望因子β=0.5;初始信息素c0=0.001;相关度指数θ1=2;方向指数θ2=2;蚂蚁最大步长为100;迭代次数为10;实验结果如图3所示。

图3 “House”图像实验对比Fig.3 Experimental result contrast of image “House”

通过以上参数设置,对以上图像进行边缘提取,结果如图3~5所示。其中,图3(a),图4(a),图5(a)分别是“House”图、“Lena”图和“Camera”图的原始图像;图3(b),图4(b),图5(b)是根据Sobel算子检测的边缘图像;图3(c),图4(c),图5(c)是根据传统蚁群算法得到的边缘图像;图3(d),图4(d),图5(d)是由本文提出的算法进行边缘提取得到的边缘图像,其未经过边缘连接;图3(e),图4(e),图5(e)为本文算法经过本文蚁群连接得到的边缘图像。通过对图3~5的实验结果对比可知:(1)Sobel算子在边缘检测中丢失了图像的重要细节部分,如“House”图的房檐部分。尤其在“Lena”图边缘检测中,断层较为明显,左边边缘难以检测。(2)传统蚁群算法在边缘检测中蚂蚁盲目性较大,易造成局部过早收敛,因此结果中出现了明显的断层现象,边缘信息较为离散,许多重要的边缘信息难以检测。(3)本文边缘检测算法利用像素点周围相应突变点的个数与方向连续性相结合进行边缘检测。由图3(d),图4(d),图5(d)可知本文算法可以较好地检测图像的细节信息,得到的边缘信息较为完整,抗噪能力较强,但在细节方面出现一些细小的断层。因此采用蚁群算法进行边缘连接可以设置启发引导函数与相关性和方向相结合,减少蚂蚁寻优的盲目性,如图3(e),图4(e),图5(e)所示连接后的边缘更加完整。

图4 “Lena”图像实验对比Fig.4 Experimental result contrast of image “Lena”

4.2 实验2

图像往往含有噪声,为了检验算法的抗噪能力,本文针对噪声图像进行边缘检测。分别对“House”图添加噪声密度为0.03的椒盐噪声和标准差为0.05的高斯噪声进行检测,实验结果如下。由图6可以看出, Sobel算子检测结果受噪声干扰较为严重, 不能有效地滤除椒盐噪声的干扰。传统的蚁群算法在搜索的过程中蚂蚁受噪声的干扰会进行大量的无效搜索,检测结果较为离散,断层严重。图6(d)为本文算法未经蚁群算法连接的检测结果,清新地反映了图像的边缘信息,同时滤除了椒盐噪声对结果的影响,但其中存在一些小断层,经过蚁群算法边缘连接,得到更加完整的边缘信息。

图5 Camera图像实验对比Fig.5 Experimental result contrast of image Camera

图6 椒盐噪声图像实验对比Fig.6 Experimental result contrast of image with salt and pepper noise

通过图7对含高斯噪声的图像检测结果可以看出。Sobel算子在反映边缘信息的同时显示不连续的噪声干扰点。传统的蚁群算法受噪声影响,检测结果断层严重。图7(d)为本文算法未经蚁群算法连接的检测结果,相比之下,其可以较好地减轻噪声对结果的影响,同时清晰地反映了图像的边缘信息,但其中存在若干断层。图7(e)对检测结果进行了边缘连接,可以看出其较好地补偿了断裂的边缘。

图7 高斯噪声图像实验对比Fig.7 Experimental result contrast of image with Gaussian noise

5 结束语

本文通过分析现有的边缘检测算法的不足与影响边缘检测效果的因素,提出了一种新的边缘检测算法,并利用蚁群智能优化算法进行边缘连接。该算法根据人们视觉的特点,即边缘两侧灰度变化情况,对像素点的邻域进行量化来计算梯度,可以较好地检测弱小边缘,利用方向的连续性进行边缘提取,可以有效地削弱噪声对检测结果的影响,提高算法的抗噪能力。利用蚁群算法智能搜索的特点进行边缘连接,可以有效地连接边缘图像中的断裂边缘,得到较为完整的边缘图像。但对于不同的图像,该算法相关的参数应作适当的调整,下一步的重点是对其自适应能力作进一步完善。

[1] 张建,周激流,何坤,等.基于多态蚁群优化的图像边缘检测[J].计算机工程与应用,2011,47(3):20-22.

Zhang Jian, Zhou Jiliu, He Kun et al. Polymorphic ant colony optimization algorithm in image edge detection[J]. Computer engineering and Applications, 2011,47(3):20-22.

[2] 曹春萍,梁慧.改进的蚁群算法在图像边缘检测中的应用研究[J].计算机应用与软件,2013,30(9):266-269.

Cao Chunping, Liang Hui. On applying improved ant colony algorithm to image edge detection[J]. Computer Application and Software, 2013,30(9):266-269.

[3] Li Z, Xie J. An edge detection algorithm based on omnidirectional wavelet transform[J].Act Electronica Sinica , 2012,40(12):2451-1330.

[4] Liu L, Kuang G. Overview of image textural feature extraction method[J].Journal of Image and Graphics, 2009,14(4):622-635.

[5] 邓彩霞,王贵彬,杨鑫蕊.改进的抗噪形态学边缘检测算法[J].数据采集与处理,2013,28(6):739-745.

Deng Caixia, Wang Guibin, Yang Xinrui. Improved algorithm of morphology in edge detection for noise resistance[J]. Journal of Data Acquisition and Processing, 2013,28(6):739-745.

[6] 景少玲,白静,叶鸿瑾.改进的形态学肺部图像边缘检测[J].数据采集与处理,2014,29(1):134-140.

Jing Shaoling, Bai Jing, Ye Hongjin. Edge detection of lung images based on improved morphology[J]. Journal of Data Acquisition and Processing, 2014,29(1):134-140.

[7] 魏伟波,芮晓婷.图像边缘检测方法研究[J].计算机工程与应用,2006,42(30):88-91.

Wei Weibo, Rui Xiaoting. Study on edge detection method[J].Computer Engineering and Applications, 2006,42(30):88-91.

[8] 董梁.基于哈夫变换的图像边缘连接[J].现代电子技术,2008,31(18):149-150.

Dong Liang. Image edge linking based on hough transform [J]. Modern Electronics Technique, 2008,31(18):149-150.

[9] 段海滨.蚁群算法原理及其应用[M].北京:科学出版社,2005.

Duan Haibin. Ant colony algorithms: Theory and applications[M]. Beijing: Science Process, 2005.

[10]宋建军,侯志强,余旺盛.基于改进的蚁群算法的边缘连接方法[J].电光与控制,2012,19(10):42-45.

Song Jianjun, Hou Zhiqiang, Yu Wangsheng. Edge linking method based on improved ant colony algorithm[J]. Electronics Optics and Control, 2012,19(10):42-45.

[11]胡慧,何聚厚,何秀青.基于模糊理论和蚁群算法的图像边缘连接方法[J].计算机工程与应用,2014, 50(3):168-172.

Hu Hui, He Juhou, He Xiuqing. Edge linking method based on fuzzy theory and ant colony algorithm[J]. Computer Engineering and Applications, 2014,50(3):168-172.

[12]刘蕊,陈红卫.一种改进的图像边缘检测算法[J].科学技术与工程, 2009,9(21):6395-6303.

Liu Rui, Chen Hongwei. An improved image edge detection algorithm[J]. Science Technology and Enginering, 2009,9(21):6395-6303.

[13]Tian Jin, Yu Weiyu, Xie Shengli. An ant colony optimization algorithm for image edge detection[C]∥IEEE World Congress on Computation Intelligence. Hong Kong: IEEE, 2008:735-756.

[14]Nezamabadi-Pour H, Saryazdi S,Radhedi E. Edge detection using ant algorithms[J]. Soft Computing, 2006,10(7):623-628.

[15]Lu D S, Chen C C. Edge detection improved by ant colony optimization[J]. Pattern Recognition Letters, 2008,29(4):416-425 .

[16]Liu Jianjun, Zhi Li. Ant colony combined with adaptive threshold denoising and reconstruct for THz image[J]. Optik, 2014,125(14):3423-3427.

[17]Han Yangfang, Shi Pengfei. An improved ant colony algorithm for fuzzy clustering in image segmentation[J]. Neurocom- puting, 2007(4),70:665-671.

A new algorithm for edge detection is proposed to anti-noisely detect weak edges and broken edges produced in traditional edge detectors. First, edge is extracted and then connected. Edge is the reaction of gray mutation. The gradient of the pixels is composed of weighted pixel number which signifys the amount of pixels adjoin this pixel in the symmetry location. The direction of the pixels with larger gradient is calculated. Edges are extracted based on the continuity of pixels′ direction. To compensate the faults of edge image, we use ant colony algorithm to connect edges. The experimental result shows that the method has strong anti-noise ability, especially for salt and pepper noise, and can effectively detect the edge of gradation change significantly.

edge detection; edge linking; ant colony algorithm

教育部“新世纪”优秀人才支持计划(NCET-13-1011)资助项目;国家自然科学基金(61601417)资助项目;中央高校基本科研业务费专项资金(CCNU15A05220)资助项目;智能地学信息处理湖北省重点实验室开放课题(KLIGIP2016A01,KLIGIP2016A02)资助项目。

2015-05-25;

2015-09-19

TP391.41

A

胡志成(1988-),男,硕士研究生,研究方向:数字图像处理,E-mail:huzhicheng78@sina.com。

李宏伟(1965-),男,教授,博士生导师,研究方向:统计信号处理、时间序列分析。

付丽华(1979-),女,教授,硕士生导师,研究方向:信息处理与智能计算。

Edge Detection Based on Edge Continuity

Hu Zhicheng, Li Hongwei, Fu Lihua

(School of Mathematics and Physics, China University of Geosciences, Wuhan, 430074, China)

猜你喜欢
像素点算子灰度
采用改进导重法的拓扑结构灰度单元过滤技术
拟微分算子在Hp(ω)上的有界性
基于灰度拉伸的图像水位识别方法研究
基于局部相似性的特征匹配筛选算法
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割