yolo官网:https://pjreddie.com/darknet/yolo/
darknet-windows代码下载:https://github.com/AlexeyAB/darknet(墙裂推荐看里面的README)
配置环境:
Visual Studio 2015(vc14)
CUDA 9.1
cuDNN 7.0
OpenCV 3.4(其它版本对应修改包含目录为自己安装opencv的路径)
-----------------------------------------------------------------------------------------------------------------
1.用VS打开 build\darknet\darknet.sln,设置成 x64 和 Release, 然后Build-> Build darknet. (这一步如果不能编译成功,可以执行完下面的步骤后再编译)
注意: OpenCV用 3.4.0 以前的,3.4.1 可能出问题。
2.在opencv的安装目录\opencv3.4\opencv\build\x64\vc14\bin(根据自己的安装路径修改)下找到opencv_world340.dll 和 opencv_ffmpeg340_64.dll 把复制到 D:\darknet-windows\build\darknet\x64 中(即darknet.exe所在的路径)。
3. 检查 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1 是否有bin 和 include文件夹, 如果没有从cuda的安装路径中把它们复制过来。
4. 安装CUDNN (加速用的,可以不安装)
下载 cuDNN 7.0 for CUDA 9.1: https://developer.nvidia.com/cudnn
下载解压缩后,将文件夹中的cndnn64_7.dll、cudnn.h、cudnn.lib分别复制到
C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin
C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include
C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64
注意:cudnn需要与cuda版本相对应。
到此为止你应该已经配置完成了,如果你的安装环境和我的不一样请看下面:
-----------------------------------------------------------------------------------------------------------------
1..如果不安装CUDNN:打开\darknet.sln ->(right click on project) -> properties -> C/C++ -> Preprocessor ->Preprocessor Definitions, and remove this: CUDNN;
2.如果你的CUDA 版本不是 9.1:打开build\darknet\darknet.vcxproj 找到 "CUDA 9.1"的两个地方把它改为你自己的版本号。
3.如果没有GPU:打开 build\darknet\darknet_no_gpu.sln,设置 x64 and Release, 然后:Build -> Build darknet_no_gpu
4.如果你的OpenCV不是 3.4。(以2.4.13为例)
4.1(right click on project) -> properties -> C/C++ -> General ->Additional Include Directories: C:\opencv_2.4.13\opencv\build\include
4.2(right click on project) -> properties -> Linker -> General ->Additional Library Directories: C:\opencv_2.4.13\opencv\build\x64\vc14\lib
5.If you haveGPU with Tensor Cores (nVidia Titan V / Tesla V100 / DGX-2 and later) speedupDetection 3x, Training 2x:\darknet.sln -> (right click on project)-> properties -> C/C++ -> Preprocessor -> Preprocessor Definitions,and add here: CUDNN_HALF;
-----------------------------------------------------------------------------------------------------------------测试:
1.打开cmd切换到darknet.exe路径下:D:\darknet-windows\build\darknet\x64
2.在cmd输入:
darknet_no_gpu.exe detector test data/coco.data yolov3.cfg yolov3.weights(无GPU版)
darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights(GPU版)
yolov3.cfg yolov3.weights要对应,并把它们放在D:\darknet-windows\build\darknet\x64路径下
3.根据提示输入要检测的图像路径。PS:最好把杀毒软件关了,不然darknet.exe会被隔离。
原图:
检测结果: