我可以在OpenCV上使用gpu :: Stream for CascadeClassifier_GPU吗?

时间:2014-12-17 17:16:21

标签: opencv cuda gpgpu nvidia opencv3.0

我使用Opencv 2.4.10(当前稳定版)。我使用gpu::CascadeClassifier_GPU::detectMultiScale来检测面部。我希望将 async 与我在单独cudaStream_t中启动的CUDA内核代码一起使用。但默认情况下CascadeClassifier_GPU启动默认零流,无法在GPU上启动任何异步。

正如我在此处所见,gpu::Stream无法使用CascadeClassifier_GPUOpenCV DOC link

  • 我可以gpu::Stream使用CascadeClassifier_GPU吗?
  • 如果不是,那么我可以在哪个版本的OpenCV中使用它?

更新:到目前为止,我找到了唯一的方法 - 使用单独的CPU线程来执行gpu::CascadeClassifier_GPU::detectMultiScale的功能并在单独的GPU上执行。但至少我需要 2 GPU。

1 个答案:

答案 0 :(得分:2)

CascadeClassifier_GPU使用混合的GPU / CPU实现并在内部执行额外的同步,这就是为什么它不支持具有gpu::Stream参数的异步模式的原因。为了与代码异步启动它,您需要为它使用单独的CPU线程。