在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

2023-12-09 0 719
目录
  • 前言
  • 一、相关知识储备
    • 1. YOLO是什么?
    • 2.CPU&GPU
    • 3.什么是CUDA
    • 4.什么是cuDNN
    • 5.什么是OpenCV
  • 二、系统与环境要求
    • 1.硬件环境
    • 2.软件环境
  • 三、相关环境下载
    • 1.NVIDIA下载驱动
    • 2.CUDNN下载
    • 3.VS2019下载
    • 4.opencv下载
  • 四、安装与配置
    • 1.显卡驱动安装
    • 2.配置CUDA环境变量
    • 3.CUDNN安装
    • 4.OpenCV安装
  • 五、YOLO下载和编译
    • 1.YOLO下载
    • 2.复制编译依赖文件
    • 3.修改darknet.vcxproj文件
    • 4.YOLO编译
    • 5.YOLO+VS环境配置
  • 六、YOLO环境测试
    • 总结

      前言

      随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了windows下YOLO的环境搭建流程。

      一、相关知识储备

      1. YOLO是什么?

      • YOLO是一种实时目标检测算法,它是第一个平衡所提供检测的质量和速度的算法。通常,这类最强大的模型,都是建立在卷积神经网络的基础上,这次也不例外。所谓「目标检测模型」,我们的意思是,我们不仅可以用它来找出给定照片中存在的对象,还可以用它来指示它们的位置和数量。除其他外,这种模型在机器人和汽车工业中都有应用,因此检测速度至关重要。自2015年以来,该算法已经进行了三次迭代,还有为

      TinyYOLO 等移动设备设计的变体。移动版本的精度有限,但计算要求也较低,运行速度更快。

      2.CPU&GPU

      • CPU(Central Processing

      Unit)是指中央处理器,决定着手机的运行速度。一般来说芯片数字越大代表着型号越新,因此我们在选择CPU的时候应该选择名称中所带数字较大的。

      • GPU(Graphics Processing

      Unit)是指图像处理器,在手机上用于游戏画面的渲染,通常GPU的型号越新,频率越高,意味着游戏的画面展示速度越快。

      • CPU和GPU二者对于用户来说是缺一不可,前者负责计算数据,后者负责显示内容,构造后端运算,前端显示的前后搭配。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      3.什么是CUDA

      • CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
      • 通过CUDA架构,视频播放软件可以充分挖掘NVIDIA系列显卡的GPU并行计算能力,轻松进行高清影片的播放,与软件高清解码相比,CPU占用可以下降一半以上。当然,CUDA的应用领域绝不仅仅是视频、图形、游戏,包括各种3D和建模,医疗、能源、科学研究等,到处都可见到这种技术架构的应用

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      4.什么是cuDNN

      • NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA

      cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行caffe软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。

      5.什么是OpenCV

      • OpenCV是一个基于Apache2.0许可发行的跨平台计算机视觉和机器学习软件库,可以在Linux、Windows、Android和Mac

      OS操作系统上运行。它轻量级而且高效——由一系列 C 函数和少量 C++类函数构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了很多图像处理和计算机视觉方面的通用算法。

      二、系统与环境要求

      1.硬件环境

      • Windows10系统+GPU显卡

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      2.软件环境

      • CUDA,cuDNN,VS2019,OpenCV

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      三、相关环境下载

      1.NVIDIA下载驱动

      https://developer.nvidia.com/cuda-10.1-download-archive-update2

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      打开NVIDIA官网驱动程序下载页面,选择适合你显卡的驱动,下载并安装。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      2.CUDNN下载

      点击:https://developer.nvidia.com/rdp/cudnn-download 注册个账户,然后下载对应版本加速库

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      3.VS2019下载

      https://visualstudio.microsoft.com/zh-hans/downloads/

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      4.opencv下载

      https://opencv.org/opencv-4-5-0/

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      四、安装与配置

      1.显卡驱动安装

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      选择自定义安装:

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      全部勾选,点击下一步:

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      使用默认的安装路径:

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      2.配置CUDA环境变量

      右键“我的电脑”选择属性,点击“高级系统设置”->“环境变量”。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      可以看到CUDA默认写入了2条环境变量信息,但这些还不够,点击新建,添加以下环境变量:

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      根据你CUDA的实际安装路径配置变量值,但我建议你安装CUDA时使用默认的路径,避免出现各种奇葩问题。然后在系统变量中找到Path,双击打开并加入以下变量值:

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      然后打开控制台,输入:nvcc -V如果输出CUDA版本等相关信息,说明CUDA安装成功。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      3.CUDNN安装

      将解压后的文件,覆盖到CUDA的安装目录下

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      4.OpenCV安装

      下载完成后双击打开,该exe是个自解压程序,选择一个解压目录,解压完成后,将解压出来的opencv文件夹复制到c盘根目录下。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      五、YOLO下载和编译

      1.YOLO下载

      点击 https://github.com/AlexeyAB/darknet

      下载YOLO。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      下载到本地后,解压,将darknet-master重命名为darknet

      2.复制编译依赖文件

      将c:/opencv/build/x64/vc15/bin目录下的opencv_ffmpeg340_64.dll、opencv_world340.dll复制到D:\\darknet\\build\\darknet\\x64目录下

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      3.修改darknet.vcxproj文件

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      打开文件找到两处有CUDA版本号的地方(一般55 & 307行附近)将这里的10.1改为自己的版本号,然后保存

      4.YOLO编译

      用vs2019打开 darkne\\build\\darknet\\darknet.sln 确定弹出的升级窗口,设置为Release,x64编译 生成可执行文件

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      5.YOLO+VS环境配置

      右键darknet工程,选择属性。然后点击VC++目录,编辑包含目录,将以下路径添加到包含目录中

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      点击库目录,把以下内容添加到库目录中。点击链接器->输入,在附加依赖项中添加

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      编译过程可能会出现很多警告,但只要最终提示生成:成功1个,失败0个,则表示编译成功。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      六、YOLO环境测试

      windows+r,输入cmd,进入自己对应的build/darknet/x64下执行

      darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

      如果出现CUDA版本信息,说明YOLO可以通过GPU来进行目标识别了。

      在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

      总结

      以上就是今天要讲的内容,本文仅仅简单介绍了如何在VS2019环境下使用Opencv调用GPU版本YOLOv4算法

      到此这篇关于如何在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的文章就介绍到这了,更多相关Opencv调用GPU版本YOLOv4算法内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

      您可能感兴趣的文章:

      • Qt结合OpenCV部署yolov5的实现
      • opencv-python+yolov3实现目标检测
      • 基于深度学习和OpenCV实现目标检测
      • OpenCV实现车辆识别和运动目标检测
      • python利用opencv调用摄像头实现目标检测
      • opencv调用yolov3模型深度学习目标检测实例详解

      收藏 (0) 打赏

      感谢您的支持,我会继续努力的!

      打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
      点赞 (0)

      悠久资源 编程综合 在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程 https://www.u-9.cn/biancheng/bczonghe/149970.html

      常见问题

      相关文章

      发表评论
      暂无评论
      官方客服团队

      为您解决烦忧 - 24小时在线 专业服务