Print

发布时间: 2017-06-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.160650
2017 | Volume 22 | Number 6




    图像分析和识别    




  <<上一篇 




  下一篇>> 





Log-Gabor梯度方向下的角点检测
expand article info 高华
西安邮电大学经济与管理学院, 西安 710061

摘要

目的 角点是图像的基本特征,在图像处理与计算机视觉系统中,经常作为复杂计算的第1步,例如,目标识别、目标跟踪等。因此,角点检测器的检测性能显得尤为重要。基于此,提出了一个既利用到图像边缘轮廓信息又利用到图像灰度信息的基于Log-Gabor梯度方向一致性的角点检测算法,以提高角点检测器的检测性能。 方法 根据角点的定义可知,角点在各个方向的灰度变化都很大,并且每个角点的梯度方向与相邻像素的梯度方向都具有很大差别。然而,相邻边缘像素点的梯度方向是一致的,都是垂直于边缘脊的方向。因此,本文利用角点与边缘像素的这一特性,构建了一个新的角点测度。该算法首先利用边缘检测器检测并提取图像的边缘映射;然后利用Log-Gabor虚部滤波器提取边缘像素周围的灰度变化信息,找到边缘像素点的梯度方向,利用梯度方向计算新的角点测度;最后对角点测度进行阈值化处理,得到最终的角点检测结果。 结果 提出的算法分别与CPDA(chord-to-point distance accumulation)算法,He & Yung算法,以及Harris算法在标准轮廓图像和仿射变换下进行性能比较。平均重复率与定位误差分别作为评价角点检测器检测稳定性以及定位性能的指标。从平面曲线上的仿真实验结果可以看到,本文提出的角点检测算法能够较好地检测到真实角点,避免对角点的漏检与误检。旋转变换、非统一尺度变换以及高斯噪声下的平均重复率和定位误差结果的平均排名CPDA为2.00,Harris为3.33,He & Yung为2.83,本文算法为1.67。实验结果表明,本文算法的综合性能最优。本文算法优于其他3种角点检测算法,包括检测稳定性能和定位性能。 结论 基于边缘的角点检测算法大多只依赖于图像的边缘轮廓信息,没有考虑到图像的灰度变化,而基于灰度的角点检测算法大多只考虑到图像的灰度信息。本文算法既考虑到图像的边缘形状也考虑到图像的灰度变化,并且利用log-Gabor虚部滤波器充分的提取图像的局部信息。在此基础上,利用图像边缘像素的梯度方向一致性构建了新的角点测度,以提高角点检测器的检测性能。实验结果表明,本文算法拥有良好的角点检测稳定性与定位性能。

关键词

特征检测; 角点检测; 边缘轮廓; log-Gabor滤波器; 梯度方向一致性

Corner detection using the log-Gabor gradient direction
expand article info Gao Hua
School of Economics and Management, Xi'an University of Posts and Telecommunication, Xi'an 710061, China

Abstract

