在目标检测(object detection)领域,YOLOv3是一个巅峰般的存在,简单来说,就是又快又准,如下图所示:
本文将详述在Windows10中从零开始编译安装YOLOv3。
第一步,安装YOLOv3依赖项。
a. 下载安装最新版英伟达显卡驱动:https://www.nvidia.com/Download/index.aspx?lang=en-us#
b. 下载安装CUDA 10.0: https://developer.nvidia.com/cuda-toolkit-archive
c. 下载安装cuDNN 7.6.0 for CUDA 10.0: https://developer.nvidia.com/cuDNN
d. 下载安装最新版的Git: https://git-scm.com/
e. 下载安装最新版(Latest Release)的CMake: https://cmake.org/download/
f. 下载最新版的OpenCV:https://opencv.org/releases/. OpenCV的安装程序,例如:opencv-4.1.1-vc14_vc15.exe,是一个自解压程序,解压后会得到一个叫opencv的文件夹,请把这个文件夹拷贝到C:盘根目录下。
g. 下载安装Visual Studio 2017 Community(Version 15.9):https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
在安装配置中,选中“.NET桌面开发”、“使用C++的桌面开发”和“通用Windows平台”开发三项,然后点击“安装”按钮完成安装。
第二步,下载YOLOv3源代码。在D盘根目录下,启动Git Bash,输入命令:
git clone https://github.com/AlexeyAB/darknet.git
第三步,配置OPENCV_DIR环境变量。指向opencv文件夹中的build文件夹。
第四步,用CMake配置YOLOv3编译,启动CMake-GUI,配置如下:
点击“Finish”按钮,然后点击“Configure”按钮后,出现下图所示情况。
继续点击“Configure”按钮,然后点击“Generate”按钮,最后点击“Open Project”按钮,启动“Darknet.sln”。
第五步,用Visual Studio 2017 编译“Darknet.sln”。选择“Release”+“x64”,右键点击“ALL_BUILD”,在右键菜单中,选择“生成”,如下图所示:
右键点击“INSTALL”,在右键菜单中,选择“生成”,如下图所示:
第六步,配置环境变量path。
%OPENCV_DIR%\x64\vc15\bin
%OPENCV_DIR%\x64\vc15\lib
D:\darknet\build\darknet\x64
添加到path中,如下图所示。
第七步,下载64bit的msvcr100.dll,并放到darknet文件夹中。下载链接:https://wikidll.com/microsoft/msvcr100-dll。
第八步,下载yolov3.weights,并放到darknet文件夹中。下载链接darkdetectyolov3.weights
最后一步,在darknet文件夹的地址栏输入“cmd”,启动Windows命令终端,输入命令:
darknet.exe detect cfg\yolov3.cfg yolov3.weights data\dog.jpg
若得到上图所示的结果,说明YOLOv3在Windows10中编译安装成功!
附加步骤:插入WebCam,在darknet文件夹的地址栏输入“cmd”,启动Windows命令终端,输入命令:
darknet.exe detector demo cfg\coco.data cfg\yolov3.cfg yolov3.weights
若得到上图所示的结果,说明YOLOv3+CUDA+OpenCV中编译安装成功!
参考文献:
[1] https://github.com/AlexeyAB/darknet
[2] https://pjreddie.com/darknet/yolo/
[3]《在Windows下Darknet.exe的命令参数》
下节将介绍《在Pascal VOC 数据集上训练YOLOv3》
参考阅读《深度学习图像识别技术》