VS2017 OpenCV4.4.0使用Openvino加速dnn模块推理速度

Step0 准备文件

  1. opencv-4.4.0.zip
  2. opencv_contrib-4.4.0.zip
  3. cmake-3.19.1-win64-x64_2.msi
  4. w_openvino_toolkit_p_2020.4.287.exe

Step1 解压文件

安装cmake-3.19.1-win64-x64_2.msi和w_openvino_toolkit_p_2020.4.287.exe,都默认就好。

将opencv-4.4.0.zip解压到文件夹opencv440中

将opencv_contrib-4.4.0.zip解压到文件夹opencv440/opencv_contrib中

Step2 配置opencv和dnn模块加速

配置好openvino的环境变量

打开cmake_gui

设置源文件目录为C:/Users/lenovo/Desktop/opencv440/

设置构建文件目录为C:/Users/lenovo/Desktop/opencv440/build

点击Configure

配置:“VS 15 2017” x64

点击Finish

然后根据下表格配置选项:

选项 内容 说明
OPENCV_EXTRA_MODULES_ATH C:/Users/lenovo/Desktop/opencv440/opencv_contrib/modules 改成自己的modules路径
BUILD_opencv_python_bindings_generator 不勾选
BUILD_opencv_world 勾选
WITH_INF_ENGINE 勾选
OPENCV_ENABLE_NONFREE 勾选 必须勾选

点击Configure

将路径

C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\inference_engine\share

填入到选项InferenceEngine_DIR中。

把选项WITH_NGRAPH选项勾上,要不然编译时候会报错

把选项BUILD_opencv_python_bindings_generator 去掉勾选,

再点击Configure。

注意,点击Configure以后,可能会联网下载一些文件,如果下载不到的话,自己查资料解决一下,保证点击Configure以后不报错

Step3 打开工程

点击Generate,点击OpenProject,这时,vs会打开此工程。

Step4 编译

在项目中的ALL_BUILD上右键,选择生成。

Step5 导出到install

在项目中的INSTALL上右键,选择“仅用于项目”,选择“仅生成INSTALL”。

在install中即可找到编译好的文件。

Debug模式的文件同理。

Step6 加速推理

net.setPreferableBackend(DNN_BACKEND_INFERENCE_ENGINE);   // 不加速时用DNN_BACKEND_OPENCV
net.setPreferableTarget(DNN_TARGET_CPU);

Step7 异常解决

编译之后,在代码中调用过程中,前向推理时会报错,也就是net.forward();时会报错。
在QT中的错误代码是exited with code -1073741515
原因:dll文件缺失。
解决办法,到openvino安装目录下搜索两个文件

ngraph.dll
tbb.dll

上边两个文件,再加上opencv_world440.dll,一共三个文件复制到工程目录下即可。

猜你喜欢

转载自blog.csdn.net/u014117943/article/details/111239528
今日推荐