Objective Many local features, such as corner and inflection points, exist in images. The corner is the basic feature of an image, and it is always defined as a point where at least two edges intersect, a point having the maxima curvature, or a point around which a significant change in intensity occurs in all directions. Many corner detectors are available, and existing approaches can be broadly classified into edge-based, model-based, and gray-based methods. Corner detectors have their respective advantages and disadvantages. Model-based corner detectors detect corner points by matching image patches to the predefined templates. However, predefined templates cannot easily cover the full corner in natural images. Gray-based corner detection algorithms measure the local intensity variation of an image to find corners. These methods are sensitive to local variation and not robust to noise. Edge-based methods extract the edges from the input image and analyze the edge's shape to find corners. These approaches cannot fully extract image information. Corner detection is a challenging task in image processing and computer vision systems, such as object recognition, object tracking, simultaneous localization and mapping (SLAM), and pattern matching. Therefore, the performance of the corner detector is important. To improve the detection performance of the corner detector, this paper presents a new corner detector that combines the edge contour and gray information of the image and utilizes the consistency of the edge pixels with the log-Gabor gradient direction. Method According to the definition of "corner, " we know that intensities around a corner change extremely in every direction. The gradient direction of a corner with adjacent pixels differs significantly. However, the gradient direction of adjacent edge pixels is the same and perpendicular to the ridge of the edge. This study uses this characteristic to construct a new corner measure. The proposed algorithm employs the Canny edge detector to detect and extract the edge map of an input image. Then, the imaginary parts of log-Gabor filters are used to smooth the edge pixels along multi-directions, and the corresponding gradient directions of pixels are determined. The obtained gradient directions are used to construct the new corner measure. Afterward, both the corner measure and angle threshold are used to remove false and weak corners. Result The proposed detector is compared with three corner detectors on planar curves and under affine transforms. We also evaluate the performance under Gaussian noise degradation. To evaluate the performance of four detectors on planar curves, two published test image shapes of different sizes are selected. Ten different common images from standard databases are also used to evaluate the performance under affine transforms and Gaussian noise degradation. Average repeatability and localization error are the two evaluation criteria. Average repeatability measures the average number of repeated corner points between affine-transformed and original images. The localization error measures the localization deviation of the repeated corner. In the simulation experiments, the average rankings of the four approaches are as follows:CPDA is 2.00, Harris is 3.33, He and Yung is 2.83, and proposed method is 1.67. Experimental results show that the proposed method presents excellent performance in terms of average repeatability and localization error under affine transform and Gaussian noise degradation. The number of false and missed corners in published test images is less than that of the three other corner detectors in the experiments. High computation complexity is the shortcoming of the proposed method. Conclusion The edge-based corner detection algorithm mostly depends only on the edge shape of the image without considering the change in image gray. The gray-based corner detection algorithm only considers the gray information of the image. The proposed method considers the image edge shape and the gray changes. The imaginary parts of log-Gabor filters are used to smooth the edge pixels along multi-directions. Meanwhile, the consistency of the gradient directions of the edge pixels is used to construct the corner measure. Experimental results show that the proposed algorithm has good stability and corner detection performance. To address the high computation complexity of the proposed method, hardware measures, such as an embedded processor and FPGA controller, should be used to improve the problem of real-time processing. In the future, the optimized algorithm should be considered. Meanwhile, the proposed method can be applied to image matching.

Key words

feature detection; corner detection; contour-based; log-Gabor filters; gradient direction consistency

0 引言

角点是图像的基本特征,在图像处理与计算机视觉系统中,经常作为复杂计算的第1步。例如,目标识别、目标跟踪、同步定位绘图、模式匹配等。至今为止,角点还没有明确的数学定义,它往往被定义为多个图像边缘区域的交汇点,边缘的曲率极大值点,或灰度图像各个方向亮度变化都剧烈的点。现有的角点检测一般可以分为3类:基于图像灰度的角点检测算法[1-9],基于图像边缘的角点检测算法[10-15],基于模板的角点检测算法[16-18]

基于图像灰度的角点检测方法主要是计算图像像素的灰度变化来提取角点。Moravec[1]发现边缘像素只有在沿着边缘线的垂直方向有较大的灰度变化,同质区域的像素有着很小或者几乎没有灰度变化,而在角点处的每个方向上的灰度变化都比较大。Harris和Stephens[2]发展了Moravec的思想,提出了经典的Harris角点检测算法。它首先用一个高斯滤波器来平滑输入图像,然后通过构建自相关矩阵来提取角点。Harris角点检测算法在仿射变换下有着很好的重复率,但是只能很好的检测到L-型角点[3]。因为图像中存在着多尺度的特征信息[22],单尺度的角点检测算法不能够很好的提取角点。因此,近年来一些多尺度方法也相继被提出[4-7]。Kim等人[8]利用改进的结构张量来提高Harris角点检测的定位精度与检测准确率。Duval-Poo等人[6]详细的分析了Shearlet在图像特征检测中的重要性,并通过选择合适的方向选择性变换来克服其他基于小波变换的角点检测方法提取方向信息不足的问题。LoG滤波器虽然被广泛的应用于角点检测中,但LoG滤波器不能很好的对低对比度结构的图像进行检测,Miao等人[9]基于一种广义的LoG滤波器,提出了改进的LoG滤波器进而有效的解决了该问题。基于图像边缘轮廓的角点检测算法首先提取输入图像的边缘映射,然后通过分析边缘轮廓的形状信息来检测角点。Mokhtarian和Suomela[10]提出了经典的基于曲率尺度空间(CSS)的角点检测算法,该算法首先在大尺度下检测角点,然后利用从大到小的尺度来提高角点的定位精度,不足之处在在于难以确定阈值的大小。Awrangjeb和Lu[11]提出了一个基于弦到点距离累加(CPDA)的多弦长的角点检测算法,该算法没有利用到任何一阶与二阶导数,因此其噪声有着更好的鲁棒性。He和Yung[12]提出了一个基于全局与局部曲率性质的多尺度方法来检测角点。Elias和Laganiere[13]通过计算图像边缘像素的梯度方向的变化检测角点。Zhang和Shui[14]利用Douglas-Peucker多项式逼近方法与填补边缘轮廓之间的断裂处对边缘的质量进行改善,有助于检测到部分丢失的角点,并提高角点的定位精度。Zhao等人[15]利用各向异性高斯核及其方向导数构建了一个自适应阈值的角点检测算法,克服了固定阈值带来的不确定性问题。基于模板的角点检测算法,主要是通过一个预定义的角点模型对目标图像进行窗口滤波,达到检测角点的目的。Smith和Brady[16]提出了著名的SUSAN角点检测器,该算法的基本原理是计算邻域内与中心点亮度相似的像素点个数,如果像素点小于一定的阈值就表明该中心点为角点。SUSAN角点检测器没有利用到一阶或者二阶导数信息,因此对噪声比较敏感,但不足之处在于定位性能较差。Rosten等人[17]以SUSAN角点检测算法为基础,提出了一种基于机器学习的角点检测算法。该算法不仅有快速的运行效率,而且还有着良好的平均重复率。Xia等人[18]将对抗算法应用于角点检测中,并对L-,Y-和X-型角点进行表征,达到对不同角点模型进行分类的目的。上述角点检测算法大多不能够满足图像亚像素角点的定位精度,很难应用于摄影测量等高精度的实际应用中。为了解决该问题,许多学者在像素级角点检测的基础之上进行亚像素级角点定位。He和Huang[19]首先通过对Harris角点进行两次筛选得到初始角点,然后利用最小二乘法精化达到对亚像素角点进行精确定位的目的。Chen等人[20]对每个角点的响应函数进行圆二次多项式拟合,并把其最大值点的坐标作为该角点的亚像素坐标。其他的如基于正交矢量理论与迭代算法的亚像素定位[21]

