Windows下编译darknet(YOLOv4作者推荐的方式)

Windows下编译darknet

    • 前言
    • 安装环境依赖
    • YOLOv4编译
    • YOLOv4测试
    • 结束语

前言

在YOLOv4官方仓库YOLOv4的说明文件中,作者Alexey提供了一种非常简洁的Windows下编译darknet的方法,不用安装Cygwin,使用Windows系统自带的PowerShell即可完成编译,且笔者实践后发现是切实可行的。这篇文章简要介绍了该编译方法,希望能对大家有所帮助。

安装环境依赖

依照作者的表述,在PowerShell使用CMake进行编译的这种方式需要依次安装如下环境依赖:

  • Visual Studio 2015 / 2017 / 2019
  • CUDA >= 10.0
  • cuDNN >= 7.0
  • OpenCV >= 2.4

Windows下编译darknet(YOLOv4作者推荐的方式)_第1张图片
由于上述环境的安装过程在网上已经很多了,这里就不再赘述。需要注意的是,这里推荐安装Visual Studio 2015,当然也可以同时安装多个版本,因为在Windows上安装CUDA时对Visual Studio有依赖,而高版本的Visual Studio目前CUDA还不支持。除此之外,在安装OpenCV时需要设置环境变量,以使得CMake编译时能找到OpenCV,其环境变量名为OpenCV_DIR,变量值为%dir%\opencv\build,其中%dir%为OpenCV安装指定的目录。笔者PC上安装的软件版本分别是,Visual Studio 2015 & 2019、CUDA10.1、cuDNN7.6.5和OpenCV4.3.0,显卡是RTX 2060。

YOLOv4编译

在安装好上述依赖软件后,即可进行darknet的编译。参考解决Powershell中不能运行脚本问题,首先以管理员身份打开Powershell,执行命令Set-ExecutionPolicy RemoteSigned设置execution policy为remotesigned如下:
Windows下编译darknet(YOLOv4作者推荐的方式)_第2张图片
接着克隆YOLOv4仓库到本地然后解压,打开Powershell切换到解压后的仓库根目录,执行命令.\build.ps1开始编译,编译的界面如下:
Windows下编译darknet(YOLOv4作者推荐的方式)_第3张图片
经过大概两分钟时间,编译完成,正常情况下不会有任何错误发生。编译完成的界面如下:
Windows下编译darknet(YOLOv4作者推荐的方式)_第4张图片

YOLOv4测试

编译完成后,darknet根目录下会多出darknet.exe等几个编译好的文件,此时便可以下载作者提供的模型文件进行测试。YOLOv4的模型下载地址为yolov4.weights,YOLOv4-Tiny的模型下载地址为yolov4-tiny.weights。下载好后将模型文件放在darknet根目录下,执行如下命令进行测试:

darknet.exe detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

测试的命令行输出结果如下:
Windows下编译darknet(YOLOv4作者推荐的方式)_第5张图片
测试的图片输出结果如下:
Windows下编译darknet(YOLOv4作者推荐的方式)_第6张图片

结束语

YOLOv4是目前最好的目标检测器之一,其在保持较高精度的同时很好地做到了精度与速度的折中,因此极具实用价值。作为一个目标检测领域的菜鸡,这两天在忙完期末评测及一些繁琐的事情后,也是迫不及待开始YOLOv4的复现工作。之前感觉darknet在Windows上的使用不怎么方便,也就没怎么想过要试试,今天偶尔看到并试了试作者推荐的编译方法,感觉非常简单,是一次不错的尝试。

你可能感兴趣的:(深度学习)