@

YOLOv4是最近开源的一个又快又准确的目标检测器。
首先看一下Github上的版本要求及下载地址:
系统:Windows or Linux
CMake >= 3.12: https://cmake.org/download/
CUDA 10.0: https://developer.nvidia.com/cuda-toolkit-archive
OpenCV >= 2.4: 直接从Opencv官网下载就好
cuDNN >= 7.0 for CUDA 10.0: https://developer.nvidia.com/rdp/cudnn-archive
Visual Studio 2015/2017/2019: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community

YOLO v4源码

YOLOv4仓库github地址: https://github.com/AlexeyAB/darknet.
为了防止下载压缩包解压后会丢失一些文件,建议在码云上clone下来。

CMake安装

进入官网下载最新的版本即可,图中红色标注的位置,下载后一路默认安装点下来就好。(PS:如果下载网络较慢,这里有百度云链接,提取码:ev94)
在这里插入图片描述

CUDA安装

CUDA是我当初安装tensorflow2.0时安的
主要是从官网上下载安装文件,
解压缩,如图:
在这里插入图片描述
同意并继续,选择精简,进入安装,大概要几分钟的时间。
在这里插入图片描述
安装完成后检查是否安装成功。
win+R 进入运行界面,输入cmd进入命令行界面,输入nvcc –version 查看是否安装成功
在这里插入图片描述

cuDNN安装

在官网下载前需要注册NVIDIA DEVELPOER 的账号,选择与CUDA10.0对应的版本cuDNN7.6.4,点击library for win10文件,大概有240M左右。如下图所示:
在这里插入图片描述
官网的安装教程:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows

其实就是将解压后将下面几个文件复制到CUDA的对应路径下。

  1. Copy …\cuda\bin\cudnn64_7.6.5.32.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin.
  2. Copy …\cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include.
  3. Copy …\cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64.

简便快捷的方法就是把下载好的CUDNN文件 全部复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2中

OpenCV安装

从官网下载,版本要大于2.4
下载好直接解压就可以,并将installpath\opencv\build\路径添加到系统的环境变量中,
CMake编译的时候会自动找到这个文件夹
添加环境变量如下图所示,在此电脑右击属性,弹出下图界面,点击高级系统设置。

点击环境变量,新建环境变量,
Alt
新建环境变量,变量名为OpenCV_DIR,变量地址为C:\Program Files\opencv\build
在这里插入图片描述

Cmake编译

如果你想用GPU加快检测速度,需要将Makefile文件用记事本打开,更改GPU=1 CUDNN=1 CUDNN_HALF=1 OPENCV=1。如下图所示:
在这里插入图片描述
选择Browse Source 为源码所在文件夹,Browse Build 可以选择同一文件夹,点击Configure,弹出如下界面:
在这里插入图片描述
第一项选择你所安装的VS版本,第二项平台选择x64 ,点击Finish,点击Configure,没有错误后点击生成。
在这里插入图片描述
成功后点击Open Project 打开项目文件。

VS编译

注意:选择release版本,x64,直接生成解决方案。
在这里插入图片描述
将D:\github\darknet\Release文件夹下的darknet.exe文件复制

在这里插入图片描述
打开到D:\github\darknet\build\darknet\x64文件夹内进行粘贴,如下图所示
在这里插入图片描述
将opencv …\opencv\build\x64\vc14\bin 下的两个opencv_world330.dll和 opencv_ffmpeg330_64.dll dll文件复制到上述文件夹内。如下图所示:
在这里插入图片描述
将cuDNN中的cudnn64_7.dll复制到上述文件夹。
在这里插入图片描述

图像测试

为了验证是否配置成功,下载推荐的yolov4.weights文件,文件大概有245M,百度云.密码:wg0r

将下载后的文件放在D:\github\darknet\build\darknet\x64文件夹下。
打开cmd命令行,转到上述的文件夹内,如下图所示:

按照GitHub,测试图像和视频复制对应的命令:
Yolo v4 COCO – image: darknet.exe detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights -thresh 0.25
Output coordinates of objects: darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights -ext_output dog.jpg
Yolo v4 COCO – video: darknet.exe detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output test.mp4

在这里插入图片描述

测试结果

  1. 自带的dog图像
    在这里插入图片描述

  2. 羊群
    在这里插入图片描述

版权声明:本文为wangj688原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wangj688/p/14336828.html