几周前我参加了由 NVIDIA 主办的 Arrayfire 网络研讨会,工程师们展示了一些有趣的图表来比较 ArrayFire 库与 OpenCV CPU(1 线程)和 GPU (CUDA) 的性能。
HARRIS 关键点检测
ORB 关键点检测
我有机会问他们为什么 ArrayFire 加速(通过单线程 CPU 实现)对于大图像会降低。他们回答我说“这是因为 OpenCV CPU 非常有效地处理大规模数据” - 没有提供任何技术细节。
你知道它们可能是什么吗?
最佳答案
我是在 ArrayFire 上同时实现 Harris 和 ORB 并实际绘制了您发布的图表的人。使用的图像样本不同,因此它们具有不同的特征和每个特征比例的不同像素。
ORB 和 Harris 的性能取决于图像的像素数量和特征。在接下来的几周内,我将尝试收集更多数据并获得更一致的每特征像素比来验证这就是原因。
关于opencv - 为什么OpenCV擅长处理大尺度图像的ORB和Harris Keypoints检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627092/