前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何编译OpenCV4.1.0支持OpenVINO推断引擎加速支持

如何编译OpenCV4.1.0支持OpenVINO推断引擎加速支持

作者头像
OpenCV学堂
发布2019-08-23 16:47:56
4.9K3
发布2019-08-23 16:47:56
举报

OpenVINO开发使用系列教程第十篇,如何编译OpenCV + OpenVINO支持,实现自定义版本OpenCV加速支持。好东西记得要分享!

OpenVINO自发布以来,依靠其强大的加速性能,在CPU上进行深度学习模型加速优势,迅速受到很多公司与开发者的青睐,但是如何从OpenCV源码编译生成OpenVINO的inferinference engine(IE)加速推理支持的OpenCV版本,一直是很多开发者头疼的事情,很多人都不得不使用OpenVINO官方编译的OpenCV支持版本,无法实现从源码开始的定制化的OpenCV版本编译。本人从2018年12月份开始研究OpenVINO开发技术,上半年也发布一系列的OpenVINO开发技术相关文章,得到了大家热烈响应,今天我们就来很详细的一步一步的教大家如何从OpenCV源码开始在windows10系统下如何编译IE加速版本的OpenCV安装包,并如何配置与测试IE支持之后的OpenCV DNN的卓越性能。

软件安装

首先需要下载安装OpenVINO,可以选择最新版本2019 R01或者稳定版本2018 R05。OpenVINO安装需要预先安装以下软件:

  • Python3.6.x
  • CMake3.13.x
  • VS2017/VS2015
  • opencv 4.1.0

这里需要特别注意下,OpenVINO本身不支持Python3.7版本。所以千万别安装Python3.7以上版本!关于OpenVINO的安装详细信息请看以前公众号发的文章:

使用OpenVINO ToolKit 实时推断

安装好OpenVINO之后,千万别忘记执行下面的配置脚本:

代码语言:javascript
复制
C:\Intel\computer_vision_sdk_2018.5.456\bin\setupvars.bat

如果你没有改动安装路径,双击这个执行即可!

下载与解压OpenCV4.1源码,下载地址如下:

代码语言:javascript
复制
https://opencv.org/opencv-4-1/

下载完成之后解压缩好 OpenCV4.1.0,我的解压缩之后的为:

D:\opencv_4.1.0\opencv下

  • build
  • source

两个目录

cmake编译

打开cmake,设置好源代码路径与编译输出路径分别为

代码语言:javascript
复制
- D:\opencv_4.1.0\opencv\sources
- D:\opencv_4.1.0\opencv\newbuild

图示如下:

然后点击【configure】,第一次点击configure会弹出对话框,设置如下:

然后点击【finish】即可开始配置。

这个时候会有一些依赖需要下载,一定要保持网络稳定,如果无法下载就会出现无法编译的错误,正常一次不成功的话,就继续点击【Configure】按钮,直到配置成功,配置好之后,如果前面OpenVINO已经成功安装的话,请把下面的选项勾上

  • WITH_INF_ENGINE
  • WITH_TBB
  • BUILD_opencv_world

去掉勾选

  • BUILD_opencv_python3
  • BUILD_opencv_python_bindings_generator

然后再次点击【Configure】按钮, 运行结束之后,设置

InferenceEngine_DIR 为:

代码语言:javascript
复制
C:\Intel\openvino_2019.1.148\deployment_tools\inference_engine\share

其实就是指向你OpenVINO安装目录下IE的share文件夹

然后点击【Generate】按钮,就会成功生成一个VS工程项目。

VS2015工程编译

在newbuild目录下找到

OpenCV.sln 文件双击打开VS工程!

选择 【ALL BUILD】右键 ->生成

运行完成之后,选择 【INSTALL】右键 ->生成,

得到输出在install\x64\vc14\bin是DEBUG版本的DLL文件,截图如下:

切换到release模型下,继续执行上述两步操作,即可得到支持IE的OpenCV4.1的release版本。我的最终生成结果(这个生成过程可能需要等待一会)

配置与测试

对编译生成好的OpenCV4.1.0安装包的配置可以分为如下五步:

配置包含目录

配置库目录

配置连接器

配置环境变量

代码语言:javascript
复制
D:\opencv_4.1.0\opencv\newbuild\install\x64\vc14\bin

最后一步重启VS,对OpenCV配置不清楚的具体看这里的视频:

代码语言:javascript
复制
https://www.bilibili.com/video/av36486959

重新VS之后,打开我本机之前的人脸检测程序,把加载网络之后的设置计算后台的代码函数API代码:

代码语言:javascript
复制
net.setPreferableBackend(DNN_BACKEND_OPENCV)

修改为:

代码语言:javascript
复制
net.setPreferableBackend(DNN_BACKEND_INFERENCE_ENGINE)

程序从之前的每秒不到4帧,提升到现在每秒35帧左右,有图位证:

参考链接:

https://github.com/opencv/dldt https://software.intel.com/en-us/openvino-toolkit http://space.bilibili.com/365916694/#/ https://cmake.org/,

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档