基于边缘的角点检测算法大多只依赖于图像的边缘轮廓信息,没有考虑到图像的灰度变化,而基于灰度的角点检测算法大多只考虑到图像的灰度信息。而且,Gabor小波在时频面内有着较好的定位性能。它可以从多个方向提取输入图像的直观且非常有用的信息,这些信息可以很好的描述2维图像的纹理信息。然而,Gabor滤波器的最大带宽却近似于一倍频,对于较宽的频率空间则需要构造足够多的滤波器才能充分的提取所需信息。1987年,Field[23]针对Gabor小波的上述问题提出了log-Gabor小波。Log-Gabor可以构造任意带宽的滤波器,并且它可以被优化成占用最小空间范围的滤波器。图像边缘的空间内存在一致性现象,即边缘像素的局部区域存在梯度方向一致性。边缘的梯度方向往往沿着垂直与边缘脊的方向,而角点是各个方向灰度变化都较剧烈的点。基于以上内容,本文提出了一个既利用到图像边缘轮廓信息又利用到图像的灰度信息的基于log-Gabor梯度方向一致性的角点检测新算法。实验结果表明,与经典的角点检测算法相比,该角点检测算法在仿射变换实验下有着较好的定位性能与平均重复率。

1 Log-Gabor小波

Gabor小波在空间域与频率域内有着较好的定位性能。但是其最大的宽带却被限制于一倍频,并且低频的成分不够小。Field[23]提出的log-Gabor函数是Gabor函数的另外一种表现形式,但是它很好地解决了Gabor小波存在的上述问题。Log-Gabor不但可以构造任意带宽的滤波器,并且它可以被优化成占用最小空间范围的滤波器。Gabor函数在线性频率标度下可以看作一个高斯传递函数,而log-Gabor函数在对数频率标度下同样可以看做成高斯传递函数。Log-Gabor函数在线性频率标度下的传递函数为

$ H(f) = \exp \left( { - \frac{{{{\left( {\log \left( {f/{f_0}} \right)} \right)}^2}}}{{2{{\left( {\log \left( {\sigma /{f_0}} \right)} \right)}^2}}}} \right) $ (1)

式中,$f_0$表示滤波器的中心频率,$σ/f_0$控制着滤波器的形状比例。

一个2D log-Gabor滤波器可以表示为

