什么是计算机视觉中的交叉检查

本文关键字:检查 计算机视觉 什么 | 更新日期: 2023-09-27 18:10:22

我查看了EMGU和BrutheForceMatcher的API。如果创建BruteForceMatcher(T)(DistanceType)构造函数,它不会进行交叉检查。但是,我不知道交叉检查是什么,API中似乎也没有提到交叉检查。就EMGU和计算机视觉而言,什么是交叉检查?

什么是计算机视觉中的交叉检查

来自C++API文档:

crossCheck–如果为false,则当BFMatcher为每个查询描述符找到k个最近邻居时,这将是默认的BFMatcher行为。如果crossCheck==true,那么k=1的knnMatch((方法将只返回对(i,j(,这样对于第i个查询描述符,匹配器集合中的第j个描述符是最接近的,反之亦然,即BFMatcher将只返回一致的对。当有足够的匹配时,这种技术通常以最小数量的异常值产生最佳结果。这是D.Lowe在SIFT论文中使用的比率测试的替代方法。


编辑:

根据我的理解,我相信你可以总结以上内容,如果你找到了特征A的最接近的匹配B,则元组(A,B)仅被认为是Consistent Pair,因此如果A也是你的特征B的最接近匹配,则返回。

1D示例:

-----A------B---C

在这种情况下,即使BA的最佳匹配,也不是相反。相反,(B,C)将是您的Consistent Pair

-----A-B---------catr

另一方面,在这里,显然(A,B)是更好的匹配,它将被返回。

(Loewe在文档中提到的另一种方法也已经在SO上讨论过了(