YOLO v2 在win10+GPU+VS2015下成功编译并演示

GitHub源码主页:https://github.com/AlexeyAB/darknet
最近在看YOLO v2这篇论文,并花了点时间配置了GPU版本,记录下过程吧。

配置环境:
Win10 64位
GPU:GTX 970
CUDA 8.0
cudnn: cudnn-8.0-windows10-x64-v5.0
VS2015
Openvc: 2.4.13

一、安装 VS2015
二、安装 CUDA8.0
注意这一步是有英伟达显卡的,如果没有请跳过。
下载地址:https://developer.nvidia.com/cuda-downloads
安装过程非常简单,默认安装,一直点下一步,直到安装完成。
三、下载cudnn
下载地址:https://developer.nvidia.com/rdp/cudnn-download,注册一下才能下载
cudnn 是英伟达的一个加速库,下载之后是一个压缩包,解压缩将目录下的 .\cuda\include\cudnn.h 和 .\cuda\lib\x64\cudnn.lib 和 .\cuda\bin\cudnn64_5.dll 文件分别拷贝到前面安装好的CUDA目录的include, lib\x64, bin 文件夹下。
四、下载安装opencv 2.4.13
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.13/opencv-2.4.13.2-vc14.exe/download
五、从GitHub上下载YOLO v2源码
https://github.com/AlexeyAB/darknet
1.下载后解压缩,用VS2015打开 .\darknet-master\build\darknet\darknet.sln
2.先将将VS2015设置成x64和Release,
YOLO v2 在win10+GPU+VS2015下成功编译并演示
3.在VS2015中右键 darknet ,点属性
-> 属性-> C/C++ -> 常规 -> 添加库目录。点编辑,添加opencv路径D:\opencv\opencv\build\include
(注意:opencv路径换成你自己的!!)
YOLO v2 在win10+GPU+VS2015下成功编译并演示
4.-> 属性-> 链接器 -> 常规 -> 附加库目录。点编辑,添加opencv路径D:\opencv\opencv\build\x64\vc14\lib
(注意:opencv路径换成你自己的!!)
YOLO v2 在win10+GPU+VS2015下成功编译并演示
5.-> 属性-> C/C++ -> 预处理器 ->预处理器定义。第一行加上CUDNN
YOLO v2 在win10+GPU+VS2015下成功编译并演示
六、编译通过
YOLO v2 在win10+GPU+VS2015下成功编译并演示

七、演示
1.首先要写一个cmd 文件,放在.\darknet-master\build\darknet\x64下,如图:
YOLO v2 在win10+GPU+VS2015下成功编译并演示
参数说明:
voc.data :应该是里面设置好了多少类别的一些参数。
yolo-voc.cfg : 网络结构的定义。
yolo-weights :网络参数,后面会提到怎么下载。
-i 0 :是指定使用的GPU编号。
-thresh 0.25 : 阈值,意思是只标记并显示置信值大于25%的目标。
.data\image\ :图像路径

2.去官网下一个几百M的作者训练好的权重参数,用于目标检测识别。
地址 https://pjreddie.com/darknet/yolo/ 放在.\darknet-master\build\darknet\x64下
YOLO v2 在win10+GPU+VS2015下成功编译并演示

3.新建文件夹 .\darknet-master\build\darknet\x64\data\image ,将前面data里的图片放进image文件夹中去。双击前面写的的yolo_test.cmd。

4.运行结果

作者提供的测试图:
YOLO v2 在win10+GPU+VS2015下成功编译并演示

用一下网络上的图,YOLO v2还是很准确的!
YOLO v2 在win10+GPU+VS2015下成功编译并演示