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

    技术2022-07-11  91

    Windows下编译darknet

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

    前言

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

    安装环境依赖

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

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

    由于上述环境的安装过程在网上已经很多了,这里就不再赘述。需要注意的是,这里推荐安装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如下: 接着克隆YOLOv4仓库到本地然后解压,打开Powershell切换到解压后的仓库根目录,执行命令.\build.ps1开始编译,编译的界面如下: 经过大概两分钟时间,编译完成,正常情况下不会有任何错误发生。编译完成的界面如下:

    YOLOv4测试

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

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

    测试的命令行输出结果如下: 测试的图片输出结果如下:

    结束语

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

    Processed: 0.014, SQL: 9