特征点的匹配正确衡量标准与量化

原文连接:https://blog.csdn.net/cgwang_1580/article/details/68944319html

另外还有一篇文章写的也不错:http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/web

目前图像匹配中,局部特征匹配占据了绝大部分,经常使用的局部特征匹配方法有Harris、SIFT、SURF、ORB等等,不一样的特征点检测和匹配方法尤为独特的优点和不足; 算法

特征点匹配通过Ransac算法优化后仍存在错误匹配点对,须要优化后的匹配结果进行量化评价; 
特征点检测和匹配评价通常包括两个部分,分别为检测和匹配的评价。

一、特征点检测评价

评价特征点检测方法的优劣经常用到repeatability(重复率)这个概念。 
《a performance evaluation of local descriptors》一文提出了特征点检测器和匹配结果的评价准则,个人理解是:图A、B是两幅待匹配图像,图A映射到图B有一个单应性矩阵H1,图B映射到图A有单应性矩阵H2,图A检测出N1个特征点,图B检测出N2个特征点,由于图像A和B有部分图像不重叠,故将A图检测的特征点坐标由H1算出在B图的坐标,去掉不合格(计算结果超出在B图像坐标)的特征点,剩下的特征点数记为n1;一样,B图的特征点通过处理剩下n2个;分母即是min(n1, n2)。将图A剩下的特征点由H1计算出在图B中的坐标,与图B检测出的特征点的坐标求距离,即dist(h1*a1, b1),若距离小于阈值ε,则认为是重复的,这么作是由于获得的单应性矩阵不必定彻底精确以及一些别的偏差缘由。数据库

《An affine invariant interest point detector》中对repeatability定义进行了延伸,针对affine invariant的图像特征点。 
app

repeability

repeatability计算式的分母能够和原来定义相同,分子的定义correspondence知足两个条件: 
一、同以前定义,即设定ε=1.5; 
二、regions映射到另外一幅图像中重叠偏差小于0.2。 
这里第二点是由于特征点检测器获得的特征点其实是根据特征点附近区域计算梯度来选取特征点,实际上检测的特征区域(region),如Harris-Affine检测的是一个椭圆区域,SIFT检测的是一个圆形区域;当左图一特征点区域在通过乘上单应性矩阵H后实际,该区域会发生变化,因此须要判断变化以后的区域与右图某一特征点区域的重叠偏差,偏差<0.2,则判断自是一对特征点。 
优化

这里写图片描述


二、特征点匹配评价

特征点匹配的评价通常涉及到两个概念,即Recall(召回率)和Precision(精确率),咱们先来了解一下这两个概念。 
精确率和召回率是普遍用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。 
——精确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率; 
——召回率是指检索出的相关文档数和文档库中全部的相关文档数的比率,衡量的是检索系统的查全率。 
在信息检索中:lua

  1. 精确率 = 提取出的正确信息条数 / 提取出的信息条数
  2. 召回率 = 提取出的正确信息条数 / 样本中的信息条数

下面是一个很是经典的解释Recall和Precision的图,我作了一点儿说明: 
spa

这里写图片描述

Precision和Recall指标有时候会出现的矛盾的状况,能够绘制Precision-Recall曲线,曲线越靠上部,结果越好。.net

对比信息检索的评价,在特征点匹配时: 
A指的是实际为匹配点对,且该匹配算法获得了这些匹配对; 
B指的是实际为匹配点对,但该匹配算法没有获得这些匹配对; 
C指的是实际为错误匹配对,但该算法获得了这些匹配对; 
即Precision为匹配结果中有多少是准确的,Recall就是全部正确的匹配结果有多少经过匹配算法获得了。3d

在第一部分中已经说明了根据两图像间的单应性矩阵H计算两个特征点是否重复,这里设置一个correspondence变量,做为重复特征点的数量,则匹配结果评价的两个参数Precision和Recall有以下公式: 

这里写图片描述 

这里写图片描述

公式中,#correct matches表示匹配结果中正确匹配点对,#correspondences表示特征点检测时重复特征点对(特征点重复即认为实际为正确匹配点对,但可能被匹配算法匹配上,也可能未匹配上),#false matches表示匹配结果中错误匹配点对。其中,正确与错误匹配点对能够用上面提到的两个判断特征点是否重复的条件来断定。

所以,在评价特征点匹配结果时,首先应当知道两个图像间的单应性矩阵H,而后经过特征点检测算法获得左右图像中的特征点信息,根据单应性矩阵获得重复特征点数,即#correspondences;接着由特征点匹配算法获得的匹配结果计算Precision和Recall,绘制1-precision和recall曲线,曲线靠上方的结果较出色! 
参考曲线图: 

这里写图片描述 
(图片来源——《A Performance Evaluation of Local Descriptors》)


以上内容为个人理解,可能存在理解不当的地方,欢迎指正!

转载请注明出处:图像特征点检测与匹配评价准则——量化

参考资料: 
介绍Precision和Recall的博客: 
http://blog.csdn.net/pirage/article/details/9851339 
http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/ 
文章《A Performance Evaluation of Local Descriptors》 
https://www.robots.ox.ac.uk/~vgg/research/affine/det_eval_files/mikolajczyk_pami2004.pdf 
K Mikolajczyk大神的特征点重复率计算相关代码: 
http://www.robots.ox.ac.uk/~vgg/research/affine/descriptors.html#binaries 
特征点检测匹配标准数据库: 

http://www.robots.ox.ac.uk/~vgg/data/data-aff.html


另附另外一篇文章的讲解过程:

下面简单列举几种经常使用的推荐系统评测指标:

一、准确率与召回率(Precision & Recall)

准确率召回率是普遍用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中全部的相关文档数的比率,衡量的是检索系统的查全率

通常来讲,Precision就是检索出来的条目(好比:文档、网页等)有多少是准确的,Recall就是全部准确的条目有多少被检索出来了。

正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:

    1. 正确率 = 提取出的正确信息条数 /  提取出的信息条数     

    2. 召回率 = 提取出的正确信息条数 /  样本中的信息条数    

二者取值在0和1之间,数值越接近1,查准率或查全率就越高。   

    3. F值  = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)

不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。如今以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别以下:

正确率 = 700 / (700 + 200 + 100) = 70%

召回率 = 700 / 1400 = 50%

F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看若是把池子里的全部的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:

正确率 = 1400 / (1400 + 300 + 300) = 70%

召回率 = 1400 / 1400 = 100%

F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%        

因而可知,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这两者指标的评估指标,用于综合反映总体的指标。

固然但愿检索结果Precision越高越好,同时Recall也越高越好,但事实上这二者在某些状况下有矛盾的。好比极端状况下,咱们只搜索出了一个结果,且是准确的,那么Precision就是100%,可是Recall就很低;而若是咱们把全部结果都返回,那么好比Recall是100%,可是Precision就会很低。所以在不一样的场合中须要本身判断但愿Precision比较高或是Recall比较高。若是是作实验研究,能够绘制Precision-Recall曲线来帮助分析。

二、综合评价指标(F-Measure)

P和R指标有时候会出现的矛盾的状况,这样就须要综合考虑他们,最多见的方法就是F-Measure(又称为F-Score)。

F-Measure是Precision和Recall加权调和平均

当参数α=1时,就是最多见的F1,也即

可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

三、E值

E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式:

b越大,表示查准率的权重越大。

四、平均正确率(Average Precision, AP)

平均正确率表示不一样查全率的点上的正确率的平均。

原文连接:http://blog.csdn.net/taohuaxinmu123/article/details/9833001