YOLOv4: Optimal Speed and Accuracy of Object Detection 论文笔记

YOLOv4: Optimal Speed and Accuracy of Object Detection 论文笔记论文连接:https://arxiv.org/abs/2004.10934论文代码:https://github.com/AlexeyAB/darknet本以为YOLO系列因为作者的原因不会再更新了,没想到前些日子居然在GitHub上更新了yolov4的论文和代码。虽然作...
摘要由CSDN通过智能技术生成

YOLOv4: Optimal Speed and Accuracy of Object Detection 论文笔记

论文连接:https://arxiv.org/abs/2004.10934
论文代码:https://github.com/AlexeyAB/darknet

本以为YOLO系列因为作者的原因不会再更新了,没想到前些日子居然在GitHub上更新了yolov4的论文和代码。虽然作者不一样了,但是论文的目的是一样的,都是在研究高fps下准确率更高的检测网络。下图是coco数据集上yolov4与其他检测网络的FPS与AP比较。
在这里插入图片描述
可以看到YOLO v4相比YOLO v3的提升还是蛮大的,相同FPS下提升了大约10%的AP,我觉得基本上可以说是做到了精度高的模型(AP>40)里速度最快的,速度快的模型(FPS>30)里精度最高的。那接下来让我们看看相比yolo v3论文里又做了哪些提升吧。

Introduction

作者在第一章里先是介绍了他们的研究是用来解决CNN检测网络在单GPU上的训练以及实时推断的问题,也就是说YOLO v4是可以在单卡上进行训练以及实时检测的。然后作者在文章中阐明了他们的研究目的设计一个可以在工业系统上快速计算并且实现最优的平行计算能力的目标检测器,而不是低计算量(BFLOP)的检测器(这句话在文章进行了多次强调)。并提出了他们的主要贡献有以下三点:

  1. 提出了一个更高效的检测模型,并且可以在单独的一块1080ti或者2080ti上训练。
  2. 通过实验证实了一些SOTA的Bag-of-Freebies 和 Bag-of-Specials方法对检测网络的影响。这Bag-of-Freebies 和 Bag-of-Specials主要是指能够提升网络性能的训练方法、网络模块和计算函数等,论文后面会说。(不过我这种菜🐔之前一般把这些方法统称为tricks🐶)。
  3. 对一些SOTA的方法做了进一步的提升,例如CBN、PAN、SAM等

Related work

Object detection models

作者在这一节主要是对当今的检测模型做了一个大致的归纳,具体可以看下图:
在这里插入图片描述
现在的CNN检测模型一般可以分为图上的几个部分,分别是Input、Backbone、Neck、Dense Prediction 和Sparse Prediction。其中Input就是只网络的输入,一般是图像或者图像金字塔这些;Backbone是指骨干网络用来提取输入图片的特征,一般是VGG、ResNet这些比较成熟的图像分类网络去掉的最后的全连接层;Neck是指对图像不同特征进行融合的部分,像FPN、PANet、Bi-FPN这种;Dense Prediction是指一般单阶段检测网络的heads部分,主要用来对每个特征进行分类和位置回归;Sparse Prediction则是指一般双阶段检测网络的提取proposals(例如RPN层)以及分类回归的he

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:原理与源码解析》,课程链接 https://edu.csdn.net/course/detail/29865【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!  代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。【课程内容与收获】 本课程将解析YOLOv4的实现原理和源码,具体内容包括:- YOLOv4目标检测原理- 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算- 代码阅读工具及方法- 深度学习计算的利器:BLAS和GEMM- GPU的CUDA编程方法及在darknet的应用- YOLOv4的程序流程- YOLOv4各层及关键技术的源码解析本课程将提供注释后的darknet的源码程序文件。【相关课程】 除本课程《YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括:《YOLOv4目标检测实战:训练自己的数据集》《YOLOv4-tiny目标检测实战:训练自己的数据集》《YOLOv4目标检测实战:人脸口罩佩戴检测》《YOLOv4目标检测实战:中国交通标志识别》建议先学习一门YOLOv4实战课程,对YOLOv4的使用方法了解以后再学习本课程。【YOLOv4网络模型架构图】 下图由白勇老师绘制  
需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:原理与源码解析》 【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来! 代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。【课程内容与收获】 本课程将解析YOLOv4的实现原理和源码,具体内容包括:- YOLOv4目标检测原理- 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算- 代码阅读工具及方法- 深度学习计算的利器:BLAS和GEMM- GPU的CUDA编程方法及在darknet的应用- YOLOv4的程序流程- YOLOv4各层及关键技术的源码解析本课程将提供注释后的darknet的源码程序文件。【相关课程】 除本课程《Windows版YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括:《Windows版YOLOv4目标检测实战:训练自己的数据集》《Windows版YOLOv4-Tiny目标检测实战:训练自己的数据集》《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》《Windows版YOLOv4目标检测实战:中国交通标志识别》建议先学习一门YOLOv4实战课程,对YOLOv4的使用方法了解以后再学习本课程。【YOLOv4网络模型架构图】 下图由白勇老师绘制  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值