Darknet深度学习框架是由Joseph Redmon提出的一个用C和CUDA编写的开源神经网络框架。它安装速度快,易安装,并支持CPU和GPU计算。
Darknet官方网站:https://pjreddie.com/darknet/
其他关于Darknet和YOLO的介绍:
https://cloud.tencent.com/developer/news/76803
https://blog.csdn.net/xunan003/article/details/79932888
step1 运行环境和前期准备
一、基础环境
1、Windows 10 64位
2、Visual Studio 2015 Professional
已经安装好的自动忽略,有需要的可以去我的百度网盘上下载:
链接:https://pan.baidu.com/s/1fD9s4A40aUrGX_hLQI2WvA 密码:grdg
3、OpenCV 3.4.0
https://opencv.org/releases.html
原则上OpenCV3.0以上版本都可以,但是还是建议使用3.4.0及以下版本,3.4.1版本有bug。
解压以后记得把库路径(D:\OpenCV340\opencv\build\x64\vc14\bin)添加到环境变量中,以免后续测试时报错。
二、GPU环境
1、CUDA9.0
https://developer.nvidia.com/cuda-80-ga2-download-archive 8.0版本
https://developer.nvidia.com/cuda-90-download-archive 9.0版本
CUDA是NVIDIA推出的通用并行计算架构,该架构能够解决复杂的计算问题。
VS与CUDA版本之间有兼容问题,VS2015最好下载CUDA8或者CUDA9系列的版本。
2、cuDNN7.0
https://developer.nvidia.com/cudnn
cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计的基于GPU的加速库。需要注册一个NVIDIA官网的账号才能下载。
cuDNN的版本需要与CUDA版本对应,下载的时候根据选定的CUDA版本进行选择即可。
GPU环境的配置可参考:https://blog.csdn.net/stjuliet/article/details/84640094
step2 搭建Darknet框架
1、下载Darknet源代码:
https://github.com/AlexeyAB/darknet
2、
(1)下载解压后,进入darknet-master->build->darknet目录:
(2)打开darknet.vcxproj文件,将具有CUDA的版本改成自己使用的版本(默认为10.0),一共有两处,分别在55行和298行:
(3)打开darknet.sln文件,在属性管理器中配置包含目录、库目录、附加依赖项(和OpenCV环境配置一样),特别注意要将CUDA设备中的Generation改成自己显卡对应的计算能力(默认添加了35和75两项,可能不是你的显卡的计算能力,可以去英伟达显卡官网查询计算能力:https://developer.nvidia.com/cuda-gpus#collapseOne)
,否则接下来的生成会出错。
(4)设置Release - x64,点击调试菜单栏下的开始调试,成功后会在darknet-master\build\darknet\x64目录下生成darknet.exe文件。
3、打开darknet-master目录下的Makefile文件,修改GPU、CUDNN和OPENCV三个参数(默认均为0),或者根据自己的需求按照9-11行的提示进行修改:
step3 测试
做完上面所有的工作后就可以测试一下使用YOLO进行深度学习目标检测的效果了,由于对图片进行检测速度较快也比较简单,因此只对视频进行测试。
1、下载YOLO的权重文件yolov3.weights,放入darknet-master\build\darknet\x64目录下:
链接:https://pan.baidu.com/s/19e02dZtmZZLxVySLuooo0Q 密码:w7lp
2、将测试视频命名为"test.mp4"放入darknet-master\build\darknet\x64目录下,点击darknet_yolo_v3_video.cmd文件,出现控制台和视频播放窗口:
测试效果(视频资源来自于BrnoCompSpeed数据集):
参考资料:
https://blog.csdn.net/baidu_36669549/article/details/79798587
https://blog.csdn.net/leonary_jy/article/details/80293205
https://blog.csdn.net/shadandeajian/article/details/80913481
Juliet 于 2019.2