APP下载

SIFT与Harris提取图像特征点的分析研究

2018-12-20段永璇段会川肖宪翠孙小飞

计算机技术与发展 2018年12期
关键词:角点折线时效性

赵 悟,段永璇,段会川,肖宪翠,张 睿,岳 媛,孙小飞,范 军

(1.山东省医药卫生科技信息研究所,山东 济南 250062;2.山东师范大学 信息科学与工程学院,山东 济南 250014)

0 引 言

图像匹配技术[1]主要应用于数字图像处理领域,随着研究的不断深入,该技术逐渐被应用于其他热门领域。图像匹配算法[2]一般分为基于图像灰度匹配算法和基于图像特征匹配算法。而后者又分为点特征、线特征以及面特征的匹配算法。其中点特征的提取算法主要分为两大类:基于图像边缘和基于图像灰度的算法。基于图像边缘的算法在实际中应用广泛并取得了比较好的效果。

基于图像边缘的算法比较典型的有SIFT算法与Harris角点检测算法[3]。SIFT算法对尺度缩放、旋转、光照亮度等变换均具有一定的不变性,但该算法运算过程繁琐且计算量较大。而Harris角点检测算法计算过程较简单,且对通常的图像变换不敏感。考虑到两种算法都适用于特征点提取,因此对两者的适用性进行合理的指标分析,从而选择一种合适的图像处理方法。因此,文中提出一种指标评价法,从特征点有效性、计算时效性、特征点相似不变性三方面,并采用折线特征主导的图像与光滑曲线特征主导的图像进行实验,对两种算法在提取特征点上的适用性进行定量分析研究。

1 SIFT算法概述

SIFT(scale invariant feature transform)算法[4-9]即尺度不变特征变换算法,该算法是在1999年由David G. Lowe提出,并于2004年对算法进行了完善。鉴于该算法检测出的特征点对于图像的尺度缩放、旋转等变换具备一定的健壮性,因而在图像特征提取方面应用广泛。

利用SIFT算法提取图像特征点的基本思路如下所述:

(1)构建高斯尺度空间。利用原始图像I(x,y)与高斯核函数G(x,y,σ)卷积得到高斯尺度空间图像L(x,y,σ)。

(2)寻找极值点。首先需要构造高斯差分尺度空间,在这里需要用到高斯差分函数Dog(x,y,σ),Dog(x,y,σ)=(G(x,y,σ)-G(x,y,kσ))*I(x,y),其中σ为尺度因子,k为常数。极值点的检测只需使某一像素点的值与其同层8邻域和上下两层9邻域共26个点的值进行比较。若此点的值均大于这26个点的值,该点就被认定为特征点。

(3)剔除不稳定特征点。对上一步检测出的特征点需要过滤掉低对比度和边缘不稳定的特征点,以便提高后续图像匹配的稳定性和抗噪能力。

(4)确定关键点方向。由局部图像梯度模值和方向进行着手,赋予每个特征点一或多个方向。

(5)生成特征点描述子。基于每个特征点的邻域对图像局部的梯度值进行计算,以便产生特征点的描述子。

2 Harris角点检测算法概述

Harris角点检测算法[10-15]是由C.Harris和M.Stephens在H.Moravec工作的启发下于1988年提出的,是对Moravec算法的扩充和完善。Harris算法提取图像特征点的过程大致可分为以下几个步骤:

(1)

(2)利用高斯核函数G(x,y,σ)对图像进行高斯滤波,得到新的自相关矩阵M2。

(3)利用角点响应函数R计算原图像上对应的每个像素点的响应值,即R值。其中角点响应函数R=Det(M2)-k*Tr2(M2),Det(M2)=λ1λ2,Tr(M2)=λ1+λ2,其中λ1,λ2为自相关矩阵M2的特征值,k为经验值。如果某点的角点响应值R大于设定的阈值,则该点就被选定为特征点。

(4)选取局部极值点。根据给定的阈值,采用非极大值抑制的方法对不符合条件的极值进行置零处理,以确定最终的特征点。