$ H(u,v;d) = \exp \left( { - \frac{{{{\left( {\log \left( {u'/{f_0}} \right)} \right)}^2}}}{{2{{\left( {\log \left( {{\sigma _f}/{f_0}} \right)} \right)}^2}}}} \right) \times \exp \left( { - \frac{{{{v'}^2}}}{{2\sigma _v^2}}} \right) $ (2)

式中,$u′=u$cos $θ_d+v$sin $θ_d,v′=-u$sin $θ_d+v$cos $θ_d$$f_0$表示滤波器的中心频率,$θ_d$表示滤波器的方向角度,$θ_d=dπ/K,d=0,1,…,K-1$$K$表示滤波器的总个数,$σ_f$控制着$u′$方向上的带宽,$σ_v$控制着$v′$方向上的带宽。Log-Gabor滤波器在空间域中可以分解成两个不同的滤波器,分别为实部偶对称滤波器与虚部奇对称滤波器。所分解的两个滤波器都具有良好的方向特性与局部特性。文献[24]中,Pellegrino证明了Gabor滤波器的虚部部分可以很好的提取像素周围的灰度变化信息。因此,本文将利用log-Gabor的虚部部分对输入图像进行特征提取。Log-Gabor滤波器的2D虚部奇对称滤波器可以由式(2) 获得,其表达式为

$ {H_{{\rm{imag}}}}(u,v;d) = H(u,v)\sin\left( {2\pi {f_0}u'} \right) $ (3)

图 1表示2D log-Gabor虚部滤波器沿着帮个方向的梯度响应。因此,一组滤波器可以完整地提取输入图像每个像素周围的灰度变化信息。

图 1 不同方向的2D log-Gabor虚部滤波器
Fig. 1 The imaginary parts of log-Gabor filter at different orientations

对于一幅输入的离散图像$I(m,n)$,其梯度响应可以通过与log-Gabor虚部滤波器进行卷积运算得到,计算表达式为

$ \xi \left( {m,n;k} \right) = I\left( {m,n} \right)*{H_{{\rm{imag}}}}(m,n;d) = \sum\limits_{{m_x}} {\sum\limits_{{m_y}} {I\left( {m - {m_x},n - {n_y}} \right){H_{{\rm{imag}}}}(m,n;d)} } $ (4)

2 提出的角点检测算法

多方向的log-Gabor虚部奇对称滤波器与输入图像卷积可以得到每个像素周围任意方向的灰度信息。根据角点的定义可知,角点在各个方向的灰度变化都很大,并且每个角点的梯度方向与相邻像素的梯度方向都具有很大差别。然而,相邻边缘像素点的梯度方向是一致的,都是垂直于边缘脊的方向。因此,本文利用角点与边缘像素的这一特性,构建了一个新的角点测度。

首先,利用一组不同方向的log-Gabor虚部滤波器获得输入图像边缘轮廓上像素的梯度响应。然后,寻找最大梯度响应所对应的方向即为边缘像素的梯度方向。一个像素的梯度方向可以定义为

$ {\vartheta _{i - th}} = \arg \max \left\{ {\left| {\xi \left( {m,n;k} \right)} \right|} \right\} $ (5)

式中,${\vartheta _{i - th}}$表示一条边缘线上第$i$个像素的梯度方向。

接下来,利用边缘像素的梯度方向构建新的角点测度。假设一条边缘像素上的像素点集合为$Edge_{pls}=[p_1,p_2,…,p_n]$,那么像素点$p_i$的测度值定义为

$ M\left( {{p_i}} \right) = \left\{ \begin{array}{l} {\vartheta _{i + 1 - th}} - {\vartheta _{i - th}}\;\;\;\;\;\;i = 1\\ {\vartheta _{i + 1 - th}} - {\vartheta _{i - 1 - th}}\;\;1 < i < n\\ {\vartheta _{i - th}} - {\vartheta _{i - 1 - th}}\;\;\;\;\;i = n \end{array} \right. $ (6)

从式(6) 可知,在角点处的梯度方向的测度值会很大,而边缘像素点处的测度值很小或几乎为0。

新的角点测度不仅利用到图像边缘轮廓信息,而且还利用到边缘像素周围的灰度变化与梯度方向信息,结合了边缘轮廓和灰度强度。并且,该角点测度只在边缘像素上计算,大大降低了计算量。

利用新的角点测度,提出了一个新的角点检测算法,基本流程如下:

1) 利用Canny[25]边缘检测器检测输入图像的边缘映射;

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

3) 利用log-Gabor虚部滤波器对图像边缘上的每个像素进行滤波平滑,得到相应的梯度;

4) 利用式(5) 计算边缘轮廓上像素点的梯度方向;

5) 将步骤4) 中得到的梯度方向代入式(6),计算相应的角点测度$M(p_i)$

6) 对步骤5) 得到的结果进行非极大值抑制,获得初步角点集合;

