linux环境下的就不演示了,网上教程很多,比较简单,把cuda、cudnn等装好,git clone+修改makefile文件+make命令就可以了,可以参考官网教程https://github.com/AlexeyAB/darknet
本文谈谈yolo在windows下的配置,看了很多博客,很多都是阐述手动在vs里面如何添加opencv,darket等依赖文件,之前我在vs手动配opencv(c++),也踩过不少坑,配了两次才弄好。所以本文采用最新官网推荐的第一种方法利用cmake-gui自动实现vs配置。
本文内容参考出处:
https://github.com/AlexeyAB/darknet
https://www.jianshu.com/p/f944ebd43f4c
更详细步骤截图可以参考这个博客。
步骤一:我电脑安装的是vs2017,opencv4.1.0,cuda10.0,cuDNN7.4(电脑只要是nvida显卡就可以支持cuda了),vs,opencv,cuda的安装就不再阐述了,网上资料多,有问题可以留言交流。
这图是最新yolov4的官网windows利用cmake-gui安装流程说明
步骤二:安装git工具,在某一文件夹下打开git bash,输入
git clone https://github.com/AlexeyAB/darknet.git
步骤三:下载cmake-gui官网下载地址,跟着引导安装以可。
完成后打开cmake出现这个界面。
browse source和browse build 选择刚刚git克隆的darket文件夹,第一次打开会弹出选择本机vs版本和x64平台。(记得把opencv和darket配好环境变量,文件路径设置为你的darket本机的路径和opencv路径)
接着依次点击configure,generate,open project(没问题就会打开vs)
步骤四,open project自动打开vs后,不出意外已经自动配置好编译依赖项了,接下来选择release x64版本,右键ALL_BUILD,点击生成,没有错误的话继续右键INSTALL,点击生成,没有错误的话就编译成功了。
如果调用yolov4,则到官网下载yolov4.weights文件,yolov3则到官网下载yolov3.weights文件,别的weights文件见官网。如果由于网络被墙问题下载缓慢,我这里提供v3和v4永久的百度云下载地址(如果失效欢迎评论,会及时补上)。下载后放到darket文件夹目录下,至此配置完成。
百度云链接
提取码:itoy
现在你在darket文件下就会看到一个darknet.exe了
在该darket文件夹导航栏输出cmd,进入终端,以下为yolo测试命令,更多的测试命令见官网,至于具体调用python接口运行yolo,自定义数据集进行训练,改进效果等暂时还没探究,可参考上面的官网。
识别图片(可以把图片放到data目录下)
darknet.exe detect cfg\yolov4.cfg yolov4.weights data\xxx.jpg
打开电脑摄像头识别监控画面
darknet.exe detector demo cfg\coco.data cfg\yolov4.cfg yolov4.weights
识别视频(可以把视频放到data目录下)
darknet.exe detector demo cfg\coco.data cfg\yolov4.cfg yolov4.weights .\data\xxx.mp4
(如果是yolov3则把yolov4换成yolov3就好)
终端正确输出信息和识别图片:
识别样例:
遇到以下报错信息:
CUDA status Error: file: C:\Users\lin\Desktop\git\darknet\src\dark_cuda.c : get_gpu_compute_capability() : line: 499 : build time: Apr 26 2020 - 19:54:29
解决方法:关闭重启,多试几次(可能是gpu暂时被占据使用过多)
总结:以上几条命令是利用内置的coco数据集和现有的weights模型来进行目标检测的,更多的自制数据集训练,修改参数优化操作参考官网,yolo作者更换了,感觉v4比v3版本在精度上优化了一些,速度下降了一些,更多信息见官网和论文https://arxiv.org/abs/2004.10934。