3 实验方法、结果及结论

3.1 实验方法

图像特征配准技术的关键就是要寻找到用于图像配准的特征点。文中主要是对Harris角点检测算法与SIFT算法提取特征点的过程进行研究分析。针对两类图像:折线特征主导的图像与光滑曲线特征主导的图像,为探究两种算法提取特征点的性能高低,在对以往点特征提取算法评价分析的基础上,提出了三种新的评价指标,即特征点有效性、计算时效性、特征点相似不变性。通过三种指标对两种算法的性能进行了研究分析,具体内容如下:

(1)特征点有效性。

特征点有效性是由特征点的匹配对数与两幅待匹配图像中提取的特征点总和的比率来表示的,具体如式2所示。在相同实验对象的条件下:该比值越大,说明某一算法检测到的特征点相对越有效;反之其检测到的特征点低效。同时这一判据对于后续的图像匹配也是十分重要的。

(2)

其中,Fp表示两幅待匹配图像的特征点匹配对数;F1与F2分别表示从两幅待匹配图像中提取的特征点数目;α表示比率值。

(2)计算时效性。

计算时效性是指采用特征点检测的花费时间来评价算法的计算速度。理论上讲,计算时效性是对计算复杂性分析的表征。

文中利用计算时效性对Harris角点检测算法和SIFT算法进行比较,同时为了使比较结果更有说服力,又对图像做了旋转和缩放变换处理。更进一步在同一实验对像和相同的限制条件下:若某一算法的运行时间较长,则说明其检测特征点的速度比较慢;反之则说明该算法可以较快地进行特征点检测。

(3)特征点相似不变性。

特征点相似不变性无疑是特征提取算法最为显著的特性,因为它决定了一种特征提取算法是否可以在目标图像作未知变换(比如基本的旋转和缩放,以及非线性变换剪切和扭转)的情况下依然可以提取到稳定的特征。

由于Harris角点检测算法与SIFT算法都具备各自的不变性,为了检查它们的适用性,文中选择了典型的实验图像,并对它们作了旋转和缩放变换,然后根据已获得特征点数目的标准偏差判断两种算法的检测能力,这同时也是对计算时效性的进一步说明。

3.2 实验结果

依据上节叙述的方法,在Windows 7系统下以Matlab 2016A作为开发环境,并基于昵图网提供的图片库进行了50组实验。实验图片规格:尺寸为512×512;位深度为8位;格式为png;色彩模式为灰度;图片背景颜色均为统一色调。

(1)特征点有效性。

首先将Harris角点检测算法与SIFT算法分别对折线特征主导的图像提取特征点,将原始图像(也即未作旋转和尺度缩放的图像)当作参照图像,而将对原始图像作了一系列旋转和尺度变换后得到的图像作为待配准图像。实验结果是从多组结果中选取的部分运行结果。由于篇幅原因这里只选取旋转变换的结果进行说明。

表1和表2分别显示了SIFT算法和Harris角点检测算法在图像旋转变换后得到的结果。

表1 SIFT算法的旋转有效性

表2 Harris算法的旋转有效性

其中F1+F2表示两幅待匹配图像的特征点总数。综合分析了旋转与尺度缩放变换下的结果。针对折线特征主导的图像,Harris角点检测算法提取到了使图像旋转和尺度变换较准确特征点,并根据特征点有效性比率值α可得:在图像旋转角度和缩放倍数相同的条件下,Harris角点检测算法的比率值均比SIFT算法高,其平均大约高6%左右。因此,Harris角点检测算法提取到的特征点比SIFT算法更有效,更利于图像的精确匹配。

作为一种角点检测算法,为检测Harris算法是否对其他类型的图像同样能够提取到准确的特征点,本节选取了多组光滑曲线特征主导的图像,分别采用这两种算法进行实验。实验结果显示,在以这种“极端”的图像为实验对象时,Harris角点检测算法几乎检测不到有用的特征点,而SIFT算法较好地检测到了图像的若干特征点。因此,上述实验表明,在处理光滑曲线特征主导的图像时,SIFT算法与Harris角点检测算法相比,在特征点有效性上体现出了优势。