7) 为了去除弱角点,设定一个阈值$T$,对步骤6) 初步得到的角点集合进行阈值处理;

8) 因为Canny边缘检测器以及噪声可能会使边缘位置的发生偏离,产生一些弱角点与错误角点。因此,利用文献[11]中的角度计算算法计算步骤7) 中所得到的角点集合的角度。并设定一个角度阈值$T_\rm{angle}$对候选角点集合进行角度阈值化处理,得到最终的角点检测结果。

3 实验结果与性能评价

本节主要介绍了提出的角点检测器的参数设置,以及性能评价。本文算法将会与3种经典的角点检测算法进行检测准确率以及仿射变换性能比较,这三种算法分别为CPDA[11]算法,He & Yung[12]算法,Harris[2]算法。

3.1 参数设置

根据奈奎斯特采样定理,中心频率的设置范围在0 0.5之间的采样效果较好。高中心频率对噪声比较敏感,而低中心频率会降低特征的定位精度。因此,在仿真实验中设置的中心频率$f_0=0.2$。为了统一图像边缘标准,所有基于边缘的角点检测算法中,Canny边缘检测器的高低阈值分别设置为0.2,0.35。仿真实验中,非极大值抑制窗口的大小设定为5×5。因为较大的非极大值抑制一直窗口可能会使一些真实的角点丢失,而较小的窗口会会产生较多的错误角点。图 2表示本文算法对两幅测试图像进行检测的平均配准率与误检率。从图 2(b)中可以看到,随着角度阈值的增加,检测的配准率与误检率都在增加。当角度阈值为$168°$时,虽然其配准率不是最高,但是有着较低的误检率。因此仿真实验中的角度阈值选择为$T_\rm{angle}=168°$图 2(c)表示

图 2 配准率与误检率随不同参数的变化
Fig. 2 The match ratios and false ratios with different parameters ((a) test images; (b) detection ratios with different angle thresholds; (c) detection ratios with different filter directions; (d) detection ratios with different filter scales)

本文算法随滤波器方向数变化的检测率,可以看到,当方向数设置很小时,配准率比较小,而误检率较大。当方向数为32时,配准率渐渐趋于常数,此时的误检率也较小。因此,仿真实验中本文算法的滤波器方向数选择为$K=32$。因为方向数为32,即滤波器间的间隔为$11.25°$,又因为角度阈值选择为$168°$,所以阈值$T$设置为1,即测度值大于1时,边缘像素点选取为候选角点。图 2(d)为滤波器的两个尺度参数$[σ_f,σ_v]$的变化对检测率的影响,可以看到当$σ_f=0.68$$σ_v=1.5$时,有着最大的配准率,且误检率也相对较小。因此,该组尺度参数将作为仿真实验的设置参数。以下所有仿真实验中,本文算法皆按照以上参数设定,其他角点检测器的参数分别为其默认设置。

3.2 平面曲线上的仿真结果

为了评价提出的角点检测算法在平面曲线上的检测性能,本文使用文献[26]中的不同尺寸的测试结果标准测试图像进行测试。测试结果如图 2所示。从图 3(b)可以看到,所有的角点检测器中,CPDA算法丢失了许多真实角点。原因是CPDA的角点测度是通过3个不同弦长尺度下的累加距离的乘积得到的,进一步扩大了强角点与弱角点之间的差距,进行阈值化处理时容易丢失一些真实角点。从图 3(a)的两幅图像检测结果中可以看到,Harris虽然检测到了所有的真实角点,但是它也检测到了许多的错误角点。原因是Harris角点检测算法仅利用到图像的灰度信息,在很大程度上比基于边缘轮廓的角点检测器更容易产生错误的角点。由图 3(c)可以看到He & Yung算法比CPDA算法检测到更多的真实角点,而且没有如Harris算法检测到较多的错误角点。从图 3(d)中可以看到,He & Yung算法检测到的真实角点与本文提出的算法较为接近。但是从两者的“飞机”图像检测结果可以看到,He & Yung丢失了一些明显的真实角点。总体而言,本文算法的检测性能更优,其原因是,本文算法中的梯度方向一致性角点测度并未直接利用图像的灰度以及曲率信息。

图 3 4种角点检测算法对2幅测试图像的检测结果
Fig. 3 Detection results on test images((a) Harris; (b) CPDA; (c) He & Yung; (d) ours)

3.3 仿射变换以及噪声环境下的仿真结果

