【YOLOv4】

这篇论文的trick是真多,消融实验做的很详细

另外如何优化网络结构做到单卡训练也是比较重要的

1、Introduction:

作者自认为的贡献:

  1. 设计了一个高效的模型,可以在单1080TI上训练,万千屌丝的救星。
  2. 验证和对比了各种各样trick在目标检测任务上的有效性。
  3. 修改了SOTA检测模型,减小了对资源的占用,可以使用单卡训练。

先看效果

2、Related work
2.1目标检测模型

介绍了1阶段2阶段,有无anchor的各种方案,把检测模型分成以下4个部分,没啥新意,跟mmdetection中的分法类似。

2.2 bag of feebies

这部分就是介绍那些通过变换训练策略提升模型能力的方法了,简称tricks,没啥干货,倒是方便了别人写论文找资料。。。

2.3 bag of specials

这部分介绍为了提升模型性能增加的一些结构,比如BiFPN, ASFF,GIoU等,作用同上。

3、Methodology

3.1 Selection of architecture

  • 网络输入的图片尺寸尽量大,有利于小目标的检测
  • 更多的层数,保证感受野足够大
  • 更多的参数量

balabala说了一堆,最终选择了 CSPDarknet53 + SSP + PANET + YOLOV3 HEAD的结构

3.2 Selection of BoF and BoS

作者从以下几个方向入手,选BoF和BoS

  • Activations: Relu, leaky-Relu等等
  • Bounding box regression loss: MSE, IOU, GIoU等
  • Data augmentation: CutOut, MixUp, CutMix
  • Regularization method: DropOut, DropPath
  • Normalization: BN, SyncBN
  • Skip-connections: 残差网络,WRC, CSP等等

3.3 Additionnal improvements

  • 新的数据增强方法,Mosaic 和 Self-Adversarial Training(SAT)
  • 优化超参
  • 优化模型用到的一些结果,使其更加高效,以便单卡训练

这里先重点说下如何优化模型的:

首先是单卡训练batch size不可能太大,作者提出提出CmBN,是CBN的变种,CBN是Cross-Iteration BN, CmBN是Cross-minibatch BN,统计只在一个Batch之间。

 另外两个小小的优化,一般般吧,一般来说单卡训练问题主要在batch size太小上,batch size小于16效果会差不少。

4.实验

直接看消融实验的结果吧,可以直观看到不同trick对于模型的影响

1、对于分类网络的影响,主干网络分别为CSPResNeXt-50和CSPDarknet-53

2、BoF和BoS对检测网络影响的消融实验

 3、另外两个消融实验(自己看吧)

结论:当然是一个又快又准的检测器了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值