文章目录
前言
最近对图像识别比较感兴趣,于是就想了解一下比较流行的YOLO算法,在这里我学习的是YOLOV4版本的,目前不使用GPU的情况下已经可以运行,使用GPU的情况正在研究,在这里也算是自己的一个阶段性总结,写出来算是给想了解YOLOV4的同学们一个借鉴,希望能够少走一些弯路。
一、Windows环境下运行YOLOV4
1.运行环境
在此次测试当中,我使用的环境是Windows7 64位操作系统,Visual Studio2019
2.下载源代码
因为代码是开源的,直接下载就可以,链接如下。
https://github.com/AlexeyAB/darknet
下载压缩包之后直接压缩就可以了。
3.下载权重文件
开源的源代码里面是不包含学习训练产生的数据的,也就是.weights文件,需要从互联网下载或者自己通过训练生成(正在学习中),写这篇文章我是直接下载的yolov4.weights来进行测试的。
4.将工程导入到Visual Studio2019
通过Visual Studio2019打开压缩包目录darknet\build\darknet当中的darknet_no_gpu.sln文件,由于源代码是通过Visual Studio2015写的,在导入的过程中会提示有个升级,点击升级就可以了。
导入之后如下图所示。
5.编译生成可执行文件
右键点击工程名,选择生成选项,系统将会执行生成程序,最终会生成一个名为darknet_no_gpu.exe的可执行文件。如下图所示。
6.检验效果
打开任务管理器,启动新任务窗口,在界面中输入以下语句:(前面为.exe文件路径)E:\VS19_workspace\darknet\build\darknet\x64\darknet_no_gpu.exe detect yolov4.cfg yolov4.weights 1.jpg(1.jpg为要检测的图片名)。点击确定开始执行,执行完毕后在路径下会生成一个标记好的图片,图片名称为predictions.jpg。打开图片如下图所示:
可以看出,检测的精度和准确度还是可以的。到此,Windows环境下调试和使用Yolov4就讲完了。下面再来介绍Linux环境下的调试和使用方法。
二、Linux环境下运行YOLOV4
1.运行环境
此次测试,我使用VirtualBox虚拟机来运行Ubuntu 64位的操作系统。
2.克隆或者下载源代码
源代码可以采取克隆的方式,也可以采取下载的方式获取,在这里我是采取的前一种方法。打开终端窗口,输入命令。
git clone https://github.com/AlexeyAB/darknet.git
或者
git clone git://github.com/AlexeyAB/darknet.git
克隆完毕后在相应的位置会有一个名为darknet的文件夹,如下图所示。
3.下载权重文件
可以把Windows环境中下载的权重文件拿过来直接用。
4.编译源代码
打开darknet文件夹,在空白处右键选择在终端打开,然后输入如下编译命令:
make
待编译完成。编译完成并成功后如下图所示:
生成了一堆.o文件。
5.检验效果
继续输入指令
./darknet detect yolov4.cfg yolov4.weights 1.jpg
这里需要注意的是三个文件如果不在当前文件夹的话前面要加上所在路径。
命令执行完毕后如下图所示:
和在Windows环境下执行检测命令其实是一样的,由于没有使用opencv,同样结果是生成了一张标注好的图片在当前文件夹中。如下图所示:
同样,效果还是不错的。
总结
到此,Windows和Linux环境下对YOLOV4的测试就完成了,希望大家能够踊跃评论,互相学习,有不明白的朋友可以进行提问,也希望高手能够发表评论和批评指正。GPU版本的测试自己正在摸索中,等研究明白了也会与大家进行交流。谢谢。