使用文献[8]中的平均重复率与定位误差来评价角点检测器的检测准确率以及对噪声的鲁棒性能实验。该评价准则是在仿射变换(如旋转、尺度变换),以及噪声环境下进行的,不需要人工的参与,大大减少了复杂程度,避免人工容易造成的失误。在这一小节的实验中,选取了10幅不同场景的标准测试图像,如图 4所示,并对这些图像对4种角点检测算法进行仿真实验。

图 4 10幅测试图像
Fig. 4 Ten standard test images

平均重复率用于评价原始图像与变换图像之间所检测到角点的几何稳定性,其定义表达式为

$ AR = \frac{{{N_r}}}{2}\left( {\frac{1}{{{N_t}}} + \frac{1}{{{N_O}}}} \right) $ (7)

式中,$N_o$表示初始图像中检测到的角点数,$N_t$表示变化后的图像检测到的角点数,$N_r$表示初始图像与原始图像匹配到的角点数。定位误差评价变换后的

图像匹配到的角点与原始图像上检测到的角点的位置偏离程度,其表达式为

$ LE = {\left[ {\frac{1}{{{N_r}}}\sum\limits_{i = 1}^{{N_r}} {{{\left( {{p_{ox}} - {p_{tx}}} \right)}^2} + {{\left( {{p_{oy}} - {p_{ty}}} \right)}^2}} } \right]^{1/2}} $ (8)

式中,$(p_{ox},p_{oy})$$(p_{tx},p_{ty})$分别表示原始图像与变换后图像匹配到的角点的坐标位置。选取的10幅不同尺寸的图像将进行以下3种变换:

1) 旋转变换。在区间$[-90°,90°]$之间对输入图像进行旋转,旋转间隔设置为$10°$,并且去除$0°$

2) 非统一尺度变换。令$s_x=1$$s_y$在区间$[0.5,2.0]$之间变化,变化间隔设置为0.1,并且去除1.0;

3) 高斯噪声。对输入图像添加零均值的高斯白噪声,它的方差在区间[1, 15]之间变化,变化的间隔设定为1。

本文算法与其他3种角点检测算法对选取的10幅角点检测算法如图 5图 10所示。

图 5 旋转变化下的平均重复率
Fig. 5 The average repeatability under rotation transforms
图 6 旋转变化下的定位误差
Fig. 6 The localization error under rotation transforms
图 7 非统一尺度变化下的平均重复率
Fig. 7 The average repeatability under non-uniform scale transform
图 8 非统一尺度变化下的定位误差
Fig. 8 The localization error under non-uniform scale transform
图 9 高斯噪声下的平均重复率
Fig. 9 The average repeatability under Gaussian noise
图 10 高斯噪声下的定位误差
Fig. 10 The localization error under Gaussian noise

图 5描述了每个角点检测器在所有旋转角度下的稳定性能,可以看到He & Yung算法有着最高的平均重复率,本文算法次之,Harris算法的平均重复率最低。图 6描述了旋转角度下每个角点检测器的定位精度,可以看到本文算法获得最好的定位性能,CPDA算法与本文算法相差不大,略微次之,而且He & Yung算法定位性能最差。图 7图 8分别描述了非统一尺度下的平均重复率与定位误差。从图 7可以看到,在尺度变换下Harris算法的平均重复率最低,性能最差,本文算法的平均重复率最高。图 8中,CPDA的定位性能最好,He & Yung的定位性能依然很差。从图 7图 8两幅图中可以看到,每个角点检测器的检测稳定性能与定位性能随着尺度的变化都呈下降趋势。原因是尺度变换会改变图像的大小,影响到检测器的检测结果。而本文算法的检测性能一直很好,其原因是输入图像虽然在尺度变换下改变了图像的大小,但是相邻像素的梯度方向一致性测度的变化仍不大。图 9图 10描述了每个角点检测器在高斯噪声下的性能评价结果,可以看到本文算法与CPDA以及He & Yung算法有着接近的平均重复率,并且本文的定位误差最小,即本文算法有着最好的定位性能,Harris算法的定位性能最差。分别对旋转变换、非统一尺度变换以及高斯噪声下的检测结果进行排名,并计算每个算法的平均排名,得到的结果如下:CPDA为2.00,Harris为3.33,He & Yung为2.83,本文算法为1.67。因此,本文算法的综合性能最优。相比于其他3种角点检测算法,本文算法不仅利用了log-Gabor虚部滤波器可以很好的提取图像的局部信息的性能,而且还利用到图像的边缘轮廓信息、灰度变化信息以及边缘像素的梯度一致性。

