0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenCV+CUDA编译实现YOLOv5能加速

OpenCV学堂 来源:OpenCV学堂 作者:gloomyfish 2022-07-18 10:27 次阅读

OpenCV开发者基本技能之一就是要从源码编译OpenCV生成各种裁剪版本的OpenCV库,同时根据需要编译源码生产支持CUDA加速版本的OpenCV库。 但是,很多开发者还是编译中会遇到各种问题,被迫放弃!可以说还没用CUDA加速就已经自我放弃啦! 所以周末我又重新编译了一遍,针对各种问题,帮大家理清了对策,帮助大家可以完成OpenCV+CUDA编译,实现性能加速! 软件版本信息

OpenCV+CUDA编译

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

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

下载源码:


选择tag-4.5.4,

CMake:

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

30245b08-05d1-11ed-ba43-dac502259ad0.png

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

点击【Configure】,

3037c1fc-05d1-11ed-ba43-dac502259ad0.png

然后再点击【generate

307c4b2e-05d1-11ed-ba43-dac502259ad0.png

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

309ffe7a-05d1-11ed-ba43-dac502259ad0.png

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

30c7c4d2-05d1-11ed-ba43-dac502259ad0.png

搜索cuda,如上图勾选! 最后搜索:

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

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

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

就一切OK了。

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

30f6e0b4-05d1-11ed-ba43-dac502259ad0.png

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

OpenCV+CUDA配置与加速

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

31222328-05d1-11ed-ba43-dac502259ad0.png

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

31563cda-05d1-11ed-ba43-dac502259ad0.png

显卡是3050ti

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

审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10445

    浏览量

    206566
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40786
  • CUDA
    +关注

    关注

    0

    文章

    119

    浏览量

    13462

原文标题:OpenCV4.5.x+CUDA11.0.x源码编译与YOLOv5加速教程!

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码

    前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是和大家分享使用LabVIEW快速实现
    的头像 发表于 03-13 16:01 1658次阅读

    手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速实现YOLOv5实时物体识别

    今天我们就一起来看一下如何使用LabVIEW开放神经网络交互工具包实现TensorRT加速YOLOv5
    的头像 发表于 03-20 16:36 2150次阅读
    手把手教你使用LabVIEW ONNX Runtime部署 TensorRT<b class='flag-5'>加速</b>,<b class='flag-5'>实现</b><b class='flag-5'>YOLOv5</b>实时物体识别

    Yolov5算法解读

    yolov5于2020年由glenn-jocher首次提出,直至今日yolov5仍然在不断进行升级迭代。 Yolov5YOLOv5s、YOLOv
    的头像 发表于 05-17 16:38 4306次阅读
    <b class='flag-5'>Yolov5</b>算法解读

    YOLOv5】LabVIEW+TensorRT的yolov5部署实战(含源码)

    今天主要和大家分享在LabVIEW中使用纯TensoRT工具包快速部署并实现yolov5的物体识别
    的头像 发表于 08-21 22:20 831次阅读
    【<b class='flag-5'>YOLOv5</b>】LabVIEW+TensorRT的<b class='flag-5'>yolov5</b>部署实战(含源码)

    龙哥手把手教你学视觉-深度学习YOLOV5

    步数的课程,希望学员学习后能在实际工业项目中落地应用。本次课程将重点讲解《YOLOv5》篇,让没有任何深度学习基础的小白学员,通过视频课程能动手配置好yolov5环境,利用自己的数据集训练模型,
    发表于 09-03 09:39

    怎样使用PyTorch Hub去加载YOLOv5模型

    PyTorch 快 2-5 倍专业提示:在CPU 基准测试中, ONNX和OpenVINO可能比 PyTorch 快 2-3 倍环境YOLOv5 可以在以下任何经过验证的最新环境中运行(预装了所有依赖项,包括CUDA / CU
    发表于 07-22 16:02

    OpenCV C++程序编译与演示

    1、在JetsonNano上编译OpenCV源码与OpenCV C++ YOLOv5程序演示  编译Op
    发表于 11-10 16:42

    如何YOLOv5测试代码?

    使用文档“使用 YOLOv5 进行对象检测”我试图从文档第 10 页访问以下链接(在 i.MX8MP 上部署 yolov5s 的步骤 - NXP 社区) ...但是这样做时会被拒绝访问。该文档没有说明需要特殊许可才能下载 test.zip 文件。NXP 的人可以提供有关如
    发表于 05-18 06:08

    yolov5模型onnx转bmodel无法识别出结果如何解决?

    问题描述: 1. yolov5模型pt转bmodel可以识别出结果。(转化成功,结果正确) 2. yolov5模型pt转onnx转bmodel可以无法识别出结果。(转化成功,结果没有) 配置: 1.
    发表于 09-15 07:30

    基于YOLOv5的目标检测文档进行的时候出错如何解决?

    你好: 按Milk-V Duo开发板实战——基于YOLOv5的目标检测 安装好yolov5环境,在执行main.py的时候会出错,能否帮忙看下 main.py: import torch
    发表于 09-18 07:47

    如何在OpenCV实现CUDA加速

    OpenCV4.x中关于CUDA加速的内容主要有两个部分,第一部分是之前OpenCV支持的图像处理与对象检测传统算法的CUDA
    的头像 发表于 09-05 10:03 4530次阅读

    YOLOv5OpenCV上的推理程序

    YOLOv5官方给出的YOLOv5OpenCV上推理的程序相对来说是比较通俗易懂的,条理清晰,有基本的封装,直接可用!但是我也发现,模型的推理时间跟前后处理的时间相差无几,特别是当视频流有多个检测到的对象时候,整个帧率会有明显
    的头像 发表于 11-02 10:16 1308次阅读

    使用旭日X3派的BPU部署Yolov5

    本次主要介绍在旭日x3的BPU中部署yolov5。首先在ubuntu20.04安装yolov5,并运行yolov5并使用pytoch的pt模型文件转ONNX。
    的头像 发表于 04-26 14:20 544次阅读
    使用旭日X3派的BPU部署<b class='flag-5'>Yolov5</b>

    OpenCV4.8+YOLOv8对象检测C++推理演示

    自从YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都无法再加载导出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本
    的头像 发表于 09-27 11:07 702次阅读
    <b class='flag-5'>OpenCV4.8+YOLOv</b>8对象检测C++推理演示

    OpenCV4.8+CUDA+扩展模块支持编译指南

    OpenCV4.8+CUDA+扩展模块支持编译指南
    的头像 发表于 11-30 16:45 371次阅读
    <b class='flag-5'>OpenCV4.8+CUDA</b>+扩展模块支持<b class='flag-5'>编译</b>指南