目标检测YOLOv4

这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战

软硬件环境

  • ubuntu 18.04 64bit
  • nvidia gtx 1660
  • YOLOv4

YOLOv4

YOLO 是目标检测领域非常优秀的算法之一,近日,YOLO 第四个版本发布了,论文地址: arxiv.org/pdf/2004.10…,该论文提出了五大改进,二十多个技巧,效果显著,同样的,YOLOv4 也是基于 darknet 框架。

YOLOv4检测

工程源码托管在 github.com/AlexeyAB/da…,基本使用方法跟 YOLOv3 是一模一样的,如果不清楚的话,可以参考之前的文章 Darknet基本使用

首先我们需要下载 YOLOv4 的模型文件,地址是 drive.google.com/open?id=1ce…,如果链接打不开的话,请到下面链接下载

接下来还是下载源码

git clone https://github.com/AlexeyAB/darknet.git
cd darknet
复制代码

默认情况下,Makefile 没有打开 gpucudnnopencv 等选项,我这边是有这些环境的,关于 cudacudnn的安装,可以参考之前的链接 xugaoxiang.com/2019/12/13/…

所以呢,还是要根据自己的实际情况,编辑 Makefile,修改

GPU=1
CUDNN=1
OPENCV=1
复制代码

修改成功后开始编译,直接输入命令 make

make
复制代码

等到编译过程结束,在当前目录下会生成可执行文件 darknet

最后,我们来测试下

# 图片检测
./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg
复制代码

yolov4

# 图片检测
./darknet detect cfg/yolov4.cfg yolov4.weights data/horses.jpg
复制代码

yolov4

对比下 YOLOv3 的检出结果,直观的就能发现,YOLOv4 能够检测出 dog.jpg 右上角的 pottedplant,而 YOLOv3 不行;在 horses.jpg 中,YOLOv4 可以检测出所有的马匹,而 YOLOv3 只能检出4匹

参考资料

猜你喜欢

转载自juejin.im/post/7035867819216470024