前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV4.5.x+CUDA11.0.x源码编译与YOLOv5加速教程!

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

作者头像
OpenCV学堂
发布2022-07-19 19:10:40
1K0
发布2022-07-19 19:10:40
举报
文章被收录于专栏:贾志刚-OpenCV学堂

点击上方蓝字关注我们

微信公众号: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.4\opencv\sources\3rdparty\ffmpeg\ffmpeg.cmakeD:\opencv-4.5.4\opencv\sources\3rdparty\ippicv\ippicv.cmake

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

代码语言:javascript
复制
D:\opencv-4.5.4\opencv\sources\3rdparty\ffmpegD:\opencv-4.5.4\opencv\sources\3rdparty\ippicv

就一切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推理

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

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

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

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

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