WIN10+YOLOv4,windows上完美执行YOLOv4目标检测

泄露秘密 提交于 2020-08-08 17:55:37

最近新出了YOLOV4,我系统的从V1开始整理出稿,传送门:
【YOLOv1原文+翻译】You Only Look Once Unified, Real-Time Object Detection
【YOLOv2原文+翻译】YOLO9000: Better, Faster, Stronger
【YOLOv3原文+翻译】YOLOv3:An Incremental Improvement
【YOLOv4原文+翻译】YOLOv4:Optimal Speed and Accuracy of Object Detection



实验室大佬在Ubuntu16.04上轻松实现,我也来个Win10版的~
先上一张成功检测的结果图:
在这里插入图片描述

正文开始

1 软件安装

我的软件环境:WIN10,CUDA10.2,cuDNN7.6.5,python3.7,VS2019,OpenCV3.4.2
硬件环境:GTX2080Ti ×2,80G内存

在这里插入图片描述

1.1 下载安装NVIDIA显卡驱动

设备管理器查看自己电脑的显卡型号,然后进入NVIDIA驱动下载,下载对应硬件的驱动版本。安装好后,把

C:\Program Files\NVIDIA Corporation\NVSMI

添加到环境变量的path中,然后CMD中输入:

nvidia-smi

如果显示下图内容,证明驱动安装成功:
在这里插入图片描述

1.2 下载安装CUDA

CUDA官网已到11.0版本,我建议用10.2版本。
传送门:各个版本的CUDA下载
点击
CUDA Toolkit 10.2 (Nov 2019)下载
在这里插入图片描述建议默认路径安装。
安装时勾选Visual Studio Integration
在这里插入图片描述





安装后配置环境变量
计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和 CUDA_PATH_V10_2两个环境变量。

在这里插入图片描述
接下来,还要在系统中添加以下几个环境变量(默认安装路径):
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2 
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64 
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64 
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

在这里插入图片描述
然后,在系统变量 Path 的末尾添加: %CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;

再添加如下5条(默认安装路径):

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64

在这里插入图片描述
CUDA测试——CMD执行:

nvcc -V

在这里插入图片描述

1.3 下载安装cuDNN

cuDNN官方下载地址
需要登录账号
点击Download cuDNN v7.6.5 (November 18th, 2019), for CUDA 10.2
在这里插入图片描述
没有账号可以在我的百度网盘下载,提取码是:lk48



cuDNN下载好后直接将其解开压缩包,然后需要将bin,include,lib中的文件分别复制粘贴到CUDA相对应的文件夹下

1.4 下载安装OpenCV

OpenCV官网下载3.4.2版本(一般不高于4.0即可)
在这里插入图片描述
下载后运行exe文件(解压)到相应目录下:
C:\Program Files (x86)\opencv
在系统变量 Path 的末尾添加:



 C:\Program Files (x86)\opencv\build\x64\vc15\bin 

1.5 下载安装VS2019

进入VS官网下载社区版
走流程安装即可

2 配置YOLOv4环境

我们已经实现了准备工作:win10+CUDA10.2+cuDNN7.6.5+VS2019+OpenCV3.4.2

2.1 下载YOLOv4

YOLOv4官方网址下载
在这里插入图片描述
下载到本地,解压。我将darknet-master重命名为darknet,保存至D盘

2.1 复制OpenCV文件

将文件夹
C:\Program Files (x86)\opencv\build\x64\vc15\bin的两个dll文件: opencv_ffmpeg340_64.dllopencv_world340.dll复制到

D:\darknet\build\darknet\x64 

2.2 VS2019项目配置

用VS2019打开D:\darknet\build\darknet下darknet.sln文件
有可能VS2019要走一下如下流程:
在这里插入图片描述
重启电脑。
右键对darknet.sln进行配置:
1.选择releasex64
在这里插入图片描述
2.项目 ->属性 注意同样应选releasex64,同时检查注意检查Windows SDK版本和平台工具集






在这里插入图片描述
3.修改包含目录和库目录
添加opencv3.4的包含目录和库目录(按照自己的opencv3.4的路径)
包含目录:


C:\Program Files (x86)\opencv\build\include
C:\Program Files (x86)\opencv\build\include\opencv 
C:\Program Files (x86)\opencv\build\include\opencv2

在这里插入图片描述
库目录:

C:\Program Files (x86)\opencv\build\x64\vc14\lib

在这里插入图片描述
4.附加依赖项
添加附加依赖项(按照自己的opencv3.4的路径)

C:\Program Files (x86)\opencv\build\x64\vc14\lib\opencv_world340.lib

需要添加的是opencv_world342.lib
在这里插入图片描述

2.3 修改darknet.vcxproj

D:\darknet\build\darknet下,右键,可以txt打开
在这里插入图片描述
ctrl+f搜索 10.0 全部改成 10.2 (因为我们的CUDA版本是10.2)

2.4 拷贝CUDA文件

1.将NVIDIA CUDA的安装程序(.exe文件)数据解压到一个指定文件夹中(最好是新建一个文件夹CUDA,解压后会出现很多文件,这样方便查找)
2.将第一个路径下的文件直接拷贝到第二个路径下的文件夹中

D:\CUDA\VisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations

2.5 下载YOLOv4预训练权重文件

直接点击我的百度网盘进行下载,提取码是:0sti

下载后拷贝到

D:\darknet\build\darknet\x64 

3 目标检测

以上已经完成了所有环境的配置,可以使用yolov4.weights实现目标检测了,方法如下:
在D:\darknet\build\darknet\x64\ 目录下CMD执行:

darknet.exe detector test cfg\coco.data cfg\yolov4.cfg yolov4.weights data\dog.jpg

对图像进行目标检测;
CMD执行:

darknet.exe detector demo cfg\coco.data cfg\yolov4.cfg yolov4.weights data\001.mp4

对视频进行目标检测。
在这里插入图片描述
其中,待检测的图片或者视频放在以下路径:

D:\darknet\build\darknet\x64\data
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!