是否有在 GPU 上实现的检测器 scale/rotate-invariant?
Are there any detectors which implemented on GPU and are scale/rotate-invariant?
OpenCV 2.4.9.0 中已知的是这些特征检测器:SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB
。
- http://docs.opencv.org/modules/features2d/doc/feature_detection_and_description.html
- http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html
所有这些都在 CPU 上实现,但只有 FAST
和 ORB
在 GPU 上实现。 http://docs.opencv.org/genindex.html
众所周知,有些是 scale/rotate-invariant,但有些不是:Are there any fast alternatives to SURF and SIFT for scale-invariant feature extraction?
这些是尺度不变和旋转不变的:
- 筛选
- 冲浪
- 轻快
- 怪胎
- 星级
但是这些不是尺度不变的,也不是旋转不变的:
- 快速
- ORB
是否有在 GPU 上实现的检测器scale/rotate-invariant?
或者会在 GPU 或 OpenCL 上的 OpenCV 3.0 中添加?
实际上,SURF 是 OpenCV 中唯一 scale/rotate-invariant 具有 GPU 支持的特征检测器。
在 OpenCV 3.0 中 FAST and ORBhave got OCL support and moreover, these two (FAST and ORB) 已经获得 CUDA 支持。
OCL/CUDA支持SURF has been already mentioned in the comments of your question, but it is only a contribution to OpenCV and this is how OpenCV's developers about opencv_contrib:
New modules quite often do not have stable API, and they are not
well-tested. Thus, they shouldn't be released as a part of official
OpenCV distribution, since the library maintains binary compatibility,
and tries to provide decent performance and stability.
根据我之前的经验,OpenCV对SURF特性的实现要比OpenSURF弱很多。试一试,或者找一些其他的开源实现也是合理的。
p.s.:
据我所知,仍然没有 KAZE/AKAZE.
的 GPU 加速版本
我最近与几位同事使用 CUDA 实现了 AKAZE,如果您熟悉原始库,那么使用它应该没有问题,因为我们尊重 API。您可以在此处找到当前版本:
OpenCV 2.4.9.0 中已知的是这些特征检测器:SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB
。
- http://docs.opencv.org/modules/features2d/doc/feature_detection_and_description.html
- http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html
所有这些都在 CPU 上实现,但只有 FAST
和 ORB
在 GPU 上实现。 http://docs.opencv.org/genindex.html
众所周知,有些是 scale/rotate-invariant,但有些不是:Are there any fast alternatives to SURF and SIFT for scale-invariant feature extraction?
这些是尺度不变和旋转不变的:
- 筛选
- 冲浪
- 轻快
- 怪胎
- 星级
但是这些不是尺度不变的,也不是旋转不变的:
- 快速
- ORB
是否有在 GPU 上实现的检测器scale/rotate-invariant?
或者会在 GPU 或 OpenCL 上的 OpenCV 3.0 中添加?
实际上,SURF 是 OpenCV 中唯一 scale/rotate-invariant 具有 GPU 支持的特征检测器。
在 OpenCV 3.0 中 FAST and ORBhave got OCL support and moreover, these two (FAST and ORB) 已经获得 CUDA 支持。
OCL/CUDA支持SURF has been already mentioned in the comments of your question, but it is only a contribution to OpenCV and this is how OpenCV's developers about opencv_contrib:
New modules quite often do not have stable API, and they are not well-tested. Thus, they shouldn't be released as a part of official OpenCV distribution, since the library maintains binary compatibility, and tries to provide decent performance and stability.
根据我之前的经验,OpenCV对SURF特性的实现要比OpenSURF弱很多。试一试,或者找一些其他的开源实现也是合理的。
p.s.: 据我所知,仍然没有 KAZE/AKAZE.
的 GPU 加速版本我最近与几位同事使用 CUDA 实现了 AKAZE,如果您熟悉原始库,那么使用它应该没有问题,因为我们尊重 API。您可以在此处找到当前版本: