首页 > 解决方案 > ORB 与 FAST 检测器

问题描述

我正在尝试检测整个图像的关键点,因此我尝试将其划分为单元格并在每个单元格上进行检测。但是,我使用 ORB 检测器得到的结果与使用 FAST 检测器的结果不同。对于 ORB,随着单元格数量的增加(更小的单元格),我得到的关键点更少。

下图显示了将图像划分为 10 行和 10 列以及最大关键点 1000 的结果。左侧是 FAST(894 个关键点)的结果,右侧是 Orb 检测器(142 个关键点)的结果。

有人可以向我解释为什么我会得到不同的结果吗?因为我认为 ORB 是基于 FAST 特性的。有没有办法在使用 ORB 时获得与 FAST 相同数量的关键点?

FAST 与 ORB 检测

标签: performanceopencvfeature-detectionorb

解决方案


尽管 ORB 使用 FAST 关键点检测器,但我们在使用 FAST 和 ORB 时必须获得相同数量的关键点并不相同。

ORB 只是建立在 FAST 关键点检测器的基础上,而 FAST 检测器在 ORB 中进行了修改,并且不完全相同(原始检测器)。在 ORB 的官方文件中,它说明了对 ORB 中 FAST 检测器的额外贡献,请查看它。

"FAST does not produce a measure of cornerness, and we have found that it has large 
responses along edges. We employ a Harris corner measure [11] to order the FAST keypoints. 
For a target number N of keypoints, we first set the threshold low enough to get 
more than N keypoints, then order them according to the Harris measure,
and pick the top N points. "

这可能是它为您提供较少关键点的原因之一。我可以建议你只是最小化阈值,这样你就可以获得更多的关键点。


推荐阅读