问题描述
我正在尝试通过重复性标准评估SIFT和SURF检测器。
i'm trying to evaluate SIFT and SURF Detectors by Repeatability criteria.
我发现以下方法可以找到重复性,SIFT和SURF的对应关系
i find out that below method can find Repeatability ,Correspondence of SIFT and SURF
cv::evaluateFeatureDetector(img_1c, img_2c, h12, &key_points_1, &key_points_2, repeatability, corrCounter);
下面列出了一些结果:
Number Repeatibility Correspond Keypoint 1st Keypoint 2th
1to2 0.7777778 140 224 180
1to3 0.7125 114 224 161
1to4 0.704918 86 224 123
1to5 0.6853933 61 224 89
1to6 0.6521739 45 224 69
第一行可重复性可计算为 - - >(correnspond)/ min(keypoint1st,keypoint2th)=(140/180)= 0.7777778
但是对于其他行,它的值与我用上面的公式计算的值不同。
for first row repeatibility can compute as --> (correnspond)/min(keypoint1st,keypoint2th) = (140/180) = 0.7777778but for other rows it's value is different from what i compute with above formula.
有人可以告诉为什么会发生这种情况吗?
can somebody tell why is that happening?
问候。
推荐答案
我想我可能在这里找到了问题。
I think I may have found the problem here.
重复率是重复次数考虑提取的关键点总数,两个图像之间的点。
为了测量重复点的数量,必须考虑到观察到的场景由于其成像条件的改变而相互不同(在Mikolajczyk数据集的情况下,视点,旋转+比例,模糊等)。
The repeatability rate is the number of repeated points between two images considering the total number of keypoints extracted.For measuring the number of repeated points it has to be taken into account that the observed scenes differ from each other due to their changed imaging condition (viewpoint, rotation + scale, blur, etc in the case of Mikolajczyk dataset).
正在发生的是您正在考虑检测到的所有关键点在第二张用于计算重复性的图像中,实际上只应使用单应性中的关键点。
What is happening is that you're considering all the keypoints detected in the second image for the calculation of repeatability and actually only the keypoints within the homography should be used.
希望这会有所帮助。
这篇关于Opencv可重复性结果没有意义吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!