OpenCV4.5.x+CUDA11.0.x源码编译与YOLOv5加速教程!

2022-07-19 19:10:40 浏览数 (1)

点击上方蓝字关注我们

微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识

前言

    OpenCV开发者基本技能之一就是要从源码编译OpenCV生成各种裁剪版本的OpenCV库,同时根据需要编译源码生产支持CUDA加速版本的OpenCV库。

    但是,很多开发者还是编译中会遇到各种问题,被迫放弃!可以说还没用CUDA加速就已经自我放弃啦!

    所以周末我又重新编译了一遍,针对各种问题,帮大家理清了对策,帮助大家可以完成OpenCV CUDA编译,实现性能加速!

软件版本信息:

代码语言:javascript复制
-Win10-VS2017-CMake 3.13.x-OpenCV 4.5.4-CUDA 11.0.x-cuDNN 8.2.0

OpenCV CUDA编译

整个编译过程主要分为三步:

代码语言:javascript复制
下载源码,一定是Tag对应的版本跟扩展模块CMake阶段,解决无法下载的坑!去掉不必要的模块VS工程编译,生成lib与dll

下载源码:

代码语言:javascript复制
https://github.com/opencv/opencvhttps://github.com/opencv/opencv_contrib

选择tag-4.5.4,

代码语言:javascript复制
https://github.com/opencv/opencv/releases/download/4.5.4/opencv-4.5.4-vc14_vc15.exehttps://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.zip

CMake:

打开CMake,设置源码路径跟目标路径:

上述选择表示编译为64位的库!

点击【Configure】,

然后再点击【generate】

完成之后,搜索cuda关键字,如上图,三个选项勾上,

然后再搜索opencv_ex, 设置扩展模块的代码路径,如上图!设置好之后再次点击【Configure】,完成之后:

搜索cuda,如上图勾选!

最后搜索:

代码语言:javascript复制
xfeatures2dwechat_qrcodeface全部的TEST模块

默认是勾选的,全部不要选择!(去掉勾选!)

无法下载ffmpeg, ippicv问题解决:

代码语言:javascript复制
D:opencv-4.5.4opencvsources3rdpartyffmpegffmpeg.cmakeD:opencv-4.5.4opencvsources3rdpartyippicvippicv.cmake

从上述两个文件拿到下载地址,直接下载完成之后,分别放到对应目录:

代码语言:javascript复制
D:opencv-4.5.4opencvsources3rdpartyffmpegD:opencv-4.5.4opencvsources3rdpartyippicv

就一切OK了。

生成好VS工程文件之后,打开工程文件:

代码语言:javascript复制
1. 先选择All_build – release x642. 再install 点击生成

第一步耗时比较久,大概1~2小时完成,不超过4小时!截图如下:

谢天谢地,终于编译好啦!

OpenCV CUDA配置与加速

基于最新编译好的OpenCV CUDA支持的库,重新配置OpenCV开发环境,对比YOLOv5部署,CPU运行推理测试结果如下:

添加两行代码,启用GPU运行推理测试结果如下:

代码语言:javascript复制
this->net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);this->net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);

显卡是3050ti!

对比一下,加速效果真得是杠杠滴!所以值得编译OpenCV CUDA支持,因为它不光加速深度学习模型推理,对传统图像处理均有加速!

完整视频教程

本人特别录制了一个完整的视频教程,B站地址如下:

代码语言:javascript复制
https://www.bilibili.com/video/BV1ZT411J7zS?spm_id_from=333.999.0.0

读书谓已多

抚事知不足

扫码查看OpenCV OpenVIO Pytorch系统化学习路线图

 推荐阅读 

CV全栈开发者说 - 从传统算法到深度学习怎么修炼

2022入坑深度学习,我选择Pytorch框架!

Pytorch轻松实现经典视觉任务

教程推荐 | Pytorch框架CV开发-从入门到实战

OpenCV4 C 学习 必备基础语法知识三

OpenCV4 C 学习 必备基础语法知识二

OpenCV4.5.4 人脸检测 五点landmark新功能测试

OpenCV4.5.4人脸识别详解与代码演示

OpenCV二值图象分析之Blob分析找圆

OpenCV4.5.x DNN YOLOv5 C 推理

OpenCV4.5.4 直接支持YOLOv5 6.1版本模型推理

OpenVINO2021.4 YOLOX目标检测模型部署测试

比YOLOv5还厉害的YOLOX来了,官方支持OpenVINO推理

0 人点赞