SIFT特征点提取与匹配算法
sfit特征提取和匹配的具体步骤
sfit特征提取和匹配的具体步骤
SIFT(尺度不变特征变换)是一种用于图像处理和计算机视觉的特征提取和匹配算法。
它能够在不同尺度和旋转下提取出稳定的特征点,并且对光照变化和噪声有一定的鲁棒性。
SIFT特征提取的具体步骤包括:
1. 尺度空间极值检测,在不同尺度下使用高斯差分函数来检测图像中的极值点,用来确定关键点的位置和尺度。
2. 关键点定位,通过对尺度空间的极值点进行精确定位,使用Hessian矩阵来确定关键点的位置和尺度。
3. 方向分配,对关键点周围的梯度方向进行统计,确定关键点的主方向,使得特征具有旋转不变性。
4. 关键点描述,以关键点为中心,划分周围的区域为小区块,计算每个区块内的梯度方向直方图,构建特征向量。
SIFT特征匹配的具体步骤包括:
1. 特征点匹配,使用特征向量的距离来进行特征点的匹配,通常使用欧氏距离或者近邻算法进行匹配。
2. 鲁棒性检验,对匹配点进行鲁棒性检验,例如RANSAC算法可以剔除错误匹配点,提高匹配的准确性。
3. 匹配结果筛选,根据匹配点的特征向量距离或一致性进行筛选,得到最终的匹配结果。
总的来说,SIFT特征提取和匹配的具体步骤包括特征点检测、定位、描述以及匹配过程。
这些步骤能够帮助我们在图像处理和计算机视觉中提取出稳定的特征并进行准确的匹配,从而实现目标识别、图像配准等应用。
图像特征点提取及匹配算法研究论文
图像特征点提取及匹配算法研究论文1.SIFT算法:SIFT(Scale-Invariant Feature Transform)算法是一种经典的图像特征点提取算法。
该算法首先使用高斯滤波器对图像进行多尺度的平滑处理,然后使用差分算子来检测图像中的关键点,最后计算关键点的主方向和描述符。
SIFT算法具有尺度不变性和旋转不变性,对于图像中存在较大尺度和角度变化的情况下仍能提取出稳定的特征点。
2.SURF算法:SURF(Speeded Up Robust Features)算法是一种快速的特征点提取算法,它在SIFT算法的基础上进行了优化。
SURF算法使用Haar小波响应来检测图像中的特征点,并使用积分图像来加速计算过程。
此外,SURF算法还使用了一种基于方向直方图的特征描述方法,能够提取出具有旋转不变性和尺度不变性的特征点。
3.ORB算法:ORB(Oriented FAST and Rotated BRIEF)算法是一种快速的特征点提取和匹配算法。
该算法结合了FAST角点检测算法和BRIEF描述符算法,并对其进行了改进。
ORB算法利用灰度值的转折点来检测图像中的角点,并使用二进制字符串来描述关键点,以提高特征点的匹配速度。
ORB算法具有较快的计算速度和较高的匹配精度,适用于实时应用。
4.BRISK算法:BRISK(Binary Robust Invariant Scalable Keypoints)算法是一种基于二进制描述符的特征点提取和匹配算法。
该算法首先使用田字形格点采样方法检测关键点,然后使用直方图来描述关键点的方向和纹理特征。
最后,BRISK算法使用二进制字符串来表示关键点的描述符,并使用汉明距离来进行特征点的匹配。
BRISK算法具有较快的计算速度和较高的鲁棒性,适用于大规模图像匹配任务。
总结起来,图像特征点提取及匹配算法是计算机视觉领域中的重要研究方向。
本文介绍了一些常用的特征点提取及匹配算法,并对其进行了讨论。
基于特征点提取和匹配的点云配准算法
基于特征点提取和匹配的点云配准算法点云配准是指将多个点云数据组合成一个全局一致的点云模型的过程。
在点云数据的配准中,特征点提取和匹配是关键步骤之一、本文将介绍基于特征点提取和匹配的点云配准算法。
点云配准算法的目标是找到两个或多个点云之间的关系,以实现它们的对齐。
特征点提取是为了从点云数据中提取出具有代表性的特征点,以便进行后续的匹配操作。
特征点应具有独特性、具有代表性和稳定性。
常见的特征点提取方法包括SIFT(尺度不变特征变换)、SURF(快速无误匹配)和ORB(Oriented FAST and Rotated BRIEF)等。
在点云数据中,特征点可以通过计算点的尺度、法向量、曲率等属性来提取。
特征点提取后,接下来需要进行匹配操作,即将两个或多个点云之间的相似特征点进行对应。
匹配是通过计算特征点之间的距离或相似性度量来实现的。
常见的匹配方法有最近邻匹配、迭代最近点匹配以及RANSAC (随机一致性采样算法)等。
最近邻匹配是指通过计算两个特征点之间的欧氏距离来找到最相似的特征点对。
迭代最近点匹配算法是利用最近邻匹配进行粗略的配准,然后通过迭代的方式逐步优化匹配精度。
RANSAC算法则是通过随机选择最小集合进行匹配,并通过模型评估函数来判断匹配的一致性。
在进行特征点提取和匹配的过程中,可能会出现误匹配或多重匹配的情况。
为了解决这个问题,可以引入一些筛选机制,例如剔除孤立的点、限制匹配距离和确定相似性阈值等。
总结而言,基于特征点提取和匹配的点云配准算法是点云配准的关键步骤之一、通过提取具有代表性的特征点,并进行匹配操作,可以找到两个或多个点云之间的对应关系,最终实现点云数据的配准。
在实际应用中,特征点提取和匹配算法可以配合其他配准算法使用,以提高点云数据的配准精度和效率。
掌握图像处理中的特征提取与匹配方法
掌握图像处理中的特征提取与匹配方法引言图像处理是计算机视觉中的重要领域之一,它涵盖了从采集到处理再到分析整个图像处理流程。
特征提取和匹配是图像处理中的重要环节,它们有助于图像分类、图像识别、目标跟踪等应用场景中的实现。
本文将介绍图像处理中的特征提取与匹配方法。
一、特征提取特征提取是指从图像中提取一些基本特征的过程,这些特征能够描述或表示图像中的某些重要属性。
一般来说,特征提取要求提取出的特征应具有以下特点:可重复性、可靠性、特异性、鲁棒性、计算效率等。
在实际应用中,常用的特征提取方法包括SIFT、SURF、HOG、LBP等。
1. SIFT尺度不变特征转换(Scale-invariant feature transform,SIFT)是一种常用的特征提取算法。
它通过在各个尺度上检测图像的关键点,然后对每个关键点周围的像素进行梯度计算,再把梯度信息转换为特征向量,最终得到具有尺度不变性的特征描述子,用于匹配和分类。
SIFT算法具有较好的鲁棒性和旋转不变性,在目标跟踪、图像检索等领域具有广泛的应用。
2. SURF加速稳健特征(Speeded Up Robust Features,SURF)是一种基于尺度空间的特征提取算法。
它采用了快速哈尔小波变换来加速特征计算,并引入了Hessian矩阵来描述图像的局部特征,加强了图像的鲁棒性和抗干扰性。
SURF算法与SIFT算法相比,具有更快的计算速度和更好的抗噪性,适合于大规模图像数据的特征提取。
3. HOG方向梯度直方图(Histogram of Oriented Gradients, HOG)是一种基于图像梯度方向和强度的特征描述方法。
HOG算法通过计算图像中每个像素点的梯度幅值和梯度方向,并将其汇总为几个方向的直方图,最终得到具有方向和梯度信息的特征向量。
HOG算法具有较好的抗变形和旋转不变性,适合于人体检测、模式识别等领域。
4. LBP局部二值模式(Local Binary Pattern, LBP)是一种基于纹理分析的特征提取算法。
图像处理中的特征提取和匹配算法
图像处理中的特征提取和匹配算法图像处理在日益热门的人工智能技术中扮演着一种重要的角色。
在图像处理中,特征提取和匹配算法是两个至关重要的步骤。
特征提取是通过分析图像的局部特点来创建描述图像内容的向量,而匹配是将不同图像的特征或特征向量进行比较,以确定它们是否相似。
本文将介绍几种常用的特征提取和匹配算法。
一、特征提取算法1.尺度不变特征变换(SIFT)SIFT是一种特征提取算法,它能够从不同的尺度和方向上提取图像的局部特征。
这种算法在检索和匹配图像中特别有用。
SIFT算法的基本思想是通过高斯差分算子得到一组尺度空间图像,通过高斯图像之间的差异来确定关键点,然后计算每个关键点的局部梯度的幅值和方向,最后形成一个基于梯度方向的特征描述符。
2.速度增强型稀疏编码(SLEEC)SLEEC是一种新型的高效特征提取算法。
与其他算法不同的是,SLEEC只需扫描一次训练数据即可获得最具代表性的特征。
该算法通过运用具有多个分辨率的降采样、随机稀疏和加速度分析三种技术提取特征,从而实现了比其他算法更高的准确性和速度。
二、特征匹配算法1.暴力匹配算法暴力匹配算法是一种基本的匹配算法,它实现了图像特征之间的精确匹配。
该算法通过比较两个图像之间的每个可能的匹配,来确定匹配的好坏。
虽然该算法的准确性很高,但是它非常耗时,因此只适用于小图像匹配。
2.基于Flann树的匹配算法基于Flann树的匹配算法通过对特征向量进行一系列分割和聚类,以快速找到大量数据中的相似匹配。
该算法不仅适用于大规模数据集,而且具有高效和稳定性。
3.随机抽样一致性算法(RANSAC)随机抽样一致性算法是一种常见的特征匹配算法。
该算法通过随机采样一对点来确定匹配,在这个过程中,通过迭代重复采样和检测结果,不断提高匹配模型的准确度。
结论:在图像处理和计算机视觉中,特征提取和匹配是核心算法。
不同的特征提取和匹配算法适用于不同的应用场合。
在实际应用中,为了达到对图像的快速识别和匹配,我们需要根据具体的需求,选择合适的特征提取和匹配算法。
基于SIFT_特征点提取的ICP_配准算法
1 传统 ICP 算法机理和特性分析
传统 ICP 算法机理框图如图 1 所示ꎮ 通过分
抽样一致性算法ꎬ随机选择四对局内点进行多次
析源点云与目标点云之间的对应关系ꎬ求解最优
迭代ꎬ计算出最佳变换矩阵ꎬ该方法具有较好的鲁
刚体变换矩阵ꎬ 使用该矩阵更新源点云的位置ꎮ
棒性ꎬ能够处理含有异常值的点云数据ꎬ但耗时较
为最优刚体变换矩阵中的旋转矩阵和平移矩阵ꎮ
令 Rk = R(q Rk )ꎬR 表示矩阵旋转操作ꎬt k = q tk ꎮ
3) 求得最优 R k 和 t k ꎬ按照 S k + 1 = R k S0 + t k 更
新位置ꎬS0 表示初次迭代的源点云集ꎮ 计算距离
均方误差值 d k ꎬ计算式为
dk =
1
∑ ‖x iꎬk - S iꎬk +1 ‖2
N i =1
N
(1)
式中:S iꎬk +1 和 x iꎬk 分别为源点云集和对应点集合
中的第 i 个点ꎻN 为对应点个数ꎮ
沈 阳 理 工 大 学 学 报
50
图 1
第 43 卷
传统 ICP 算法机理框图
Fig. 1 Block diagram of the mechanism of traditional ICP algorithm
Key words: point cloud registrationꎻ the iterative closest point algorithmꎻ scale invariant feature
transformꎻfeature pointsꎻfast point feature histogram
点云配准通常分为两个步骤:初始配准和精
SIFT特征点提取与匹配
SIFT特征点提取与匹配SIFT(Scale-Invariant Feature Transform)特征点提取与匹配是一种在计算机视觉领域广泛使用的图像特征提取和匹配算法。
它由David G. Lowe于1999年提出,并在后续的研究中得到了改进和优化。
关键点检测的目标是找到一些具有局部极值的图像点。
这里的局部极值是指该点所在位置的像素值在周围邻域中达到最大或最小值。
为了实现尺度不变性,SIFT算法使用了高斯金字塔来检测不同尺度下的关键点。
高斯金字塔是通过对原始图像进行多次平滑操作得到的一系列图像,每一层图像的尺度比上一层的尺度大约减少一半。
在每一层中,使用DoG (Difference of Gaussians)来寻找关键点。
DoG是通过对两个邻近的高斯平滑图像进行差分操作得到的,它可以提供图像中的边缘和角点等信息。
通过在每一层的DoG图像中找到局部极值点,即可得到关键点的粗略位置。
为了进一步提高关键点的准确性,还需要对这些粗略位置进行精细的插值。
最终得到的关键点具有尺度和旋转不变性,并且能够抵抗光照变化的影响。
描述子的计算是对关键点周围区域的图像内容进行编码,生成一个具有较高区分度的特征向量。
首先,将关键点周围的邻域划分为若干个子区域,每个子区域内的像素值作为一个特征向量的元素。
然后,对每个子区域内的像素值进行高斯加权,以减小光照变化对特征描述子的影响。
最后,对加权后的像素值进行方向直方图统计,得到一个具有旋转不变性的特征描述子。
对于每个关键点,都会得到一个128维的特征向量。
这些特征向量可以通过比较欧式距离来进行匹配。
SIFT特征点匹配是通过在两个图像中的特征描述子之间进行比较,找到最佳匹配的特征点对。
常用的匹配方法是计算两个特征向量之间的欧式距离,并将距离最小的两个特征点视为匹配点。
为了提高匹配的准确性和鲁棒性,还可以采用诸如RANSAC(RANdom SAmple Consensus)的算法来剔除错误匹配。
sift特征提取与匹配原理
SIFT特征提取与匹配原理的深入解析一、引言在图像处理和计算机视觉领域,尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)是一种被广泛应用的算法。
SIFT特征提取与匹配原理是图像处理中的重要一环,对于图像识别、图像配准、3D建模、物体跟踪等应用具有重要意义。
本文将深入解析SIFT特征提取与匹配原理,包括其基本概念、算法流程、优缺点以及应用场景。
二、SIFT特征提取原理1. 尺度空间极值检测SIFT算法首先通过构建尺度空间,在不同尺度下搜索所有可能的特征点。
这个过程是通过高斯差分(Difference of Gaussians,DoG)来实现的,它可以有效地检测出图像中的局部极值点,这些点具有尺度不变性,即无论图像被放大或缩小,这些点都能被检测到。
2. 特征点定位在检测到局部极值点后,SIFT算法会进行精确的定位。
这个过程包括去除低对比度的点和边缘点,因为这些点不稳定且对噪声敏感。
通过拟合三维二次函数来精确确定特征点的位置和尺度。
3. 方向分配为了使描述符具有旋转不变性,SIFT算法会为每个特征点分配一个主方向。
这是通过计算特征点周围像素的梯度方向和大小来实现的。
主方向是通过直方图统计梯度方向并找到最大的峰值来确定的。
4. 描述符生成最后,SIFT算法会生成一个描述符,用于描述特征点周围的图像信息。
描述符是通过将特征点周围的区域划分为4x4的子区域,并计算每个子区域的梯度方向和大小直方图来生成的。
描述符是一个128维的向量,具有对尺度、旋转和光照变化的不变性。
三、SIFT特征匹配原理在生成了SIFT描述符后,就可以进行特征匹配了。
这个过程是通过计算两个描述符之间的欧氏距离来实现的。
距离越小,表示两个特征点越相似。
为了提高效率,通常会使用K-D树等数据结构来加速匹配过程。
此外,还可以使用RANSAC等算法来消除误匹配,提高匹配的准确性。
四、优缺点分析SIFT算法的优点主要体现在以下几个方面:1. 尺度、旋转和光照不变性:SIFT描述符具有对尺度、旋转和光照变化的不变性,这使得它在各种场景下都能取得较好的效果。
SIFT算法详解及应用
SIFT算法详解及应用SIFT(Scale-Invariant Feature Transform)是一种在计算机视觉中常用的特征点提取算法,由David Lowe在1999年提出,并在2004年的论文中进行了详细阐述。
SIFT算法可以在不同尺度和旋转下保持图像的特征点不变性,因此在图像拼接、目标识别、图像匹配等领域具有广泛的应用。
1.尺度空间构建:SIFT算法使用高斯差分函数来检测不同尺度下的特征点。
通过在图像中采用不同尺度的高斯滤波,构建尺度空间,从而检测到不同尺度的图像特征。
2.关键点提取:在构建的尺度空间中,SIFT算法通过在每个像素点检测局部极值点来获取关键点。
具体的做法是对每个像素点在尺度空间上进行比较,找出该点与它相邻像素点和尺度上的极值,从而得到关键点。
3. 关键点定位:在关键点提取后,SIFT算法通过利用二阶偏导数的Hessian矩阵来对关键点进行进一步定位。
Hessian矩阵可以描述图像对灰度变化的响应,通过计算关键点周围像素点的Hessian矩阵,可以对关键点进行精确定位。
4.方向分配:在关键点定位后,SIFT算法为每个关键点分配一个主导方向。
通过对关键点周围的图像梯度进行统计,找到梯度方向分布最大的方向作为主导方向,以此来保证关键点对旋转具有不变性。
5.特征描述:在分配了主导方向后,SIFT算法使用局部图像梯度的方向直方图来描述关键点的局部特征。
将关键点周围的16x16邻域划分为4x4的小格子,计算每个小格子内的梯度方向直方图,最终得到一个128维的特征向量来表示关键点的局部特征。
1.尺度不变性:SIFT算法通过在不同尺度下检测特征点,使得算法对于图像缩放具有不变性。
这一特性使得SIFT在目标识别和图像匹配等领域具有广泛应用,可以应对不同尺寸的目标和场景。
2.旋转不变性:SIFT算法通过为每个关键点分配主导方向,使得算法对于图像旋转具有不变性。
这一特性使得SIFT在图像拼接和图像匹配中能够应对图像的旋转变换。
SIFT算法详解及应用
SIFT算法详解及应用SIFT(Scale-Invariant Feature Transform)是一种用于图像处理和计算机视觉中的特征提取算法。
它的主要目标是提取具有尺度和旋转不变性的局部特征点。
SIFT算法的独特之处在于它不依赖于特定的图像属性,而是通过一系列处理步骤构建出具有稳定性和描述性的特征点。
1. 尺度空间极值检测(Scale Space Extrema Detection):通过在不同的尺度上使用高斯差分函数,找到图像中的极值点作为潜在特征点。
2. 关键点定位(Keypoint Localization):在尺度空间中找到极值点后,使用插值方法精确定位特征点的位置。
同时,通过计算Hessian矩阵的主曲率来排除边缘响应。
3. 方向分配(Orientation Assignment):为每个特征点分配一个主要的方向,使得后续的特征描述能够具有旋转不变性。
4. 特征描述(Feature Description):根据每个特征点的主方向,构建特征描述子。
描述子被构建为一个128维的向量,它具有对尺度、旋转和光照变化的不变性。
5. 特征匹配(Feature Matching):通过比较特征描述子,找到两幅图像中具有相似特征的匹配点。
常用的方法是计算特征向量之间的欧式距离或相似性度量。
1.目标识别:SIFT算法可以检测并描述图像中的关键点,通过与预先训练好的模板特征进行匹配,可以在输入图像中快速准确地定位和识别目标物体。
2.图像拼接:SIFT算法可以提取图像中的特征点,并通过对这些特征点进行匹配来确定它们之间的对应关系。
这样,可以将多张图像拼接在一起,生成一个大的全景图像。
3.目标跟踪:SIFT算法可以提取图像中的关键点,并构建其特征描述子。
通过与之前的图像帧进行匹配,可以实现目标的跟踪和定位。
4.三维重建:使用多个图像拍摄同一场景,并通过SIFT算法提取特征点并进行匹配,可以推断出相机的位置和场景的结构,从而实现三维重建。
python利用opencv实现SIFT特征提取与匹配
python利⽤opencv实现SIFT特征提取与匹配本⽂实例为⼤家分享了利⽤opencv实现SIFT特征提取与匹配的具体代码,供⼤家参考,具体内容如下1、SIFT1.1、sift的定义SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是⽤于图像处理领域的⼀种描述。
这种描述具有尺度不变性,可在图像中检测出关键点,是⼀种局部特征描述⼦。
1.2、sift算法介绍SIFT由David Lowe在1999年提出,在2004年加以完善。
SIFT在数字图像的特征描述⽅⾯当之⽆愧可称之为最红最⽕的⼀种,许多⼈对SIFT进⾏了改进,诞⽣了SIFT的⼀系列变种。
SIFT已经申请了专利(所以现在opencv使⽤这个算法,需要低的版本)。
SIFT特征是基于物体上的⼀些局部外观的兴趣点⽽与影像的⼤⼩和旋转⽆关。
对于光线、噪声、微视⾓改变的容忍度也相当⾼。
基于这些特性,它们是⾼度显著⽽且相对容易撷取,在母数庞⼤的特征数据库中,很容易辨识物体⽽且鲜有误认。
使⽤SIFT特征描述对于部分物体遮蔽的侦测率也相当⾼,甚⾄只需要3个以上的SIFT物体特征就⾜以计算出位置与⽅位。
在现今的电脑硬件速度下和⼩型的特征数据库条件下,辨识速度可接近即时运算。
SIFT特征的信息量⼤,适合在海量数据库中快速准确匹配。
SIFT算法具有如下⼀些特点:1)SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视⾓变化、仿射变换、噪声也保持⼀定程度的稳定性;2)区分性(Distinctiveness)好,信息量丰富,适⽤于在海量特征数据库中进⾏快速、准确的匹配;3)多量性,即使少数的⼏个物体也可以产⽣⼤量的SIFT特征向量;4)⾼速性,经优化的SIFT匹配算法甚⾄可以达到实时的要求;5)可扩展性,可以很⽅便的与其他形式的特征向量进⾏联合。
1.3、特征检测SIFT特征检测主要包括以下4个基本步骤:1)尺度空间极值检测:搜索所有尺度上的图像位置。
SIFT特征点提取与匹配算法
SIFT特征点提取与匹配算法SIFT (Scale-Invariant Feature Transform) 特征点提取与匹配算法是一种在计算机视觉领域中常用的特征点提取与匹配方法。
它由David Lowe在1999年提出,并且成为了计算机视觉领域中广泛应用的算法之一、SIFT特征点提取与匹配算法的主要思想在于提取图像中具有独特性、不受尺度变化和旋转变化影响的局部特征点,并通过特征匹配找到两幅图像之间的对应关系。
SIFT算法主要分为4个步骤:尺度空间极值检测、关键点定位、方向分配和特征描述。
第一步,尺度空间极值检测。
该步骤旨在检测图像中所有尺度的极值点作为特征点的候选。
为了对图像进行不同尺度的检测,SIFT算法使用了高斯金字塔。
高斯金字塔是通过对原始图像进行一系列高斯模糊和下采样操作构建的图像金字塔。
在每一组金字塔中,通过计算图像在不同尺度下的拉普拉斯变换,得到图像的尺度空间表征。
然后,通过比较每一层相邻像素点的灰度,检测出具有极值的像素点。
这些极值点将被作为候选的关键点。
第二步,关键点定位。
在这一步骤中,SIFT算法对候选的关键点进行一系列的筛选,以保留稳定的关键点。
首先,使用插值的方法对关键点进行亚像素精确定位。
然后,根据图像的梯度信息计算关键点的主曲率,通过判断主曲率是否小于阈值,来筛选掉低对比度的关键点和边缘响应的关键点。
此外,通过计算关键点的梯度方向,可以为后续的方向分配做准备。
第三步,方向分配。
为了提高特征点的旋转不变性,在这一步骤中,SIFT算法为每个关键点分配一个主方向。
具体地,SIFT算法将关键点的周围区域分为若干个子区域,并计算每个子区域的梯度方向直方图。
通过找到直方图中的局部极大值,选择关键点的主方向。
这样,即使图像发生旋转,关键点的描述子也能够保持一致性。
第四步,特征描述。
在这一步骤中,SIFT算法为每个关键点生成一个128维的描述子。
描述子的生成主要通过计算关键点周围区域内的梯度信息。
基于特征点提取和匹配的点云配准算法
基于特征点提取和匹配的点云配准算法点云配准是将多个点云数据进行变换和对齐的过程,通常用于三维重建、SLAM(Simultaneous Localization and Mapping)、机器人导航等应用领域。
基于特征点提取和匹配的点云配准算法是一种常用的点云配准方法,其主要步骤包括特征点提取、特征描述、特征匹配、姿态估计和变换求解等。
首先,需要从每个输入点云中提取特征点。
特征点是具有较好区分度和稳定性的点,可以用来描述点云的局部特征。
目前常用的特征点提取算法包括SIFT(Scale-invariant Feature Transform)、ISS(Intrinsic Shape Signatures)、NARF(Normal Aligned Radial Features)等。
这些算法通过局部表面曲率、顶点法线或表面切片等几何属性来检测特征点。
接下来,对于每个特征点,需要计算其特征描述子。
特征描述子是一种能够对特征点进行准确描述和表示的向量表示。
常见的特征描述算法包括FPFH(Fast Point Feature Histograms)、SHOT(Signature of Histograms of OrienTations)等。
这些算法通过计算特征点周围的局部几何属性,如法线方向、曲率等,来构建特征描述子。
然后,对于两个点云,需要进行特征点之间的匹配。
特征匹配是将两个点云中的相似特征点进行对应的过程,通常是通过计算特征描述子之间的距离来完成的。
常用的匹配算法有最近邻、KD树等。
通过匹配得到的相似特征点对可以用于后续的配准过程。
在特征点匹配之后,通过求解两组对应点之间的变换关系,可以得到点云的刚体变换(Rotation and Translation)。
常用的姿态估计算法有最小二乘法、RANSAC(Random Sample Consensus)等。
这些算法通过最小化匹配点对之间的误差,找到最好的刚体变换参数。
VSLAM基础(一)————常见特征点提取算法及匹配优化
VSLAM基础(一)————常见特征点提取算法及匹配优化Visual SLAM(Visual Simultaneous Localization and Mapping,视觉同时定位与建图)是一种利用摄像机观测环境特征点进行定位和建图的技术。
在Visual SLAM中,特征点提取算法和匹配优化是实现高精度和鲁棒性的关键。
特征点(Feature Point)是图像中具有独特性的点,可以用于图像对齐、定位和建图。
常见的特征点提取算法有SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)、SURF(Speeded Up Robust Features,快速稳健特征)和ORB(Oriented FAST and Rotated BRIEF,方向自适应FAST关键点和旋转的BRIEF特征描述子)。
这些算法通过不同的方式检测图像中的角点、边缘和斑点等特征。
SIFT算法通过多尺度图像金字塔构建,并通过高斯差分金字塔寻找关键点。
然后,对每个关键点计算其尺度和方向不变的特征描述子。
SURF算法也使用多尺度图像金字塔,但是通过Haar小波快速计算图像的积分图像,从而加速特征点提取过程。
ORB算法则使用FAST角点检测器检测图像中的关键点,并计算具有旋转不变性的BRIEF特征描述子。
在特征点提取后,需要对提取的特征点进行匹配优化。
常见的匹配优化算法有最近邻法(Nearest Neighbor),RANSAC(RANdom SAmple Consensus)和基于光流法的连续匹配。
最近邻法是一种简单的匹配算法,它将每个特征点在两幅图像中寻找最近的匹配点。
然而,这种算法容易受到噪声的干扰,并且无法处理遮挡和动态场景等问题。
为了解决这些问题,RANSAC算法被广泛应用于特征点匹配优化。
RANSAC算法通过随机采样一组特征点对,计算这些点对之间的变换矩阵,并通过对内点进行优化来估计最佳的模型。
SIFT特征提取算法详解
SIFT特征提取算法详解SIFT(Scale-Invariant Feature Transform)特征提取算法是一种用于在图像中寻找关键点的方法,该算法具有尺度不变性,能够提取出能够对图像进行描述的稳定的局部特征。
本文将从算法原理、关键步骤以及优缺点等方面进行详细解析。
一、算法原理SIFT算法的主要思想是通过寻找关键点和计算这些关键点的特征向量,来描述图像中的局部特征,并实现对尺度、旋转和亮度的不变性。
1.尺度空间极值检测SIFT算法首先通过DoG(Difference of Gaussian)来检测图像中的关键点。
DoG是指在不同尺度下的高斯平滑图像之间的差异,这样可以有效地检测出图像中的尺度空间极值点。
2.关键点精确定位通过在DoG金字塔中精确定位关键点,SIFT算法可以找到图像中的关键点。
该算法使用了Hessian矩阵的近似来计算特征点的位置和尺度,并用Taylor展开来精确计算特征点的位置。
3.方向分配为了使特征具有旋转不变性,SIFT算法通过计算特征点周围的梯度方向直方图来分配特征点的主方向。
具体步骤是确定特征点周围像素的梯度幅值和方向,并将方向分配到主方向上。
4.特征描述在计算了特征点的尺度和方向之后,SIFT算法通过计算特征点周围的局部图像块的梯度直方图来描述特征。
这些梯度直方图能够描述特征点周围的领域特征,并且具有尺度和旋转不变性。
二、关键步骤详解1.构建高斯金字塔SIFT算法首先对输入的图像进行平滑处理,然后通过不断降采样生成高斯金字塔。
高斯金字塔能够提供多尺度图像。
2.构建差分金字塔利用高斯金字塔计算DoG金字塔。
通过对相邻两层高斯图像进行差分操作,可以得到相应的两层DoG图像。
3.检测尺度空间极值点在DoG金字塔上,通过比较每一个像素点与其8邻域和相邻的26个像素点的像素值来确定极值点。
具体方法是通过比较每一层图像的像素值与周围像素值进行判定。
4.精确定位关键点通过利用Taylor展开公式来精确定位关键点的位置,这可以减小特征点在尺度和位置上的误差。
一种基于SIFT的改进特征点匹配算法
一种基于SIFT 的改进特征点匹配算法摘要本文提出一种改进的特征点匹配算法基于尺度不变特征变换(SIFT)算法,主要解决了SIFT 算法的准确性和速度问题。
改进算法通过改进SIFT 中的特征点匹配,提高了算法匹配准确性,同时采用了基于KD 树和多通道颜色直方图的快速匹配算法,加速了匹配速度。
实验结果表明,该算法在准确性和速度方面都优于传统的SIFT 算法。
关键词:SIFT;特征点匹配;KD 树;多通道颜色直方图引言近年来,计算机视觉技术的研究受到了广泛关注,其中尺度不变特征变换(SIFT)是一种被广泛采用的特征点提取算法。
SIFT 算法具有尺度不变性、旋转不变性和光照不变性等特点,是一种非常有效的特征点提取算法,被广泛应用于计算机视觉领域中的物体识别、图像配准、三维重建等多个领域。
然而,尽管SIFT 算法被广泛采用,但是其在特征点匹配时存在一些问题,例如准确性和匹配速度等问题。
传统的SIFT 算法采用暴力匹配的方式进行特征点匹配,虽然匹配精度较高,但是匹配速度较慢,尤其是对于大规模图像数据集,运算时间呈指数级别增长,导致运算效率较低。
因此,改进SIFT 算法的特征点匹配算法是一项非常必要的任务。
本文提出了一种基于KD 树和多通道颜色直方图的改进特征点匹配算法,旨在提高SIFT 算法的特征点匹配精度和匹配速度。
本文通过实验对SIFT 算法和改进算法进行比较分析,并验证了改进算法的优越性。
基于SIFT 的特征点匹配SIFT 算法是一种基于尺度空间图像的特征点提取算法,旨在提取图像局部特征并对其进行描述。
SIFT 算法主要分为四个步骤:尺度空间极值检测、关键点精确定位、方向赋值以及特征点描述。
在这个过程中,主要通过DOG(差分高斯)算子来构造尺度空间,通过寻找局部最大值来检测图像中的特征点。
接着,使用DoG 空间的极值点,对每个极值点进行精准定位和方向赋值。
尽管SIFT 算法已经被证明是一种非常有效的特征点提取算法,但是它的特征点匹配存在一定的难点。
特征点匹配——SIFT算法详解
特征点匹配——SIFT算法详解SIFT(Scale-Invariant Feature Transform)是一种用于在图像中寻找关键点并进行匹配的算法。
该算法由David Lowe在1999年发布,并且一直被广泛应用于计算机视觉领域。
SIFT算法具有尺度不变性和旋转不变性,可以在不同的图像尺度和旋转角度下进行特征点的匹配。
SIFT算法的主要步骤包括关键点检测、关键点描述和特征点匹配。
关键点检测:在一张图像中,关键点通常是指存在于不同尺度和方向上的局部最大值或局部最小值。
SIFT使用高斯差分金字塔来检测关键点。
首先,通过对原始图像进行高斯模糊,创建一个金字塔,然后在每一组金字塔中计算高斯差分图像。
接着,通过比较每个像素周围的8个像素和自身像素的差值,找到局部极值点。
最后,使用尺度空间极大值抑制来进一步过滤出稳定的关键点。
关键点描述:在关键点检测后,需要对每个关键点进行描述。
SIFT使用局部图像梯度的直方图来描述关键点。
首先,在每个关键点周围的16x16像素块上计算梯度的幅值和方向。
然后将这个块分成16个4x4的子块,并在每个子块上计算一个8方向的直方图。
最后,将这些直方图连接起来形成一个128维的向量,用来表示该关键点。
在对两幅图像提取出关键点并进行描述后,需要对这些特征点进行匹配。
SIFT使用欧式距离来计算特征向量之间的相似性。
对于每个特征点,将其描述子与另一幅图像中的所有描述子进行比较,选择最佳匹配的特征点对。
SIFT算法在匹配过程中还引入了RANSAC算法来排除错误的匹配。
RANSAC(Random Sample Consensus)是一种迭代的鲁棒性估计方法,可以通过随机选择一个小子集来估计模型参数,并通过计算剩余误差和阈值来确定最终的模型。
总结一下,SIFT算法通过关键点检测、关键点描述和特征点匹配三个步骤来实现对图像中的特征点进行匹配。
该算法具有尺度不变性和旋转不变性,可以在不同的图像尺度和旋转角度下进行特征点的匹配。
SIFT特征点提取与匹配算法
SIFT 特征点匹配算法基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection );② 精确关键点定位(Keypoint localization )③ 关键点主方向分配(Orientation assignment )④ 关键点描述子生成(Keypoint descriptor generation )⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching )1.1 尺度空间极值检测特征关键点的性质之一就是对于尺度的变化保持不变性。
因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。
要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。
Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。
因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即:),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221),,(σπσσy x e y x G +-=在实际应用中,为了能相对高效地计算出关键点的位置,建议使用的是差分高斯函数(difference of Gaussian )(,,)D x y σ。
其定义如下:),,(),,(),()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2)如上式,D 即是两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。
图 1.1图1.1所展示的是建立DOG 的一种实用的方法。
sift算法特征点如何匹配?
sift算法特征点如何匹配?我需要把⼀张照⽚和训练集中的图⽚进⾏匹配。
我把⼀张照⽚提取特征值并建⽴kd树,然后把训练集的图⽚依次读进来,然后把图⽚的特征点依次放进kd树⾥⾯找最近的点,第⼀个问题就是这2个点的距离,⽅向之⽐,长度之⽐在什么范围内算是匹配的?第⼆个问题是匹配的特征点与总共的特征点之⽐达到什么范围就可以认为2幅图⽚是匹配的?第三个问题是我们是需要找到⼀幅匹配的图⽚就结束还是遍历所有图⽚以后找到最匹配的图⽚再结束?关注者180被浏览3 个回答图像检索/计算机视觉题主应该是如果只是想知道SIFT是怎么在两幅图像间进⾏匹配的话,下⾯是我总结的四种匹配⽅法,希望对题主了解SIFT匹配过程有帮助。
⼀般在词袋模型中,为了提⾼检索的精度,你可以通过很多的trick来提⾼其精度(mAP),其中⼀个⼴泛使⽤的技巧就是对返回的图像进⾏重排,重排有很多种⽅法,⽐如对多特征在分数层(决策层)进⾏融合也是⼀种重排⽅式,不过这⾥要做的是通过剔除查询图像与候选图像错配点对的⽅式进⾏重排,剔除错配点⼀般采⽤的是RANSAC算法,关于RANSAC原理可以阅读这篇⽂章,或者采⽤类RANSAC算法。
作为初级阶段的实践,这⾥从两幅图像的匹配逐步深⼊。
代码下载:下⾯贴图的结果的代码都可以下载。
1NN匹配“1NN匹配”(勿wiki,⾃创的⼀个词汇),讲起来⽐较顺⼝,⽽且从字⾯也应该可以猜测出点意思来,所以就这么写在这⾥了。
所谓的“1NN”匹配,即是对于图像im1中的某个SIFT特征点point1,通过在im2图像上所有SIFT关键点查找到与point1最近的SIFT关键点,重复这个过程,即可得到图像im1中所有的特征点在im2中的匹配点(最近邻,1NN)。
这种匹配⽅法,会出现很多的错配点,下⾯是采⽤1NN匹配的结果:从上图可以看到,1NN匹配的⽅法出现了很多的错配点,⽽这些错配点对⽆论是对图像检索中的重排,还是图像拼接等,都是不希望看到的,所以得进⼀步对其中的错配点对进⾏剔除,下⾯采⽤“1NN/2NN<0.8”的⽅法进⾏错配点对剔除。
基于SIFT的高分二号全色与多光谱影像配准算法
基于SIFT的高分二号全色与多光谱影像配准算法
SIFT(尺度不变特征变换)是一种常用的图像特征点检测算法,具有旋转、缩放、光照变化不变性等优点,因此在图像匹配、物体识别等领域得到广泛应用。
本文基于SIFT 算法,设计了一种高分二号全色与多光谱影像的配准算法,以实现图像的融合与分类。
本文的配准算法分为两个步骤:特征点提取与匹配、Harris角点检测与运动估计。
1. 特征点提取与匹配
首先对全色图像和多光谱影像进行预处理,将全色图像和多光谱影像分别进行直方图均衡化,以增强图片的对比度。
然后采用SIFT算法提取出全色图像和多光谱影像中的关键点,根据特征向量的大小和方向进行描述。
在匹配过程中,采用FLANN库实现KDTrees 检索算法,快速地找到满足匹配条件的特征点。
2. Harris角点检测与运动估计
为了提高配准精度,我们采用Harris角点检测方法提取出关键点的准确位置和方向信息。
Harris角点检测算法可以检测图像的角点,而角点在不同图片中相当稳定,因此可以作为匹配的参考点。
对于检测出的Harris角点,我们采用光流估计法计算出角点之间的运动向量,进而实现全色图像与多光谱影像之间的精确配准。
实验结果表明,本文设计的基于SIFT的配准算法可以实现高分二号全色图像与多光谱影像的准确配准。
经过配准后的图像可以实现更好的融合效果,为后续的图像分类、遥感监测等应用提供了有效的数据基础。
同时,本文还可以扩展至其他遥感影像的配准过程中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二 特征点提取算法1、基于SIFT (Scale Invariant Feature Transform )方法的图像特征匹配参看David G. Lowe 的“Distinctive Image Features from Scale-Invariant Keypoints ”基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection );② 精确关键点定位(Keypoint localization )③ 关键点主方向分配(Orientation assignment )④ 关键点描述子生成(Keypoint descriptor generation )⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching )1.1 尺度空间极值检测特征关键点的性质之一就是对于尺度的变化保持不变性。
因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。
要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。
Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。
因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即:),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221),,(σπσσy x e y x G +-=在实际应用中,为了能计算的相对高效,所真正使用的是差分高斯尺度空间(difference of Gaussian )(,,)D x y σ。
其定义如下:),,(),,(),()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2)如上式,D 即是由两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。
图 1.1图1.1所展示的是建立DOG 的一种实用的方法。
初始图像与不同σ值的高斯函数卷积,得到一垛模糊后的图像,然后将这一垛模糊图像临近两两相减即得所对应的DOG 。
这些模糊后的图像以k 为系数在尺度空间里被分隔开,并且该垛内最高的尺度应是最低尺度的2倍。
为了能开展后续工作(与尺度空间极值检测相关,将在后续文章中作出解释)并满足上述要求,每垛需要通过卷积得到s+3个模糊后的图像,并且s 和k 需要具有关系s k /12 。
在一垛图像建立完毕后,还需要降采样得到下一垛图像的DOG 。
在实际操作中首先用2倍于第一垛图像的σ值建立出模糊图像,然后再将此垛图像降二采样,即每2个像素抽出一个像素,就可以得到下一垛图像的DOG 。
在上述工作完成后,所要完成的就是尺度空间的极值检测。
DOG 上的某个像素要和本尺度的8个相邻像素以及上下相邻尺度各9个相邻像素比较。
这样做的目的是为了确保图像在尺度空间和二维图像空间均检测到极值点。
如果该像素点在这所有参与比较的点中有最大值或者最小值,则认为该像素点是尺度空间的极值点之一。
图1.2表示这种极值检测的原理。
图1.2另外需要注意的是,上述的尺度空间极值点检测在每一个垛中都要进行。
最后获得的极值点总和是所有垛中所检测到的极值点的集合。
那么如果这个极值点处在降采样后的垛中,则需要在找出他后将其坐标变换到原始大小的原图上。
容易写出这个变换公式为:0min 0002,[0,...1],[0,...1][0,...1]o x x o o O x N M =∈+-∈-⨯- (1.3)其中0x 是原始大小图像即原始图像上的坐标,经采样变换后变为x ;o 是处于垛的阶数(即处于第几个垛中);m in o =0或者-1,当第一垛图像为原图经过尺寸加倍后的图像生成时值为1,不经过加倍则为0。
另外在建立尺度空间的过程中有两个较为重要的参数要确定。
可以将之描述为尺度空间抽样频率和空间域抽样频率。
尺度空间抽样频率表现为每个DOG 垛所含有的DOG 数目。
由于每个DOG 垛中最大尺度已经确定是最小尺度的2倍,则在这个范围内的DOG 数目越多,抽样频率就越高。
这个频率影响着特征提取的效果。
Lowe 教授在其文章中论述了对于该参数所做的实验。
图 1.3实验表明在每个垛中有3个抽样时特征点提取效果是最好的(从图1.3左图可以看出,无论是变化过的图像中能取到与原图中相同的特征点的比例,还是所取到的特征点与数据库内特征点匹配上的比例都是最高)。
而之所以更高的抽样频率不能带来更好的匹配效果,是因为抽样频率越高,虽然提取的特征点越多,但这样的特征点大多是不稳定的,因此无法提高匹配的成功率,这从图1.3右图可以看出。
另外一个参数是空间域抽样频率。
表现为σ的数值。
由于图像与高斯函数的卷积可以看作是空间滤波,则σ与滤波的截止频率有很大的关系。
σ越大,截止频率就越小,能够看到的抽样值频率也越小。
图 1.4Lowe教授在文章中也对σ的取值做了相关实验,实验结果表明当σ取1.6时所得到的匹配效果最好,这从图1.4中可以看出(同样的,在变化过的图像中能取到与原图中相同的特征点的比例,还是所取到的特征点与数据库内特征点匹配上的比例都是最高)。
另外他还证明,在建立尺度空间的第一垛图像时,先将原始图像的尺寸加倍,则可以使稳定的特征点的数目达到原来的4倍。
1.2精确关键点定位极值点确定之后,必须进行有效的后续工作对这些点进行筛选;因为此时往往会有可观数量的极值点具有很低的对比度或者处于不理想的边缘。
我们把这些极值点成为备选关键点,而后续工作的目的就是去掉那些对比度低的以及处于不理想边缘处的备选关键点(keypoint candidate ),以得到最终参与匹配的特征关键点(keypoint )。
1.2.1更精确的关键点位置描述早期的关键点定位方法比较粗糙。
目前所采用较多的方法是由Brown 教授所提出的三维二次曲线(3D quadratic function )展开。
该方法将DOG 在所关注的像素点处用三维泰勒级数展开(展开到2次方项),然后再精确定位极值的位置至亚像素级。
展开式如下:x xD x x x D D x D T T T 2221)(∂∂+∂∂+= (1.4) 其中:(,,),T D x D D X x y X y D σσ⎡⎤∂⎢⎥∂⎢⎥∂∂⎢⎥==⎢⎥∂∂⎢⎥∂⎢⎥⎢⎥∂⎣⎦ ,22222222222222D D D x xy x D D D D X yx y y D D D x y σσσσσ⎡⎤∂∂∂⎢⎥∂∂∂⎢⎥⎢⎥∂∂∂∂=⎢⎥∂∂∂∂⎢⎥⎢⎥∂∂∂⎢⎥∂∂∂⎢⎥⎣⎦ ,,,,2112()()4x y x y x y x y k k k k D D D D D σ+----∂=∂,( k 指当前k 层,k-1指k 的下层,k+1指上一层) 1,1,1,1,21111()()4x y x y x y x y k k k k D D D D D x σ+-+-++-----∂=∂··· 可以看到,所有的偏导数值都由像素值的差分来近似;后面会涉及到的Hessian 算子中的相关计算也是由像素值的差分来近似的。
按照泰勒级数的定义,其中D 和D 的偏导数都是在展开点所计算的值,而x 是估计点到展开点的偏移量,即:),,(000σσ---=y y x x x其中被减值是估计点的坐标,减数为展开点的坐标。
那么要求得D 的极值,则自然想到对这样展开后的D 对x 求导,然后使导数为0,即求得了局部的极值。
在这种理念下,则极值点对于展开点的偏移量x ˆ 满足:x D x D x ∂∂∂∂-=-122)(ˆ (1.5) 则容易由此得到极值点的坐标。
容易想到,如果三维向量x ˆ 在任何一个维度的值大于0.5,那么这个极值点会更接近另外一个像素点,而不是本身的这个展开点。
那么此时就将展开点换做更接近的那个点,然后再次展开计算偏移量x ˆ 。
最后偏移量的值被加到展开点上以得到关键点的最终位置。
当然这个最终位置的坐标不一定是整数,所以这个关键点的位置是一种修正过的,或说插值过(interpolated )的估计值。
需要注意的是,SIFT 特征匹配最终也不需要有一个整数的坐标值。
在生成了关键点描述子之后,在匹配时与具体的坐标就不相关了。
1.2.2去除对比度低的不稳定关键点在精确定位了特征关键点之后,该特征关键点的DOG 函数可以由其临近的像素点的DOG 展开获得,即式(1.1)。
研究表明,特征关键点的DOG 函数值)ˆ(xD可以用来去除那些因为对比度偏低而不稳定的关键点。
其值越低,则越不稳定越应该忽略。
在实际操作中,用来求)ˆ(x D的函数并不是(1.1),而是在此基础上继续忽略2阶项后所得:x x D D x D T ˆ21)ˆ( ∂∂+= (1.6) 在Lowe 教授的研究中,这个阈值为0.03,亦即所有03.0)ˆ(<xD的点全部去除。
1.2.3 去除由边缘响应所带来的不稳定关键点为了增强特征点的稳定性,仅仅去除低对比的点是不够的。
DOG 函数有着较强的边缘响应,如果关键点被定位在边缘,那么这个关键点很有可能是不稳定的,尤其容易受到噪声的影响,即是是少量的噪声也会影响匹配的稳定性。
一个定义不好的高斯差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。
那么我们只需要求出关键点主曲率便可以决定是否因其处于边缘而舍去他。
主曲率可以通过2×2的Hessian 矩阵H 来计算,其中: Dxx Dxy H Dxy Dyy ⎡⎤=⎢⎥⎣⎦该点的两个主曲率是与Hessian 矩阵的两个特征值成比例的。
而在实际应用中并不用计算出H 的特征值,因为我们可以只考虑他们中较大的特征值比较小的特征值的比例r 便可以确定该点是不是处于边缘(因为在横跨边缘的地方有较大的主曲率,对应一个大特征值;而在垂直边缘的方向有较小的主曲率,对应一个较小特征值,比例只要足够大,就可以认为该点满足处于边缘的性质)。
设α为较大的特征值,β为较小的特征值,则=r αβ。
由于()xx yy Tr H D D αβ=+=+ (1.7)2()()xx yy xy Det H D D D αβ=-= (1.8)我们构建 222()()(1)()()Tr H r ratio Det H rαβαβ++=== (1.9) 则如果我们考虑0r r >时则认为该点处于边缘,那在具体判定时,我们可以不用计算出其具体特征值,而是只用等效判断是否有020)1(r r ratio +>即可。