本机配置
显卡:NVIDIA GeForce GTX 1660 SUPER
CPU:i5 9400f
系统:win10
环境安装
在windows下配置yolov4还是比较简单的,只要环境安装好了就可以。
需要提前下载以下环境:
Python:python-3.7.7-amd64
Cmake:cmake-3.17.2-win64-x64
VS:vs2019
GPU:驱动445.87
CUDA:cuda_10.1.168_425.25_win10
CuDNN:cudnn-10.1-windows10-x64-v7.6.5.32
OpenCV:opencv-4.0.1
在以上环境安装中,主要是为了以下两点:
- 使GPU能够进行神经网络工作;
- 编译OpenCV。
第一点比较好完成,版本配对即可,1660s显卡按我提供的来就行,其他按此博客的来:https://blog.csdn.net/qq_18620653/article/details/105329219
第二点有点难,主要因为国内网络不畅。如果你有畅通的网络,可采用这篇博客的方式来编译:
http://suo.im/5SHaHK
如果你网络不好,不用怕,博主提供已编译好的OpenCV供下载:
链接:https://pan.baidu.com/s/1sDKEa2gvFdT8bpqXK0JB0Q
提取码:thuq
YOLOV4实现
-
首先需要下载darknet源码:https://github.com/AlexeyAB/darknet
网络不好的话,就clone到gitee再下载,这样很快,还嫌麻烦就从我这下;链接:https://pan.baidu.com/s/1UzXMfQCcUnnirHa7wOSH5g
提取码:zp6i -
放置opencv文件:将opencv_ffmpeg401_64.dll,opencv_world401.dll放入.\darknet\build\darknet\x64中,这是为了使用opencv图像处理库。
-
放置cudnn文件:cuDnn64.dll放入.\darknet\build\darknet\x64中,可以加快神经网络过程。
-
修改版本号:在darknet.vcxproj、yolo_cpp_dll.vcxproj中将10.0改为10.1
-
在vs中打开yolo_cpp_dll.vcxproj、darknet.sln,使用releaseX64模式进行生成。
这一步比较重要,需要配置一下属性,一共四个更改。
5.1 C/C++ —>常规—>附加包含目录:添加opencv/include以及opencv/include/opencv2
5.2 预处理器定义 去掉CUDNN_HALF
5.3 CUDA C/C++ Device 去掉compute75那行
5.4 链接器 常规 添加opencv的lib库
大功告成,开始编译~
编译完成测试一下:
这样显示就没问题啦 -
下载权重,开始测试
在https://github.com/AlexeyAB/darknet下载yolov4.weights并放入darknet.exe所在文件夹内
开启cmd.exe,输入darknet.exe detector test cfg/coco.data cfg/yolo.cfg yolov4.weights
即可检测图片
输入darknet.exe detector demo cfg/coco.data yolov4.cfg yolov4.weights -i 0 -thresh 0.25 -ext_output test.mp4
即可检测视频,效果如图所示。
如何训练
https://blog.csdn.net/playezio/article/details/106461330?spm=1001.2014.3001.5501