3.4 计算复杂度

将对本文算法与其他3种角点检测算法进行计算复杂度的比较。该实验使用的软件为Matlab,所运行的平台为主频1.6 GHz,内存4 GB的64位操作系统。4种算法对于不同规格图像的检测效率如表 1所示。从表 1中可以看到,He & Yung算法与CPDA算法的运行效率较高,因为基于边缘的角点检测算法与基于灰度的算法相比,不需要计算输入图像的所有像素,而是在边缘的基础上进行计算,大大降低了运算的复杂度。本文算法中,滤波器的方向设定为32个且加入了对候选角点角度的计算,因此运行时间比其他算法相对较高。鉴于本文算法的计算复杂性,本文方法可以移植到嵌入式处理器或FPGA控制器中来提高实时性能。

表 1 4种算法的计算时间复杂度
Table 1 The computation complexity of four methods

下载CSV
/s
算法 图像尺寸/像素
256×256木块 512×512实验室 512×512Lena 800×640建筑物
CPDA 0.120 0.576 0.570 2.036
Harris 0.382 1.511 1.462 2.567
He & Yung 0.096 0.423 0.504 1.784
本文 0.582 2.037 1.947 4.105

4 结论

传统的基于边缘的角点检测器主要依赖于图像边缘的几何信息提取角点,而基于灰度变化的角点检测器主要依赖于图像的灰度变化。本文提出的算法既考虑到图像的边缘形状也考虑到图像的灰度变化,并且利用log-Gabor虚部滤波器充分的提取图像的局部信息。在此基础上,利用图像边缘像素的梯度方向一致性构建了新的角点测度,以提高角点检测器的检测性能。从仿真实验结果可以看到,本文提出的角点检测算法能够较好的检测到真实角点,避免对角点的漏检与误检。从旋转变换、非统一尺度变换以及高斯噪声下的平均重复率和定位误差结果中可以看出,本文提出的算法优于其他3种角点检测算法,包括检测稳定性能和定位性能。从运行效率的实验中可以看到,本文算法的计算复杂度相对其他算法较高,未来的工作将会对其进行算法优化或者利用硬件措施改善其实时处理的问题。

角点检测在图像处理以及计算机视觉领域中有着很广泛的应用,例如图像匹配与识别,3D重建等。未来的工作也将尝试把本文算法应用于图像匹配方面。