(2)计算时效性。

时效性是指利用Harris角点检测算法和SIFT算法提取特征点时所耗费的时间。通过计算时效性的高低来评判哪种算法的运算效率较高。在实验中,针对图像的旋转和尺度缩放变换,对应于每一个旋转角度和尺度缩放倍数分别统计了Harris角点检测算法和SIFT算法的耗费时间值。图像的旋转角度是从0°到90°,每次变换的角度间隔为10°,图像的缩放倍数是从0.6~1.5,倍数间隔设置为0.1。时间值是在相应的角度和缩放倍数下,计算出的五组时间值的平均值。为了使数据更具说服力,计算了相应角度和倍数下算法花费时间的标准差以及均值,并以这两种指标去评判两种算法的运算效率。

从图1和图2可以得到,当图像旋转角度从0°~90°以及缩放倍数从0.6~1.5变化时,对应于每个角度值和缩放倍数SIFT算法的花费时间均比Harris角点检测算法的高。同时,以上数据表明,Harris角点检测算法的时间值稳定在1.6~1.8之间,而SIFT算法的时间值则波动较大。

图1 旋转角度与花费时间的关系

图2 缩放倍数与花费时间的关系

(3)特征点相似不变性。

表4 Harris算法和SIFT算法的不变性比较

表5 Harris与SIFT算法特征点相似不变性比较

如表4所示,在图像旋转和缩放变换中,在相同的旋转角度和缩放尺度下,Harris角点检测算法在提取特征点时均比SIFT算法更高效。结合表5可得:Harris角点检测算法的δF2比SIFT算法小,因而Harris角点检测算法提取出的特征点与SIFT算法相比更趋于稳定,相关数据表明Harris角点检测算法的特征点相似不变性比SIFT算法要高出40%左右。

3.3 实验结论

实验结果表明,对于折线特征主导的图像,在特征点有效性上Harris角点检测算法比SIFT算法高约6%,在计算时效性上Harris角点检测算法比SIFT算法高约30%,特征点相似不变性上SIFT算法比Harris角点检测算法低约40%。

通过折线特征主导的图像上的特征点展示,Harris算法与SIFT算法相比具有更高的性能。因此,对于折线特征主导的图像特征点的提取,Harris算法与SIFT算法相比具有更高的性能。

另一方面,对于光滑曲线特征主导的图像,实验数据显示,由于Harris角点检测算法无法检测到足够多的特征点,因此与SIFT算法相比,Harris算法对应的三种指标均较低,而实验图像展示也说明了这一点。因此,对于光滑曲线特征主导的图像特征点的提取,SIFT算法比Harris算法具有更高的性能。

4 结束语

针对图像特征点的提取,提出了一种指标评价法,采用特征点有效性、计算时效性、特征点相似不变性,并利用折线特征主导的图像和光滑曲线特征主导的图像进行实验,对Harris和SIFT算法提取特征点的情况进行了定量分析研究。结果表明,对于折线特征主导的图像,Harris算法在提取特征点方面展示出了较好的适应性;而对于光滑曲线特征主导的图像,与Harris算法相比,SIFT更好地提取到了足够数量的有效特征点。由于在研究过程中使用了常规单一性质图像及其图像变换,对于较复杂的不常见图像并未涉及,因此下一步工作将在更多复杂图像上研究该算法的适应性特点。

猜你喜欢

角点折线时效性
中国陆地观测卫星应急成像时效性分析
平面分割问题的探究之旅
解信赖域子问题的多折线算法
多支撑区域模式化融合角点检测算法仿真
角点检测技术综述①
《????》???? ?????? ????? ???如何提高“数学广角”课堂的时效性
基于灰度差预处理的改进Harris角点检测算法
基于FAST角点检测算法上对Y型与X型角点的检测
折线
折线图案