APP下载

一种改进的SUSAN角点检测算法

2020-10-09郑昊林玉娥

电脑知识与技术 2020年22期

郑昊 林玉娥

摘要:角点是用来表示图像的重要特征,角点检测经常是复杂图像计算的第一步,所以对角点检测准确性的要求非常高。因此,提出一种改进的SUSAN角点检测算法,在进行Canny边缘检测后,对检测到的边缘像素点进行SUSAN角点检测,再使用欧氏距离使检测的角点更加准确。实验证明,基于Canny边缘检测的SUSAN角点检测算法相比经典的Harris角点检测算法与SUSAN角点检测算法在准确率上有了明显的提升。

关键词:角点检测;Canny边缘检测;SUSAN角点检测

中图分类号:TP18 文献标识码:A

文章编号:1009-3044(2020)22-0040-03

开放科学(资源服务)标识码(OSID):

角点可以保留图像重要特征,也可以减少信息的数据量,提高计算速度,有利于图像的实时匹配。角点在运动估计、目标跟踪、目标识别、图像配准与匹配等领域都有很好的应用。角点检测算法目前主要分成3类:基于灰度图像的角点检测、基于轮廓曲线的角点检测、基于二值图像的角点检测。

Moravec于1977年提出了Moravec算法,该算法利用方形窗口检测图片中的每个像素,通过比较方形窗口的相关性检测角点;H arris在Moravec算法的基础上进行了改进[2],首先使用高斯滤波器对待检测图片进行平滑,接着通过构建自相关矩阵来获取角点。但是H arris只对L型角点有着较好的检测率,对其他类型角点的检测能力一般;张海燕等人将多尺度的概念和图像分块方法引入Harris算法中[10],提高了对图像角点的检测性能;陈白帆等人在Harris算法中引入了尺度空间理论[11]],解决了单一尺度Harris角点检测存在的丢失角点信息、角点位置不准确和由于噪声影响导致提取到伪角点等问题,该方法保持了Harris算法在光照条件下的稳定性的同时可以检测出多尺度下的角点;王冠群等人则将多尺度空间应用在SUSAN角点检测算法中[12],同时使用了自适应阈值,既可以获得多尺度角点,也改善了使用单一阈值带来的误检点和漏检点。

基于边缘的角点检测算法只利用了图像的边缘轮廓信息进行角点检测,图像的灰度信息却被忽略了,而基于灰度的角点检测算法则大多只使用了图像的灰度信息。SUSAN算法是一种基于灰度的角点检测算法,它的角点检测能力较强,但是它的误检率也较高,因此本文提出一种既利用到边缘轮廓信息又利用到灰度信息的Canny-SUSAN算法,该算法在边缘像素点上进行SUSAN角点检测,比于原SUSAN算法缩短了运算时间。经过实验,本文算法相比于Harris算法和SUSAN算法在准确率上有了较大的提升。

1 Canny边缘检测

JOHN CANNY于1986年首次提出了Canny 边缘检测算法。Canny边缘检测算法有以下5个步骤:1)使用高斯滤波器平滑待测图像。2)计算待检测图像中各像素点的梯度强度和方向。3)将边缘检测带来的杂散响应用非极大值抑制消除。4)使用高低阈值对检测到的边缘进行划分。5)将弱边缘进行抑制。

(1)将待测图像用高斯滤波器进行平滑

由于部分梯度幅值较大的噪声点也容易被边缘检测算子误检为角点,因此为了减少噪声对边缘检测结果的影响,应将噪声点滤除。使用待检测图像与高斯滤波器进行卷积运算,以减少边缘检测器上梯度幅值较大的噪声的影响。高斯滤波器的公式如下:

其中盯为高斯滤波器参数,控制着平滑程度;f(x,y)为待测图像中各点的灰度值。

(2)计算梯度幅值和方向

Canny边缘检测算法的中心思想是找到一幅图像中灰度变化率最大(即梯度方向)的位置,变化率越大越可能是边缘,而变化率的大小是由梯度幅值体现的。Canny边缘检测算法可以使用四个算子来检测图像中的水平、垂直和对角边缘(如Rob-erts,Prewitt,Sobel等)。经过高斯滤波平滑后的图像梯度的幅值和梯度方向可以由Sobel算子来获得。

