您好, 访客   登录/注册

改进Canny算子在水面目标边缘检测中的研究

来源:用户上传      作者:

  摘  要: 基于边缘特征的提取方法被广泛应用于水面目标识别当中。针对传统方法抗噪性较差且易误判和漏判的缺点,文章对 Canny 算法进行了改进,基于Canny边缘检测思想,采用双边滤波,以及通过 Sobel 算子计算梯度幅值方向,并在梯度非极大值抑制过程中,将极大值点作为候选边缘点,将极大值二次刷选,保留8邻域内候选边缘点不相邻的非极大值点,最后利用 Otsu 计算图像高低阈值。结果证明,该方法能更准确的检测边缘信息,且具备较强的自适应性。
  关键词: 边缘检测; Canny算法; 双边滤波; 非极大值抑制; Otsu
  中图分类号:TP311          文献标识码:A    文章编号:1006-8228(2020)01-35-04
  Abstract: The edge feature based extraction method is widely used in water surface target recognition. Aiming at the disadvantages of traditional methods such as poor noise resistance and easy misjudgment and missed judgment, this paper makes the Canny algorithm improved. By using bilateral filtering, and using Sobel operator to calculate the gradient amplitude direction, and in the gradient non-maximum value suppression process, the maximum value point is used as the candidate edge point, and the maximum value is twice selected, leaving 8 neighbors. The non-maximal points of the candidate edge points in the domain are not adjacent, and finally the Otsu is used to calculate the image high and low thresholds. The result proves that the method can detect edge information more accurately and has strong adaptability.
  Key words: edge detection; Canny algorithm; bilateral filtering; non-maximum value suppression; Otsu
  0 引言
  邊缘检测是图像处理中一种用于识别灰度图像中亮度变化明显的界限、剔除无关信息、保留图像整体结构属性的方法[1]。检测结果的好坏对深层次的图像特征提取、图像分割和图像识别等会产生较为重大的影响,因而在机器视觉、模式识别、人工智能等诸多计算机前沿领域举足轻重。例如可以对交通标线和路标自动识别及定位;对医学图像进行分割,以便更直观、清晰地对图像进行诊断;能够对运动目标检测与跟踪,以及人脸识别与指纹识别等[2-6]。
  目前,传统的边缘提取算子大致分为两类:一阶差分边缘检测算子和二阶微分边缘检测算子。常用的一阶差分边缘检测算子主要包括Sobel算子、Prewitt算子和Roberts算子。二阶微分边缘检测算子要有LoG算子、Laplace算子等,但两类算子都是在像素点邻近区域内进行计算,对噪声较为敏感,边缘定位不够准确,使其在实际工程中检测效果并不理想。因此,Canny于1986年提出Canny边缘检测算法,并获得了广泛应用。
  1 传统Canny边缘检测算法
  1.1 传统Canny边缘检测算法步骤
  ⑵ 计算梯度的幅值和方向。选用合适的梯度算子计算降噪后影像各像素点的梯度大小方向。
  ⑶ 非极大值抑制。在当前像素点的邻域内,通过比较该点的梯度幅值,若大于沿梯度方向上相邻两个像素点灰度值的梯度幅值,那么判断该点是可能的边缘点,否则判断该点为非边缘点[9-10]。
  ⑷ 用双阈值算法检测和连接边缘。经非极大值抑制得到的结果,仍存在许多噪声和假边缘,需要进一步阈值处理,以消除假边缘。通常的做法是确定一个高阈值[Th]和一个低阈值[Tb],如果边缘像素点梯度值大于高阈值,则被认为是强边缘点;如果边缘梯度值小于高阈值,大于低阈值,则标记为弱边缘点;小于低阈值的点则被抑制掉[11-12]。
  1.2 传统算法的缺陷
  数字图像在处理前需要进行高斯滤波,在此过程中,方差σ的取值要求人为设定,但人为设定σ时,在滤除噪声与保护边缘信息方面存在一定局限性,两者效果不能兼顾。并且使用2×2领域一阶偏导有限差分计算梯度时,由于导数计算对噪声非常敏感,从两个方向对图像进行边缘检测,容易出现伪边缘和漏检现象。同时,传统canny算法通过人为设定高、低阈值,通过与阈值比较确定图像的边缘,这种方法主观性较强,而且费时费力,若设置的阈值上界过小会出现大量的伪边缘,过小则出现漏检现象。而设置过大的阈值下界会出现漏检现象,过小会出现较多的误检。
  2 改进的Canny边缘检测算法
  本文针对上述缺陷提出一种改进的Canny边缘检测算法,在对水面目标去噪时尽可能保留边缘信息并增强自适应性。   2.1 双边滤波
  双边滤波[13]是一种非线性的滤波方法,它结合了图像的空间邻近性和像素值的相似性,并考虑了空间信息和灰度的相似性,从而达到了保留边缘和去噪的目的。它比高斯滤波器多了1个高斯方差sigma-d,其基于高斯滤波函数的空间分布,所以在边缘附近,距离较远的像素不会过多影响到边缘上的像素值,这样就确保了边缘附近像素值的保存。双边滤波的像素输出值取决于邻域像素值的加权组合,即:
  由于水面目标受水波、场景等变化因素的影响,易产生大量噪声,因而进行了改进:将梯度幅值极大值点进行保留并作为候选边缘点;若某个像素点梯度幅值小于梯度方向上与其两个临近插值点,则对其抑制;若某像素点梯度幅值仅大于与其临近插值点两个中的一个时,则搜寻该像素点在边缘图中与其8邻域内是否有候选边缘点存在并判断其连续性,如果邻域存在候选边缘点并且不连续,则可以判定该像素点是被抑制的边缘点,将其标记为候选边缘点;否则,判定该点为非边缘点。
  3 实验与分析
  本文分别通过直接调用传统Canny算法与改进Canny算法进行了大量实验,验证本文改进算法准确性和可行性,最后从众多实验结果中选取三幅图,分别从单一船只、多艘船只和复杂场景下的船只三个方面进行了算法分析。
  传统算法与本文改进算法的实验结果对比如圖3—图5所示。
  4 结束语
  本文通过对传统Canny算子对水面目标边缘检测进行分析,指出了传统Canny算子在滤波去噪和阈值确定方面的不足,并加以改进,使用双边滤波去噪代替传统的高斯滤波去噪,利用Sobel算法进行梯度计算,并进行非极大值抑制处理,在梯度非极大值抑制过程中,将极大值点作为候选边缘点,对极大值进行二次刷选,最后通过Otsu计算高低阈值进行最终的边缘检测。本文改进后的算法与传统算法相比,运行结果中假边缘数量明显减少,边缘位置能准确地确定,算法去噪效果提高,因此本文的改进算法在边缘检测方面可行且有效。
  参考文献(References):
  [1] 李弼程,彭天强,彭波,等.智能图像处理技术[M].北京:电子工业出版社,2004:153-155
  [2] 段军,张博.改进的Canny算子边缘检测算法研究[J].软件导刊,2018.17(10):72-75
  [3] 徐亮,魏锐.基于Canny算子的图像边缘检测优化算法[J].科技通报,2013.7:127-131
  [4] 宋召青,郑苏,李志成.基于边缘检测与最小二乘支持向量机的人脸图像识别[J].海军航空工程学院学报,2010.25(5):518-522
  [5] 龙顺宇,朱星.基于ARM构建Sobel边缘检测算子的指纹识别系统实现[J].物联网技术,2013.12:25-27
  [6] 贺超宇,郑紫微.基于改进的Vibe和Canny边缘检测算法的运动目标检测[J].数据通信,2018.2:32-36
  [7] 徐灿,张秋菊.基于改进Canny算子的葵花籽边缘检测方法[J].食品与机械,2015.31(5):36-38
  [8] 陈燕龙,祝成虎.基于Canny算子的边缘检测改进算法[J].计算机应用与软件,2008.25(8):51-53
  [9] 孙砚飞,常晓刚,李东兴,等.基于自适应Canny的红外图像边缘检测算法[J].山东理工大学学报,2017.31(6):18-21
  [10] 叶德周,杨风健,貌程浩,等.基于Canny算子的红外影像边缘检测算法[J].激光与红外,2015.45(9):1129-1132
  [11] 辛玉欣,王传洋.一种基于Canny算子的图像边缘检测方法[J].信息与电脑(理论版),2017.18:37-38
  [12] 史久根,张亚.一种改进的自适应Canny算子边缘检测算法[C].中国仪器仪表与测控技术大会.2011.
  [13] Elad M.On the origin of the bilateral filter and ways to improve it[J].IEEE Transactions on Image Processing,2002.11(10):1141.
  [14] Jie G,Ning L.An Improved Adaptive Threshold Canny Edge Detection Algorithm[C].International Conference on Computer Science & Electronics Engineering.2012.
  [15] Wang B,Fan S S.An improved Canny edge detection algorithm[C].International Workshop on Computer Science and Engineering.IEEE,2010:497-500
  [16] Zhou P,Ye W J,Xia Y J,etal.An improved Canny algorithm for edge detection[J].Journal of Computational Information Systems,2011.75(5):1516-1523
转载注明来源:https://www.xzbu.com/8/view-15098559.htm