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

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测试结果1
测试的图片输出结果如下:
YOLOv4测试结果2

结束语

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

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值