其中Gx由水平方向的Sobel算子与经过高斯滤波后的图像卷积得到;GY由竖直方向的Sobel算子与经过高斯滤波后的图像卷积得到。

(3)对幅值图像进行非极大值抑制

(4)双阈值检测

在对幅值图像进行非极大值抑制处理之后,仍然存在部分受噪声和颜色变化影响的边缘像素。这些杂散响应可以通过设置高低闽值来解决。

(5)抑制弱边缘像素点

由于从正确边缘提取的弱边缘像素会连接强边缘像素,而由杂散响应引起的弱边缘像素则不会,如果一个弱边缘像素的8一领域像素中有一个为强边缘像素,则可将该弱边缘像素定为边缘像素。

2 SUSAN角点检测算子

SUSAN算子由Smith等人于1997年提出。該算子采用如图1所示的圆形模板在图像上移动,将模板内像素点的灰度值与模板中心的灰度值做差,若该灰度差小于一个阈值,则判定像素点与模板中心处于同一区域,将该区域称为核值相似区USAN(Univalue-Segment-Assimilating-Nucleus), SUSAN算子由核值相似区的面积来判断核位置的像素是否为角点。

比如在图2中,USAN值最大的为e,该圆形模板处于目标的背景中;其次为bcd,此时圆形模板靠近边缘的位置;而最小的为a,圆形模板位于角点的位置。用于判断像素点是否属于USAN区的公式为:

其中,g为抑制噪声的几何阈值。在获得初始角点响应值之后,初始角点响应值越大的点越有可能是角点,将其与其8一邻域内的像素点的角点响应值进行比较,若它是最大的.则可以确定它是一个角点。

3 改进的Canny-SUSAN角点检测

由于基于边缘的角点检测算法只利用了图像的边缘轮廓信息进行角点检测,却没有利用到图像的灰度信息,而基于灰度的角点检测算法则大多只考虑到图像的灰度信息,所以这两种类型的算法都存在一定的局限性。又由于角点处于图像中各个边缘的交汇处,必定处于某个边缘上,因此提出一种Can-ny-SUSAN角点检测算法,首先对输入的待测图片使用Canny边缘检测算法进行边缘检测,将获取到的边缘像素的坐标记录到数组中。接着对该数组中坐标对应的像素点使用SUSAN算法进行角点检测,得到初始角点集合,由于初始角点集合中仍存在一部分冗余点与误检点,所以最后还需要对检测到的初始角点进行欧氏距离计算,去除不精确的冗余角点以及误检点得到准确角点。本算法既利用了待测图片的边缘轮廓信息,又利用了待测图片的灰度信息,在缩小了范围的边缘像素点中进行角点检测,有效减少了漏检点和误检点,提升了角点检测的准确率。同时,由于SUSAN算法是针对待测图片的全部像素点进行检测的,计算量比较大,而本文算法只对边缘像素点进行角点检测,从而大大减少了检测时间。下面是Canny-SUSAN角点检测算法的具体步骤:

1)利用Canny边缘检测器检测输入图片的边缘映射;

2)提取步骤1)获得的边缘映射;

3)利用SUSAN角点检测算法对图片边缘上的每个像素进行角点检测;

4)计算边缘上每个像素点的角点测度;

5)边缘上的每个点和其8一邻域内的点的角点测度进行比较,精确确定角点;

6)将确定的每个角点和其他角点进行欧氏距离的测量,将欧氏距离小于阈值n的划为一个集合,将集合中的点像素的行和列求均值后作为最终角点的位置。

4 实验结果与分析

为了验证本文方法在角点检测准确率上的改进,选取特征点明显的棋盘图片进行角点检测实验。实验使用Harris算法、SUSAN算法与Canny-SUSAN算法分别对棋盘图片和顺时针旋转45。后的棋盘图像进行角点检测。在SUSAN算法和Canny-SUSAN算法阈值的选取上,经过实验发现,当阈值t选择40时,获得的正确点数偏多,冗余点和误检点偏少;阈值g仍然选择2/3max(usan)。以下所有仿真实验中,SUSAN算法与本文算法皆按照以上参数设定,Harris角点检测器的参数为其默认设置。