参考文献

  • [1] Moravec H P. Towards automatic visual obstacle avoidance[C]//Proceedings of the 5th International Joint Conference on Artificial Intelligence. San Francisco, CA:ACM, 1977:584.
  • [2] Harris C, Stephens M. A combined corner and edge detector[C]//Proceedings of the 4th Alvey Vision Conference. Manchester, UK:University of Manchester, 1988:147-151.[DOI:10.5244/C.2.23]
  • [3] Noble A J. Finding corners[J]. Image and Vision Computing, 1988, 6(2): 121–128. [DOI:10.1016/0262-8856(88)90007-8]
  • [4] Chen C H, Lee J S, Sun Y N. Wavelet transformation for gray-level corner detection[J]. Pattern Recognition, 1995, 28(6): 853–861. [DOI:10.1016/0031-3203(94)00169-M]
  • [5] Gao X T, Sattar F, Venkateswarlu R. Multiscale corner detection of gray level images based on log-Gabor wavelet transform[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2007, 17(7): 868–875. [DOI:10.1109/TCSVT.2007.897473]
  • [6] Duval-Poo M A, Odone F, De Vito E. Edges and corners with shearlets[J]. IEEE Transactions on Image Processing, 2015, 24(11): 3768–3780. [DOI:10.1109/TIP.2015.2451175]
  • [7] Wang F P, Shui P L. Corner detection algorithm using multiscale differential mode similarity[J]. Opto-Electronic Engineering, 2016, 43(10): 56–62. [王富平, 水鹏朗. 多尺度微分模式相似性角点检测算法[J]. 光电工程, 2016, 43(10): 56–62. ] [DOI:10.3969/j.issn.1003-501X.2016.10.010]
  • [8] Kim B, Choi J, Park Y, et al. Robust corner detection based on image structure[J]. Circuits, Systems, and Signal Processing, 2012, 31(4): 1443–1457. [DOI:10.1007/s00034-012-9388-z]
  • [9] Miao Z W, Jiang X D, Yap K H. Contrast invariant interest point detection by zero-norm LoG filter[J]. IEEE Transactions on Image Processing, 2015, 25(1): 331–342. [DOI:10.1109/TIP.2015.2470598]
  • [10] Mokhtarian F, Suomela R. Robust image corner detection through curvature scale space[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(12): 1376–1381. [DOI:10.1109/34.735812]
  • [11] Awrangjeb M, Lu G J. Robust image corner detection based on the chord-to-point distance accumulation technique[J]. IEEE Transactions on Multimedia, 2008, 10(6): 1059–1072. [DOI:10.1109/TMM.2008.2001384]
  • [12] He X C, Yung N H C. Corner detector based on global and local curvature properties[J]. Optical Engineering, 2008, 47(5): #057008. [DOI:10.1117/1.2931681]
  • [13] Elias R, Laganiere R. JUDOCA:junction detection operator based on circumferential anchors[J]. IEEE Transactions on Image Processing, 2012, 21(4): 2109–2118. [DOI:10.1109/TIP.2011.2175738]
  • [14] Zhang W C, Shui P L. Contour-based corner detection via angle difference of principal directions of anisotropic Gaussian directional derivatives[J]. Pattern Recognition, 2015, 48(9): 2785–2797. [DOI:10.1016/j.patcog.2015.03.021]
  • [15] Zhao Y L, Zhang W C, Li Y H. Novel contour-based corner detection with adaptive threshold[J]. Journal of Image and Graphics, 2016, 21(11): 1502–1514. [赵亚利, 章为川, 李云红. 图像边缘轮廓自适应阈值的角点检测算法[J]. 中国图象图形学报, 2016, 21(11): 1502–1514. ] [DOI:10.11834/jig.20161110]
  • [16] Smith S M, Brady J M. SUSAN-a new approach to low level image processing[J]. International Journal of Computer Vision, 1997, 23(1): 45–78. [DOI:10.1023/A:1007963824710]
  • [17] Rosten E, Porter R, Drummond T. Faster and better:a machine learning approach to corner detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 32(1): 105–119. [DOI:10.1109/TPAMI.2008.275]
  • [18] Xia G S, Delon J, Gousseau Y. Accurate junction detection and characterization in natural images[J]. International Journal of Computer Vision, 2014, 106(1): 31–56. [DOI:10.1007/s11263-013-0640-1]
  • [19] Zhang W C, Kong X N, Song W. Review of image corner detection algorithms[J]. Acta Electronica Sinica, 2015, 43(11): 2315–2321. [章为川, 孔祥楠, 宋文. 图像的角点检测研究综述[J]. 电子学报, 2015, 43(11): 2315–2321. ] [DOI:10.3969/j.issn.0372-2112.2015.11.026]
  • [20] He H Q, Huang S X. Improved algorithm for Harris rapid sub-pixel corners detection[J]. Journal of Image and Graphics, 2012, 17(7): 853–857. [何海清, 黄声享. 改进的Harris亚像素角点快速定位[J]. 中国图象图形学报, 2012, 17(7): 853–857. ] [DOI:10.11834/jig.20120715]
  • [21] Chen K Y, Zou X J, Xiong J T, et al. Fast corner detection algorithm with sub-pixel accuracy imitating Hessian-Laplace[J]. Application Research of Computers, 2014, 31(7): 2195–2200. [陈科尹, 邹湘军, 熊俊涛, 等. 一种具有亚像素精度的仿Hessian-Laplace快速角点检测算法[J]. 计算机应用研究, 2014, 31(7): 2195–2200. ] [DOI:10.3969/j.issn.1001-3695.2014.07.067]
  • [22] Sroba L, Ravas R, Grman J. The influence of subpixel corner detection to determine the camera displacement[J]. Procedia Engineering, 2015, 100: 834–840. [DOI:10.1016/j.proeng.2015.01.438]
  • [23] Field D J. Relations between the statistics of natural images and the response properties of cortical cells[J]. Journal of the Optical Society of America. A, Optics and Image Science, 1987, 4(12): 2379–2394. [DOI:10.1364/JOSAA.4.002379]
  • [24] Pellegrino F A, Vanzella W, Torre V. Edge detection revisited[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2004, 34(3): 1500–1518. [DOI:10.1109/TSMCB.2004.824147]
  • [25] Canny J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, PAMI-8(6): 679–698. [DOI:10.1109/TPAMI.1986.4767851]
  • [26] Chetverikov D. and Szabo Z. Detection of high curvature points in planar curves[EB/OL]. (1999). http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/CHETVERIKOV2/cornerweb.html.