Image processing SIFT可以实时运行吗?

Image processing SIFT可以实时运行吗?,image-processing,data-structures,runtime,real-time,sift,Image Processing,Data Structures,Runtime,Real Time,Sift,是否有任何SIFT的C/C++实现可以在~2.2GHz的处理器和4GB的RAM中实时运行?或者,提取大约2000个关键点的SIFT特征和描述符的最低运行时间是多少。Andrew Vedaldi的C++实现需要3.5秒左右的2000个关键点。一般性地,SIFT的精确实现即使在现代PC机上也不能实时运行。 但是在GPU上有一个实现 更快的选择是冲浪,但仍然不是实时的。我只知道DoH描述符在现代手机上实时运行的一个实现,但它不是公开的 如上所述,SIFT不能实时运行。但是,您可以使用二进制描述符,它提

是否有任何SIFT的C/C++实现可以在~2.2GHz的处理器和4GB的RAM中实时运行?或者,提取大约2000个关键点的SIFT特征和描述符的最低运行时间是多少。Andrew Vedaldi的C++实现需要3.5秒左右的2000个关键点。

一般性地,SIFT的精确实现即使在现代PC机上也不能实时运行。 但是在GPU上有一个实现


更快的选择是冲浪,但仍然不是实时的。我只知道DoH描述符在现代手机上实时运行的一个实现,但它不是公开的

如上所述,SIFT不能实时运行。但是,您可以使用二进制描述符,它提供了一种快速的替代方法,但精度和性能稍差。有关二进制描述符的一系列教程可在此处找到:

导言:

简介:

ORB:

轻快的:

怪胎:

OpenCV使用示例:

您可以使用速度非常快的ORB。 或者调整SIFT/SURF/algorithm选项

OpenCV 3.1.0现在有几种算法,如KAZE和AKAZE——后者可能是最好的图像检测器和描述符,因为它通过(快速显式)扩散尺度空间显示了很好的结果。上一个SIFT&SURF将移动到“额外”存储库


然而,也许您想要的是改进matcher算法。在这种情况下,试着使用FLANN(也在3.1.0中)。

有没有任何实现将2000个关键点的速度降低到甚至1秒,或者Andrew Vedaldi的代码到目前为止在没有并行化的情况下是最快的?你可以与openCV实现进行比较openCV非常慢,结果也不像Andrew VedaldiBut的结果那么好SIFT不仅是描述符,它也是探测器。也许你找不到具有实时性能的探测器,例如640*480分辨率。FAST提供给定分辨率的10-15 fps