【问题标题】:Unified distance measure to use in different implementations of OpenCV feature matching?在 OpenCV 特征匹配的不同实现中使用统一距离测量?
【发布时间】:2012-04-12 04:36:27
【问题描述】:

我正在尝试在 OpenCV 中进行一些关键特征匹配,目前我一直在使用 cv::DescriptorMatcher::match,并且正如预期的那样,我得到了很多错误匹配。

在我开始为提取的匹配编写自己的过滤器和修剪程序之前,我想尝试cv::DescriptorMatcher::radiusMatch 函数,它应该只返回比给定float maxDistance 更接近彼此的匹配。

我想为可用的 OpenCV 匹配算法编写一个包装器,以便我可以通过一个接口使用它们,该接口允许额外的功能以及额外的外部(我的)匹配实现。

由于在我的代码中,只有一个具体的类充当 OpenCV 特征匹配的包装器(类似于cv::DescriptorMatcher,它采用特定匹配算法的名称并通过 工厂方法在内部构造它/em>),我还想编写一种通用方法来实现使用cv::DescriptorMatcher::radiusMatch匹配的通用方法,该方法适用于所有不同的匹配器和功能选择(我有一个类似的包装器允许我更改在不同的 OpenCV 特征检测器之间,也实现了一些我自己的)。

不幸的是,在查看了 OpenCV 文档和cv::DescriptorMatcher 界面后,我找不到任何关于用于计算匹配之间实际距离的距离度量的信息。我找到了一个很好的匹配示例here 使用 Surf 特征和描述符,但我没有设法理解参数的特定值的实际含义。

由于我想比较使用不同特征/描述符组合时得到的结果,所以我想知道使用了哪种距离度量(以及是否可以轻松更改),以便我可以使用我尝试了所有组合都有意义的东西。

有什么想法/建议吗?

更新

我刚刚打印出了在使用 cv::DescriptorMatcher::match 和各种特征/描述符组合时得到的特征距离,我得到的是:

  • MSER/SIFT 数量级:100
  • SURF/SURF 数量级:0.1
  • SURF/SIFT 数量级:50
  • MSER/SURF 数量级:0.2

由此我可以得出结论,无论对特征应用哪种距离度量,它都绝对没有标准化。由于我使用 OpenCV 和我自己的接口来处理不同的特征提取、描述符计算和匹配方法,我想为::radiusMatch 提供一些参数,我可以将其用于所有(大多数)不同的组合。 (我尝试使用 BruteForceFlannBased 匹配器进行匹配,虽然匹配略有不同,但对于每个组合,匹配之间的距离都在同一数量级上。


一些上下文:

我正在对从安装在(慢速)移动车辆顶部的摄像头获取的两张照片进行测试。这些图像应该相隔大约 5 帧(1 米的车辆运动),因此大部分特征应该是可见的,并且没有太大差异(尤其是在两张图像中远离相机的那些)。

【问题讨论】:

    标签: opencv distance matching


    【解决方案1】:

    距离的大小确实取决于所使用的特征类型。这是因为一些专门的特征描述符还带有专门的特征匹配器,可以优化使用描述符。如果您想获得不同特征类型的匹配距离的权重,最好的办法可能是制作一个包含十几个或更多 1:1 匹配的训练集,在其上释放每个特征检测器/匹配器,并对距离进行归一化,以便每个检测器在所有匹配中的平均距离为 1。然后,您可以在其他数据集上使用获得的权重。

    【讨论】:

      【解决方案2】:

      你应该看看opencv库中features2d.hpp中的以下函数。

      template<class Distance> void BruteForceMatcher<Distance>::commonRadiusMatchImpl()
      

      通常我们使用L2 距离来测量匹配之间的距离。这取决于您使用的描述符。例如,Hamming distance 对于 Brief 描述符很有用,因为它会计算两个字符串之间的位差。

      【讨论】:

        猜你喜欢
        • 2016-05-03
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-27
        • 1970-01-01
        • 2017-10-14
        • 1970-01-01
        相关资源
        最近更新 更多