根据图4和表1的检测结果可知,对于图3(a),SUSAN算子和本文方法检测到的正确角点比Harris算子多,本文方法检测到的正确角点比SUSAN算子检测到的正确角点略少,说明本文方法与SUSAN算子检测能力相当。而使用本文方法进行角点检测的准确率比Harris算子高出26.29%,比SUSAN算子高出19.71%。上述数据表明,本文方法比Haaris算子和SUSAN算子具有更高的准确率。

根据图5和表2的检测结果可知,对于图3(b),Harris算法、SUSAN算法与本文算法检测到的正确角点个数大致相当。但是本文方法检测角点的准确率比Harris算子高出21.71%,比SUSAN算子高出15.56%。这表明本文方法对于发生旋转变换后的待测图片仍具有良好的检测性能。

5 结论

针对SUSAN角点检测算法检测的角点中冗余点和误检点较多的问题,本文提出了一种基于Canny边缘检测的SUSAN角点检测算法,首先对图片进行边缘检测,再对检测到的边缘点进行角点检测,最后对检测到的角点进行二次筛选,确定最终角点。传统的角点检测算法往往只是基于边缘轮廓或者基于灰度的,本算法结合了两种方法,既利用了边缘轮廓也利用了灰度信息,只对边缘像素点进行角点检测也减少了算法所需要的时间,再用欧氏距离过滤掉一部分伪角点,提高了角点检测的准确率。从对原始图片和旋转图片的检测结果来看,本文算法的角点检测准确率均优于H arris算法和SUSAN算法。但是,由本文方法检测到的正确角点数目不够充足,下一步将针对这一点进行改进。

参考文献:

[1] Li J,Allinson N M.A comprehensive review of current local fea-tures for computer vision[J].Neurocomputing,2008,71(10/11/12):1771-1787.

[2] Harris C,Stephens M.A combined corner and edge detector[C]//Procedings of the Alvey Vision Conference 1988. Manchester.Alvey Vision Club, 1988: 147-151.

[3]章毓晋.图象工程一上册一图象处理和分析[M].北京:清华大学出版社,1999.

[4] Canny J.A computational approach to edge detection[J].IEEETransactions on Pattern Analysis and Machine Intelligence,1986,PAMl- 8(6):679-698.

[5] Schmid C,Mohr R,Bauckhage C Evaluation of interesting pointdetectors [J]. International Journal of Computer Vision, 2000,37(2):151-172.

[6]張海燕,李元媛,储晨昀,基于图像分块的多尺度H arris角点检测方法[Jl.计算机应用,201 1,31(2):356-357.

[7]何海清,黄声享,改进的Harris亚像素角点快速定位[J].中国图象图形学报,2012,17(7):853-857.

[8]郑永斌,黄新生,丰松江.SIFT和旋转不变LBP相结合的图像匹配算法[J].计算机辅助设计与图形学学报,2010,22(2):286-292.

[9]章为川,程冬,朱磊.基于各向异性高斯核的多尺度角点检测[J].电子测量与仪器学报,2012,26(1):37-42.

[10]张海燕,李元媛,储晨昀,基于图像分块的多尺度Harris角点检测方法[Jl.计算机应用,2011,31(2):356-357.

[11]陈白帆,蔡自兴.基于尺度空间理论的Harris角点检测[J].中南大学学报(自然科学版),2005,36(5): 45-47.

[12]王冠群,马苗,张艳宁,等.基于高斯变换的多尺度SUSAN角点检测方法[J].计算机工程与应用,2016,52(12):184-188.

【通联编辑:唐一东】

作者简介:郑昊(1995-),男,安徽淮南人,硕士研究生,研究方向:图像处理;林玉娥,安徽理工大学计算机科学与工程学院副教授,博士,主要研究方向为模式识别和图像处理。