加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
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之后,千万别忘记执行下面的配置脚本:
C:\Intel\computer_vision_sdk_2018.5.456\bin\setupvars.bat
如果你没有改动安装路径,双击这个执行即可!
下载与解压OpenCV4.1源码,下载地址如下:
https://opencv.org/opencv-4-1/
下载完成之后解压缩好 OpenCV4.1.0,我的解压缩之后的为:
D:\opencv_4.1.0\opencv下
build
source
两个目录
打开cmake,设置好源代码路径与编译输出路径分别为
- 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 为:
C:\Intel\openvino_2019.1.148\deployment_tools\inference_engine\share
其实就是指向你OpenVINO安装目录下IE的share文件夹
然后点击【Generate】按钮,就会成功生成一个VS工程项目。
在newbuild目录下找到
OpenCV.sln 文件, 双击打开VS工程!
选择 【ALL BUILD】右键 ->生成
运行完成之后,选择 【INSTALL】右键 ->生成,
得到输出在install\x64\vc14\bin是DEBUG版本的DLL文件,截图如下:
切换到release模型下,继续执行上述两步操作,即可得到支持IE的OpenCV4.1的release版本。我的最终生成结果(这个生成过程可能需要等待一会)
对编译生成好的OpenCV4.1.0安装包的配置可以分为如下五步:
配置包含目录
配置库目录
配置连接器
配置环境变量
D:\opencv_4.1.0\opencv\newbuild\install\x64\vc14\bin
最后一步重启VS,对OpenCV配置不清楚的具体看这里的视频:
https://www.bilibili.com/video/av36486959
重新VS之后,打开我本机之前的人脸检测程序,把加载网络之后的设置计算后台的代码函数API代码:
net.setPreferableBackend(DNN_BACKEND_OPENCV)
修改为:
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/,
-完-
*延伸阅读
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台
觉得有用麻烦给个在看啦~