欢迎转载,转载请注明出处,谢谢!
图像特征点检测与匹配评价——量化
目前图像匹配中,局部特征匹配占据了绝大部分,常用的局部特征匹配方法有Harris、SIFT、SURF、ORB等,不同的特征点检测和匹配方法都有的优势和不足。因此,需要一种量化的方法来评价不同算法的效率。
特征点匹配包括特征点检测和匹配两个过程,因此对于匹配算法的评价也分为特征点检测评价和匹配结果评价。
特征点检测评价
评价特征点检测方法的优劣常常用到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的图像特征点有如下解释:
repeatability计算式的分母可以和原来定义相同,分子的定义correspondence满足两个条件:
- 同之前定义,即设定
ε=1.5
; - regions映射到另一幅图像中重叠误差小于0.2。
这里第二点是因为特征点检测器得到的特征点是根据特征点附近区域计算梯度来选取特征点,实际上检测的特征区域(region),如Harris-Affine检测的是一个椭圆区域,SIFT检测的是一个圆形区域;当左图一特征点区域在经过乘上单应性矩阵H后实际,该区域会发生变化,所以需要判断变化之后的区域与右图某一特征点区域的重叠误差,误差error<0.2
,则判断自是一对特征点。
特征点匹配评价
特征点匹配最重要的是匹配精度,虽然可以使用Ransac等算法及其改进算法对匹配结果进行优化,但优化后可能仍存在较多错误匹配点对。因此,需要对最终匹配结果进行量化,从而评价不同特征点匹配算法的优劣。
特征点匹配的评价一般涉及到两个概念,即Recall(召回率)和Precision(精确率),我们先来了解一下这两个概念。
精确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。
- 精确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;
- 召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。
在信息检索中:
- 精确率 = 提取出的正确信息条数 / 提取出的信息条数
- 召回率 = 提取出的正确信息条数 / 样本中的信息条数
下面是一个非常经典的解释Recall和Precision的图,我做了一点儿说明:
Precision和Recall指标有时候会出现的矛盾的情况,可以绘制Precision-Recall曲线,曲线越靠上部,结果越好。
对比信息检索的评价,在特征点匹配时:
- A指的是实际为匹配点对,且该匹配算法得到了这些匹配对;
- B指的是实际为匹配点对,但该匹配算法没有得到这些匹配对;
- C指的是实际为错误匹配对,但该算法得到了这些匹配对;
即Precision为匹配结果中有多少是准确的,Recall就是所有正确的匹配结果有多少通过匹配算法得到了。
在第一部分中已经说明了根据两图像间的单应性矩阵H计算两个特征点是否重复,这里设置一个correspondence变量,作为重复特征点的数量,则匹配结果评价的两个参数Precision和Recall有如下公式:
上述公式中,#correct matches
表示匹配结果中正确匹配点对,#correspondences
表示特征点检测时重复特征点对(特征点重复即认为实际为正确匹配点对,但可能被匹配算法匹配上,也可能未匹配上),#false matches
表示匹配结果中错误匹配点对。其中,正确与错误匹配点对可以用上面提到的两个判断特征点是否重复的条件来判定。
因此,在评价特征点匹配结果时,首先应当知道两个图像间的单应性矩阵H
,然后通过特征点检测算法得到左右图像中的特征点信息,根据单应性矩阵得到重复特征点数,即#correspondences
。接着,由特征点匹配算法得到的匹配结果计算Precision和Recall,绘制1-precision和recall曲线,曲线靠上方的结果较出色!
参考曲线图:
(图片来源——《A Performance Evaluation of Local Descriptors》)
以上内容为我的理解,可能存在理解不当的地方,欢迎指正!
转载请注明出处:图像特征点检测与匹配评价准则——量化
参考阅读
介绍Precision和Recall的博客:
推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
《A Performance Evaluation of Local Descriptors》
K Mikolajczyk大神的特征点重复率计算相关代码:
Affine Covariant Features
特征点检测匹配标准数据库:链接已失效…