我正在尝试制作一个基于描述符的检测器。我正在使用 OpenCV,我发现有很多特征类型和描述符类型,以及匹配器类型。更多我还看到可以有诸如网格或金字塔之类的组合类型作为特征类型。
我还没有找到对它们的很好的解释(除了金字塔,它说这很好”对于本质上不缩放的探测器 http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=featuredetector#pyramidadaptedfeaturedetector“)。我想要对每种类型和每种组合(特征描述符匹配器)有一个简短的描述,以提出一个想法,而不是创建一个详尽的工作来搜索和验证每个可能的组合。
有人知道这方面的更多信息吗?
期限feature通常用于两种不同的事情:
- feature 探测器,
- feature 描述符.
探测器的目标是……嗯……检测好的有趣点,即在视点和照明变化下稳定的点,并且在单应性估计或对象检测等任务中产生良好性能的点。
描述符旨在达到良好的匹配性能对于在所述视点和光照变化下检测到的点。
设计了一些点单独地,没有任何描述符。对于大多数人来说都是这种情况最古老的兴趣点(Moravec,Harris,好的功能)和最近的一小部分(FAST)。
然后,通过以下方式实现了重大性能改进:点检测器和描述符的协同设计,这就是采用的方法筛选和冲浪。
为了简单起见,描述符没有被赋予特定的名称(尽管您可以注意到 SIFT 描述符和 HoG 特征彼此非常接近)。
这些描述符是实际价值(即浮点向量)。
最后,为了有快速运行时间在有限的硬件上,设计了原创的关键点检测器(FAST)。 FAST 依赖于简单binary测试。
然后使用相同的二进制测试方法来设计描述符,这就是您如何获得 Brief、BRISK、FREAK、ORB...
因此,你得到的是二进制描述符(比特流)。
最后,如果要总结的话:
- 您可以根据需要交叉描述符和检测器。请注意,当检测器没有尺度时,您可能必须为需要它的描述符(SIFT、SURF)猜测一个(或强加一个默认尺度);
- 只要每个图像具有相同类型的描述符,就可以使用任何匹配器。不同的是匹配器使用的特征距离;
- SIFT 和 SURF 是实际价值,因此需要使用匹配L2距离。最近的描述符(BRIEF、BRISK、FREAK、ORB)是binary并且距离必须用Hamming距离。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)