基于图像匹配的特征点检测方法综述
2021-06-28杨济瑞张晓燕罗攀
杨济瑞,张晓燕,罗攀
(厦门大学嘉庚学院信息科学与技术学院,福建漳州,363105)
0 引言
图像特征点是一幅图像中比较典型的特征标志之一,它含有显著的结构性信息。一般为图像中的线条、交叉点、边界封闭区域的重心或者曲面的高点等。图像特征点检测的方法是对一幅图像进行描述的必要手段。在图像匹配、目标检测与识别等图像处理与分析应用中都是关键重要的步骤。本文对图像匹配中采用的特征点以及提取方法进行深入研究探讨,分析比较几种成熟的特征点检测方法和一些新的特征点提取方法,对这些特征点的基本特点、改进方法、性能优缺点进行详尽分析。
1 特征点检测
图像中存在明显表现图像特征的特征点 (角点或关键点),图像匹配通常利用特征点来估计图像之间的变换, 而不是利用图像全部的信息。特征点的检测方法很多,本文对图像拼接中常用的重要特征点进行分析比较。
1.1 Harris角点检测
Harris角点检测是一种基于图像灰度的一阶导数矩阵检测方法。检测器的主要思想是局部自相似性/自相关性,即在某个局部窗口内图像块与在各个方向微小移动后的窗口内图像块的相似性。虽然Harris角点检测算子具有部分图像灰度变化的不变性和旋转不变性,但它不具有尺度不变性。但是尺度不变性对图像特征来说至关重要。2001年Mikolajczyk等人把Harris-Laplace和Hessian-Laplace结合在一起[2],创造出了一种鲁棒的、尺度不变、重复检测率很高的检测算子,弥补了Harris算子在尺度不变性上的不足。
1.2 SlFT (Scale lnvariant Feature Transform)特征点检测
1999年Lowe首次提出了SIFT算法特征点检测,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有良好的不变性和很强的匹配能力。2004年,Lowe提高了高效的尺度不变特征变换算法(SIFT)[3],利用原始图像与高斯核的卷积来建立尺度空间,并在高斯差分空间金字塔上提取出尺度不变性的特征点。该算法具有一定的仿射不变性,视角不变性,旋转不变性和光照不变性,所以在图像特征提高方面得到了最广泛的应用。针对SIFT算法会产生很多不稳定的边缘响应特征点问题, 杨秋菊等[4]借助Canny边缘检测算子剔除图像的边缘点, 以进一步提高SIFT算法的抗噪能力和稳定性。SIFT比原有的Harris点匹配方式具有更高的配准准确度,但是其算法速度较慢。
1.3 SURF特征点检测
SURF(Speeded Up Robust Features)特征是对SIFT特征的进一步优化,简化了计算量,保持了较高的性能,是性价比很不错的算法。SURF改进了特征的提取和描述方式,用更为高效的方式完成了特征的提取和描述。樊佩琪[5]等人提出的改进的红外图像拼接方法在特征点提取阶段将SURF特征点检测、Canny边缘检测和BRISK二值描述子有效结合,所用红外图像拼接方法在对复杂场景下的红外图像进行拼接时,有效地提高了检测精度和拼接速度。SURF算法是在SIFT算法的基础上提出来的,弥补了SIFT在运算速度上的不足,但是其检测精度得不到保证。
1.4 ORB特征点检测
ORB的全称是ORiented Brief,是文章ORB: an efficient alternative to SIFT or SURF中提出的一种新的角点检测与特征描述算法。ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化[10]。ORB算法的速度大约是SIFT的100倍,是SURF的10倍。ORB算法分为两部分,分别是特征点提取和特征点描述。特征提取是由FAST(Features from Accelerated Segment Test)算法[6]发展来的,特征点描述是根据BRIEF(Binary Robust Independent Elementary Features)特征描述算法改进的。所以本质上ORB算法中使用的特征点检测方法是FAST特征点检测法。
1.5 基于深度学习的特征点检测
近几年,随着深度学习的快速发展,基于深度学习的新方法以其独特的特征学习和特征提取能力在计算机视觉中表现出优于传统方法的性能。并成为特征点检测领域里的研究热门。Fischer等人将通过卷积神经网络学习的特征在分类和识别任务上的表现与标准的SIFT算法作比较,证明了深度学习方法的特征提取能力优异。Melekhov等人将神经网络学习图像特征用于图像缺失区域的匹配[7],实验结果证实深度学习方法可以提高特征提取的性能。许多研究者已经证明了深度学习方法提高了对图像特征点的提取,使图像匹配更加精确。
1.6 其他算法
在特征点检测领域还有许多算法应用于实际之中。FAST是一种角点检测算法,是一种纯特征检测的算法,不包括特征提取,ORB算法中就是从FAST算法演变而来。
BRISK算法是2011年ICCV上《BRISK:Binary Robust Invariant Scalable Keypoints》文章中,提出来的一种特征提取算法,也是一种二进制的特征描述算子。它具有较好的旋转不变性、尺度不变性,较好的鲁棒性等。在对有较大模糊的图像特征检测时,BRISK算法在其中表现最为出色[8]。
MSER算法,最大稳定极值区域(MSER:Maximally Stable Extremal Regions)常被用于提取图像中的斑点,是一种分水岭算法[9]。通过阈值分割,不断提升分割阈值,连通域变化稳定的区域被称为最大稳定极值区域。
另外还有KAZE算法、BRIEF算法、FREAK算法、GFTT算法,Shi_Tomasi角点检测算法等等[10]。
2 算法性能比较
对本文提到的几种特征点检测算法,通过图像匹配进行了对别分析,从图像匹配速度及准确率上定量地分析算法性能。选取八幅图片进行,在相同的匹配环境下,即使用同样配置的计算机,对相同的一对图像进行比较。
表1 不同特征点算法进行图像匹配速率统计
图2 不同特征点算法对图像匹配准确率统计
可以看出,在图像匹配运行速率上,ORB算法的速度非常快,比SIFT,SURF等快了一个数量级;在匹配准确率方面SIFT和SURF算法一直提供了较高的准确率,并且结果比较稳定;SIFT较SURF更准一些,但是也有BRISK最好的时候,AKAZA在准确率方面变现比较差。
3 结束语
随着VR、AR虚拟现实领域未来越热,对特征点检测的精度和要求也提到了新的高度,本文分析比较了图像匹配中特征点检测的各种算法。从目前发展来看,单个算法的发展已经非常成熟了,传统检测方法与深度学习结合成为新的特征点检测趋势。随着各种需求的不断增加,探索特征点检测的新方法仍是图像处理与计算机视觉中的重要研究内容。