0

我正在玩 OpenCVMixed Processing教程,在使用 FAST 检测器检测相机帧中的特征时,我体验到了良好的帧率(~27)。

我将检测器更改为 ORB,帧速率下降到 10 左右。这是因为 ORB 不如 FAST 快还是我遗漏了什么?

Mat& mGr  = *(Mat*)addrGray;
vector<KeyPoint> v;

OrbFeatureDetector detector(50); 
// FastFeatureDetector detector(50);
detector.detect(mGr, v);
  • 有没有办法调整 ORB 并加快速度?
  • 比方说,是否可以每 5 帧进行一次检测?
4

1 回答 1

4

这是相当典型的行为。FAST之所以如此命名,部分原因是它非常快。事实上,它是我所知道的第二快的特征检测器。FAST 能够实现较高的检测速度,因为它牺牲了尺度和旋转不变性。ORB 试图实现这两者,这需要更多的工作。因此,ORB 较慢。

如果您修改代码来执行此操作,则可以仅每 N 帧进行检测。这可能超出了这个问题的范围。

于 2014-05-09T23:53:31.787 回答