Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳

Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图
Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

作者 | VincentLee来源 | 晓飞的算法工程笔记
Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

简介
Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

论文提出YOLOv4 , 从图1的结果来看 , 相对于YOLOv3在准确率上提升了近10个点 , 然而速度并几乎没有下降 , 论文主要贡献如下:

  • 提出速度更快、精度更好的检测模型 , 仅需要单张1080Ti或2080Ti即可完成训练 。
  • 验证了目前SOTA的Bag-ofFreebies(不增加推理成本的trick)和Bag-of-Specials(增加推理成本的trick)的有效性 。
  • 修改了SOTA方法 , 让其更高效且更合适地在单卡进行训练 , 包括CBN、PAN、SAM等 。
Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

方法论 Selection of architecture 对检测模型来说 , 分类最优的主干网络不一定是最合适的 , 适用于目标检测的主干网络需满足以下要求:
  • 高输入分辨率 , 提高小物体的检测准确率 。
  • 更多的层 , 提高感受域来适应输入的增加 。
  • 更多的参数 , 提高检测单图多尺寸目标的能力 。

Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

理论来讲 , 应该选择感受域更大且参数了更大的模型作为主干网络 , 表1对比了三种SOTA主干网络的 , 可以看到CSPDarknet53的感受域、参数量以及速度都是最好的 , 故选其为主干网络 。
Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

另外 , 使用不同大小的感受域有以下好处:
  • 匹配物体大小 , 可以观察完整的物体 。
  • 匹配网络大小 , 可以观察物体的上下文信息 。
  • 超过网络的大小 , 增加点与最终激活之间的连接数 。
为此 , YOLOv4加入了SPP block , 能够显著地改善感受域大小 , 而且速度几乎没有什么下降 。
Mosaic:YOLOv4来了,大型调优现场,速度和准确率俱佳
本文插图

另外 , 使用PANet替换FPN来进行多通道特征的融合 。
最终 , YOLOv4选择CSPDarknet53作为主干网络 , 配合SPP模块 , PANet通道融合以及YOLOv3的anchor based head 。
Selection of BoF and BoS 目前比较有效的目标检测提升的trick:
  • 激活函数: ReLU, leaky-ReLU, parametric-ReLU, ReLU6, SELU, Swish, or Mish 。
  • bbox回归损失: MSE, IoU, GIoU, CIoU, DIoU
  • 数据增强: CutOut, MixUp, CutMix
  • 正则化方法: DropOut, DropPath, Spatial DropOut, or DropBlock
  • 归一化方法: Batch Normalization(BN), Cross-GPU Batch Normalization(CGBN or SyncBN), Filter Response Normalization (FRN), or Cross-Iteration Batch Normalization(CBN)
由于PReLU和SELU难以训练 , 并且ReLU6是专门为量化网络设计的 , 从激活函数中去除这几种 。 而在正则化方法中 , DropBlock的效果是最优的 。 对于归一化方法的选择 , 由于需要单卡训练 , 因此不考虑SyncBN 。


推荐阅读