gpt4 book ai didi

opencv - 为什么 opencv FREAK extractor 删除了这么多关键点,特别是使用 ORB 检测器

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:28 24 4
gpt4 key购买 nike

我正在使用 OpenCV 2.4.3 c++ 接口(interface)来查找两个图像之间的匹配点。第一次尝试是使用 SURF。唯一的问题是耗时,所以我尝试了新的 FREAK 提取器。使用 SURF 进行检测并使用 FREAK 进行描述,我意识到 FREAK 将关键点的数量减少到检测到的几乎一半,并且得到的匹配还不够。这就是原因,我尝试快速获取更多关键点。结果:

  1. SURF 检测器、SURF 提取器、BFMatcher 交叉校验为真、RANSAC:第一张图像 70 个关键点,第二张图像 50 个关键点,200 毫秒。 250 毫秒。 15 毫秒。 15 毫秒。
  2. SURF 检测器、FREAK 提取器、BFMatcher 交叉校验为真、RANSAC:第一张图像有 39 个关键点,第二张图像有 30 个关键点(在 FREAK 之后),200 毫秒,50 毫秒。 , 0 毫秒。, 0 毫秒。导致好的匹配太少。
  3. FAST 检测器、FREAK 提取器、BFMatcher 交叉校验为真、RANSAC:120 个关键点、90 个关键点(在 FREAK 之后有 69 个和 48 个关键点)、10 毫秒、450 毫秒、15 毫秒、10 毫秒。

在那之后,我使用了 ORBFeatureDetector,它获得了与 FAST 相同数量的关键点,但在 FREAK 提取器之后,每张图像的结果关键点为 0。难道我做错了什么? ORB 关键点与从 FAST 获得的关键点不同吗?也许我可以为此提出另一个问题,但我有最后一个问题。什么是检测器/提取器的最佳组合来获得与我使用 SURF 的第一个实验相同的结果,但减少了处理时间?因为当我获得更多关键点时,提取器部分也更耗时,尽管我使用 FREAK。

最佳答案

如果 FREAK 不能为它生成描述符,它就会删除点,很多时候这发生在图像的边界,因为如果它落在边界图像之外,它就不能生成描述符。我通过在提取前应用 ROI 来避免这个问题。

我也将 FAST 与 FREAK 结合使用,我得到了最好的结果,但我仍然有减少提取时间的问题,这对我来说太长了。

关于opencv - 为什么 opencv FREAK extractor 删除了这么多关键点,特别是使用 ORB 检测器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14438030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com