【YOLO V4】 速度和准确度更优的目标检测并附源码

在这里插入图片描述
从图中可以看到,最新的YOLO V4 版本的速度比EfficientDet 快了 2倍在大致相同的AP 表现下。相比之前的YOLO V3 AP和FPS 分别提升了 10% 和 12%。

摘要:

据说有许多功能可以提高卷积神经网络(CNN)的准确性。需要在大型数据集上对这些特征的组合进行实际测试,并对结果进行理论证明。某些功能仅在某些模型上运行,并且仅在某些问题上运行,或者仅在小型数据集上运行;而某些功能(例如批归一化和残差连接)适用于大多数模型,任务和数据集。我们假设此类通用功能包括加权残差连接(WRC),跨阶段部分连接(CSP),跨小批量标准化(CmBN),自对抗训练(SAT)和Mish激活。我们使用新功能:WRC,CSP,CmBN,SAT,Mish激活,马赛克数据增强,CmBN,DropBlock正则化和CIoU丢失,并结合其中的一些来达到最先进的结果:在MS VCO数据集上,Tesla V100的实时速度为〜65 FPS时为43.5%AP(65.7%AP50)。
论文的源码链接:https://github.com/JianqiuChen/darknet

Related work

目标检测模型

现代的检测器通常由两部分组成,一个是在ImageNet上预训练的骨架,另一个是用来预测对象的类别和边界框的主要部分。对于在GPU平台上运行的那些检测器,其主干可能是VGG [68],ResNet [26],ResNeXt [86]或DenseNet [30]。对于在CPU平台上运行的那些检测器,其主干可以是SqueezeNet [31],MobileNet [28、66、27、74]或ShuffleNet [97、53]。至于头部,通常分为两类,即一级目标检测器和二级目标检测器。最具有代表性的两级对象检测器是R-CNN [19]系列,包括快速R-CNN [18],更快的R-CNN [64],R-FCN [9]和Libra R-CNN [ 58]。也可以使两阶段物体检测器成为无锚物体检测器,例如RepPoints [87]。对于一级目标检测器,最具代表性的模型是YOLO [61、62、63],SSD [50]和RetinaNet [45]。近年来,开发了无锚的一级物体检测器。这种检测器是CenterNet [13],CornerNet [37、38],FCOS [78]等。近年来开发的对象检测器通常在骨架和头部之间插入一些层,通常使用这些层。收集不同阶段的要素地图。我们可以称其为对象检测器的颈部。通常,颈部由几个自下而上的路径和几个自上而下的路径组成。配备此机制的网络包括功能金字塔网络(FPN)[44],路径聚集网络(PAN)[49],BiFPN [77]和NAS-FPN [17]。
除上述模型外,一些研究人员还着重于直接构建用于对象检测的新主干网(DetNet [43],DetNAS [7])或新的整个模型(SpineNet [12],HitDeector [20])。 。
综上所述,普通的物体检测器由以下几部分组成:
在这里插入图片描述

Bag of freebies

通常,传统的物体检测器是离线训练的。因此,研究人员总是喜欢利用这一优势,并开发出更好的训练方法,这些方法可以使目标检测器获得更好的精度而又不会增加推理成本。我们称这些方法为“免费赠品”,仅改变培训策略或仅增加培训成本。物体检测方法经常采用并且符合自由袋定义的是数据增强。数据增强的目的是增加输入图像的可变性,从而使设计的物体检测模型对从不同环境获得的图像具有更高的鲁棒性。例如,光度畸变和几何畸变是两种常用的数据增强方法,它们无疑有益于物体检测任务。在处理光度失真时,我们会调整图像的亮度,对比度,色相,饱和度和噪点。对于几何失真,我们添加了随机缩放,裁

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux创始人LinusTorvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步化和创新。  YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。YOLOv3的实现Darknet是使用C语言开发的轻型开深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。  本课程将解析YOLOv3的实现原理和码,具体内容包括: YOLO目标检测原理  神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算 代码阅读工具及方法 深度学习计算的利器:BLAS和GEMM GPU的CUDA编程方法及在Darknet的应用 YOLOv3的程序流程及各层的码解析本课程将提供注释后的Darknet的码程序文件。  除本课程《YOLOv3目标检测:原理与码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括:   《YOLOv3目标检测实战:训练自己的数据集》  《YOLOv3目标检测实战:交通标志识别》  《YOLOv3目标检测:原理与码解析》  《YOLOv3目标检测:网络模型改进方法》 建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值