8

我想知道 OpenCV 库是否有多核支持。我正在试验 Haar 级联,它在我的 Raspberry 2 上非常慢,它有四个内核,但我的应用程序目前只在一个内核上运行。

有任何想法吗?

4

3 回答 3

6

CascadedDetect具有多核支持。

WITH_TBB使用或(或 OpenCV 支持的任何其他线程框架)标志重新编译 OpenCVWITH_OPENMP以启用它。

于 2015-03-26T20:40:59.597 回答
1

我对 中的类进行了简要介绍CascadeClassifiermodules\objdetect\src\cascadedetect.cpp并且似乎使用parallel_for_内置的 OpenCV 多线程工具完成了合理数量的实现。

不过,您的里程可能会有所不同。至少在训练阶段似乎有很多顺序代码,正如OpenCV 支持论坛中的这个线程所暗示的那样。

因此,如果您可以让 OpenCV 使用 OpenMP(可能是最容易设置的)、TBB 或类似工具进行编译,那么您应该很高兴。

希望有帮助!

于 2015-03-26T20:35:33.143 回答
1

最近我发现了一个Simd Library,它实现了 HAAR 和 LBP 级联分类器。它可以使用来自 OpenCV 的标准 HAAR 和 LBP 级联。此实现通过使用 SSE4.1、AVX2 和 NEON(ARM) 进行了 SIMD 优化。

我没有检查过 Raspberry 2,但我检查过 Raspberry 3(它的工作速度比原始 OpenCV 实现快约 2 倍)。

于 2016-11-22T06:27:15.997 回答