① SIFT特征点匹配正确率怎么算
对阈值的选择:
当两幅图像的SIFT特征向量生成后,下一步我们采用关键点特征向量的欧式距离来作为 两幅图像中关键点的相似性判定度量。取图像1中的某个关键点,并找出其与图像2中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近 的距离少于某个比例阈值,则接受这一对匹配点。降低这个比例阈值,SIFT匹配点数目会减少,但更加稳定。为了排除因为图像遮挡和背景混乱而产生的无匹配 关系的关键点,Lowe提出了比较最近邻距离与次近邻距离的方法,距离比率ratio小于某个阈值的认为是正确匹配。因为对于错误匹配,由于特征空间的高 维性,相似的距离可能有大量其他的错误匹配,从而它的ratio值比较高。Loweratio的阈值为0.8。但作者对大量任意存在尺度、旋转和亮度 变化的两幅图片进行匹配,结果表明ratio取值在0. 4~0. 6之间最佳,小于0. 4的很少有匹配点,大于0. 6的则存在大量错误匹配点。(如果这个地方你要改进,最好给出一个匹配率和ration之间的关系图,这样才有说服力)作者建议ratio的取值原则如 下:
ratio=0. 4对于准确度要求高的匹配;
ratio=0. 6对于匹配点数目要求比较多的匹配;
ratio=0. 5一般情况下。
也可按如下原则:当最近邻距离<200时ratio=0. 6,反之ratio=0. 4。ratio的取值策略能排分错误匹配点。
同理,MSCR也可以按照这一方案来设计检索算法
② 从图像提取得到的特征点匹配成功和误匹配是按照什么样的标准进行判断的
难道是肉眼看,然后数的?
否则用预先知道图像关系的图像进行计算得到的
③ 基于内容的图像检索的特征匹配
从图像中提取的特征可以组成一个向量,两个图像之间可以通过定义一个距离或者相似性的测量度来计算相似程度。
特征匹配是图像检索的一个关键环节,具有特征依赖的特点,不同的特征应该采用不同的度量方法。在检索的过程中,根据系统相似性度量的算法计算查询特征与特征库中对应的每组特征的相似程度,把所得结果由大到小排序后得到一个匹配图像序列返回给用户。其间可以通过人机交互,对检索的结果逐步求精,不断缩小匹配集合的范围,从而定位到目标。匹配过程常利用特征向量之间的距离函数来进行相似性度量,模仿人类的认知过程,近似得到数据库的认知排序。常用的距离度量公式有:Minkkowsky距离,Manhattan距离,Euclidean距离,加权Euclidean距离,Chebyshev距离,Mahalanobis距离等。
其中,Manhattan 距离计算简单,效果也较好,被广泛采用;加权Euclidean 距离考虑了不同分量的重要性,也较为常用;Mahalanobis 距离考虑了样品的统计特性和样品之间的相关性,在聚类分析中经常用到。当采用综合特征进行检索时,需要对各特征向量进行归一化,以使得综合特征的各特征向量在相似距离计算中地位相同。
④ matlab 特征点的匹配问题
你先找找看,如果找不到,可以试着每次只对1/4图像提取特征点,然后把四部分特征点集合在一起匹配,这样可以做到尽量均匀
⑤ 关于opencv SURF算法 特征点匹配率
surf算法对图片提取特征点以后是可以获得到提取的数量的。但是匹配完成后虽然能够获得匹配成功的数量,但是是不是真的准确就无法保证了。比如两张完全不相关图片,特征点匹配也可能会有几个能够匹配成功的,但是在物理意义上,这两张图片并不相同,特征点虽然距离很近但是并不正确。
⑥ 与标准图像特征点匹配后,对极解算
难道是肉眼看,然后数的?
否则用预先知道图像关系的图像进行计算得到的
⑦ sift特征点正确匹配率是怎么计算出来的
一、特征点(角点)匹配
图像匹配能够应用的场合非常多,如目标跟踪,检测,识别,图像拼接等,而角点匹配最核心的技术就要属角点匹配了,所谓角点匹配是指寻找两幅图像之间的特征像素点的对应关系,从而确定两幅图像的位置关系。
角点匹配可以分为以下四个步骤:
1、提取检测子:在两张待匹配的图像中寻找那些最容易识别的像素点(角点),比如纹理丰富的物体边缘点等。
2、提取描述子:对于检测出的角点,用一些数学上的特征对其进行描述,如梯度直方图,局部随机二值特征等。检测子和描述子的常用提取方法有:sift,harris,surf,fast,agast,brisk,freak,brisk,brief/orb等。
3、匹配:通过各个角点的描述子来判断它们在两张图像中的对应关系,常用方法如 flann等。
4、消噪:去除错误匹配的外点,保留正确的匹配点。常用方法有KDTREE,BBF,Ransac,GTM等。
二、SIFT匹配方法的提出
为了排除因为图像遮挡和背景混乱而产生的无匹配关系的关键点,SIFT的作者Lowe提出了比较最近邻距离与次近邻距离的SIFT匹配方式:取一幅图像中的一个SIFT关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率ratio少于某个阈值T,则接受这一对匹配点。因为对于错误匹配,由于特征空间的高维性,相似的距离可能有大量其他的错误匹配,从而它的ratio值比较高。显然降低这个比例阈值T,SIFT匹配点数目会减少,但更加稳定,反之亦然。
Lowe推荐ratio的阈值为0.8,但作者对大量任意存在尺度、旋转和亮度变化的两幅图片进行匹配,结果表明ratio取值在0. 4~0. 6 之间最佳,小于0. 4的很少有匹配点,大于0. 6的则存在大量错误匹配点,所以建议ratio的取值原则如下:
ratio=0. 4:对于准确度要求高的匹配;
ratio=0. 6:对于匹配点数目要求比较多的匹配;
ratio=0. 5:一般情况下。
三、常见的SIFT匹配代码
1、vlfeat中sift toolbox中的vl_ubcmatch.c使用的是普通的欧氏距离进行匹配(该SIFT代码贡献自Andrea
Vedaldi)。
2、Lowe的C++代码中使用的是欧氏距离,但是在matlab代码中为了加速计算,使用的是向量夹角来近似欧氏距离:先将128维SIFT特征向量归一化为单位向量(每个数除以平方和的平方根),然后点乘来得到向量夹角的余弦值,最后利用反余弦(acos函数)求取向量夹角。实验证明Lowe的办法正确率和耗时都很不错。
同样,也可以采用knnsearch函数求最近点和次近点:knnsearch采用euclidean距离时得到的结果与lowe采用的近似方法结果几乎一致,正好印证了模拟欧氏距离的效果。
3、Rob Hess的OpenSIFT采用了KDTREE来对匹配进行优化。
4、CSDN大神v_JULY_v实现了KDTREE+BBF对SIFT匹配的优化和消除错误匹配:从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
- 结构之法 算法之道 - 博客频道 - CSDN.NET。
5、OpenCV中features2d实现的SIFT匹配有多种matcher:VectorDescriptorMatcher,BFMatcher(Brute-force descriptor matcher),FernDescriptorMatcher,OneWayDescriptorMatcher,FlannBasedMatcher 等等。目前只知道采用knnsearch,提供了多种距离度量方式,具体区别不懂。
⑧ 谁有Java写的SURF特征匹配算法啊,急用!!!
要比较好的实现的话去WEKA源码里面找,或者http://www.helsinki.fi/~holler/datamining/algorithms.html也有~
不过其实要把人家写的读懂也挺烦的,Apriori是很基本的,Java也有很多好用的集合类,加把劲一天就能写个能用的出来~
⑨ 基于局部特征的图像匹配与识别有哪些方法
从图像中提取的特征可以组成一个向量,两个图像之间可以通过定义一个距离或者相似性的测量度来计算相似程度。
特征匹配是图像检索的一个关键环节,具有特征依赖的特点,不同的特征应该采用不同的度量方法。在检索的过程中,根据系统相似性度量的算法计算查询特征与特征库中对应的每组特征的相似程度,把所得结果由大到小排序后得到一个匹配图像序列返回给用户。其间可以通过人机交互,对检索的结果逐步求精,不断缩小匹配集合的范围,从而定位到目标。匹配过程常利用特征向量之间的距离函数来进行相似性度量,模仿人类的认知过程,近似得到数据库的认知排序。常用的距离度量公式有:Minkkowsky距离,Manhattan距离,Euclidean距离,加权Euclidean距离,Chebyshev距离,Mahalanobis距离等。
其中,Manhattan 距离计算简单,效果也较好,被广泛采用;加权Euclidean 距离考虑了不同分量的重要性,也较为常用;Mahalanobis 距离考虑了样品的统计特性和样品之间的相关性,在聚类分析中经常用到。当采用综合特征进行检索时,需要对各特征向量进行归一化,以使得综合特征的各特征向量在相似距离计算中地位相同。
⑩ 双目视觉的匹配算法是不是有好几种具体是哪几种
与普通的图像模板匹配不同的是,立体匹配是通过在两幅或多幅存在视点差异、几何畸变、灰度畸变、噪声干扰的图像对之间进行的,不存在任何标准模板进行匹配。立体匹配方法一般包含以下三个问题:(1)基元的选择,即选择适当的图像特征如点、直线、相位等作为匹配基元;(2)匹配的准则,将关于物理世界的某些固有特征表示为匹配所必须遵循的若干规则,使匹配结果能真实反映景物的本来面目;(3)算法结构,通过利用适当的数学方法设计能正确匹配所选择基元的稳定算法。
根据匹配基元的不同,立体视觉匹配算法目前主要分为三大类,即区域匹配、相位匹配和特征匹配:
基于区域灰度的匹配算法是把一幅图像(基准图)中某一点的灰度邻域作为模板,在另一幅图像(待匹配图)中搜索具有相同(或相似)灰度值分布的对应点邻域,从而实现两幅图像的匹配。这类算法的性能取决于度量算法及搜索策略的选择。另外,也必须考虑匹配窗口大小、形式的选择,大窗口对于景物中存在的遮挡或图像不光滑的情况会更多的出现误匹配,小窗口则不具有足够的灰度变化信息,不同的窗口形式对匹配信息也会有不同的影响。因此应该合理选取匹配区域的大小和形式来达到较好的匹配结果。
相位匹配是近二十年发展起来的一种匹配算法,相位作为匹配基元,即认为图像对中的对应点局部相位是一致的。最常用的相位匹配算法有相位相关法和相位差——频率法,虽然该方法是一种性能稳定、具有较强的抗辐射抗透视畸变能力、简单高效、能得到稠密视差图的特征匹配方法。但是,当局部结构存在的假设不成立时,相位匹配算法因带通输出信号的幅度太低而失去有效性,也就是通常提到的相位奇点问题,在相位奇点附近,相位信息对位置和频率的变化极为敏感,因此用这些像素所确定的相位差异来衡量匹配误差将导致极不可靠的结果。此外,相位匹配算法的收敛范围与带通滤波器的波长有关,通常要考虑相位卷绕,在用相位差进行视差计算时,由于所采用的相位只是原信号某一带通条件下的相位,故视差估计只能限制在某一限定范围之内,随视差范围的增大,其精确性会有所下降。
基于特征的图像匹配方法是目前最常用的方法之一,由于它能够将对整个图像进行的各种分析转化为对图像特征(特征点、特征曲线等)的分析的优点,从而大大减小了图像处理过程的计算量,对灰度变化、图像变形、噪音污染以及景物遮挡等都有较好的适应能力。
基于特征的匹配方法是为使匹配过程满足一定的抗噪能力且减少歧义性问题而提出来的。与基于区域的匹配方法不同,基于特征的匹配方法是有选择地匹配能表示景物自身特性的特征,通过更多地强调空间景物的结构信息来解决匹配歧义性问题。这类方法将匹配的搜索范围限制在一系列稀疏的特征上。利用特征间的距离作为度量手段,具有最小距离的特征对就是最相近的特征对,也就是匹配对。特征间的距离度量有最大最小距离、欧氏距离等。
特征点匹配算法严格意义上可以分成特征提取、特征匹配和消除不良匹配点三步。特征匹配不直接依赖于灰度,具有较强的抗干扰性。该类方法首先从待匹配的图像中提取特征,用相似性度量和一些约束条件确定几何变换,最后将该变换作用于待匹配图像。匹配中常用的特征基元有角点、边缘、轮廓、直线、颜色、纹理等。同时,特征匹配算法也同样地存在着一些不足,主要表现为:
(l)特征在图像中的稀疏性决定了特征匹配只能得到稀疏的视差场,要获得密集的视差场必须通过使用插值的过程,插值过程通常较为复杂。
(2)特征的提取和定位的准确与否直接影响特征匹配结果的精确度。
(3)由于其应用场合的局限性,特征匹配往往适用于具有特征信息显着的环境中,在缺少显着主导特征环境中该方法有很大困难。
总之,特征匹配基元包含了算法编程上的灵活性以及令人满意的统计特性。算法的许多约束条件均能清楚地应用于数据结构,而数据结构的规则性使得特征匹配非常适用于硬件设计。例如,基于线段的特征匹配算法将场景模型描绘成相互联结的边缘线段,而不是区域匹配中的平面模型,因此能很好地处理一些几何畸变问题,对对比度和明显的光照变化等相对稳定。特征匹配由于不直接依赖于灰度,计算量小,比基于区域的匹配算法速度快的多。且由于边缘特征往往出现在视差不连续的区域,特征匹配较易处理立体视觉匹配中的视差不连续问题。