Skip to content

在 OpenCV 中使用 OpenVINO

本教程提供了如何将 OpenCV 与 OpenVINO 配合使用的安装指南。

自 2021.1.1 版本起,OpenVINO 不再提供预构建的 OpenCV。 如果你直接使用 OpenVINO 运行时或 OpenVINO 示例,这一变化不会对你产生影响:它对 OpenCV 没有强依赖。 但如果你使用的是 Open Model Zoo 的 demo,或将 OpenVINO 运行时作为 OpenCV DNN 的后端,则需要自行获取 OpenCV 构建。

获取 OpenCV 有两种方式:

  • 从其他来源安装预构建的 OpenCV:系统软件仓库、pip、conda、homebrew。通用的预构建 OpenCV 包可能存在若干限制:
    • OpenCV 版本可能已过时
    • OpenCV 可能不包含启用了 OpenVINO 支持的 G-API 模块(例如某些 OMZ demo 会用到 G-API 功能)
    • OpenCV 可能未针对现代硬件进行优化(默认构建需要覆盖广泛的硬件范围)
    • OpenCV 可能不支持 Intel TBB、Intel Media SDK
    • OpenCV DNN 模块可能无法使用 OpenVINO 作为推理后端
  • 针对特定版本的 OpenVINO 从源代码构建 OpenCV。这种方式可以解决上述限制。

遵循上述两种方式的说明请参见 OpenCV wiki。

OpenVINO 后端(DNN_BACKEND_INFERENCE_ENGINE)支持以下目标设备:

  • DNN_TARGET_CPU: 在 CPU 上运行,无需额外的依赖。
  • DNN_TARGET_OPENCL、DNN_TARGET_OPENCL_FP16: 在 iGPU 上运行,需要 OpenCL 驱动。在 Ubuntu 上请安装 intel-opencl-icd。
  • DNN_TARGET_MYRIAD: 在 Intel® VPU 上运行,例如神经计算棒,设置方法见此。
  • DNN_TARGET_HDDL: 在 Intel® Movidius™ Myriad™ X 高密度深度学习 VPU 上运行,详情见此。
  • DNN_TARGET_FPGA: 在 Intel® Altera® 系列 FPGA 上运行,见此。
  • DNN_TARGET_NPU: 在集成的 Intel® AI Boost 处理器上运行,需要 Linux 驱动或 Windows 驱动。