YOLOv4论文阅读笔记整理

YOLOv4论文阅读笔记整理
摘要
作者在YOLOv3基础上使用了
WRC(weighted-Redsidual-Connections)加权残差链接、
CSP(Cross-Stage-Partial-Connections)跨阶部分链接、
CmBN(Cross mini-Batch Normalization) 跨小批量标准化 、
SAT(Self-adversarial-training)自对抗训练、
Mish(Mish-activation )激活函数、
Mosaic(Mosaic data augmentation)马赛克掩码增强、
DropBlock、
CIoU。
总结对YOLOv4的设计方面主要逻辑设计思路如下:
Backbone:CSPDarkNet53
Neck:SPP(additional block:spp_block)、PAN(path-aggregation neck)
Head:YOLOv3
Backbone trick: CutMix、Mosaic、DropBlock、Label Smoothing
Backbone Modified: Mish、 CSP、MiWRC
Detector trick:CIoU、CMBN、Mosaic、SAT、Eliminate grid sensitivity、Multiple Anchor、Cosine Annealing scheduler、Random training shape
Tector Modified: Mish、SPP、SAM、PAN、DIoU-NMS
另外一种版本设计思路如下:
Backbone:CSPResNext50
additional block:SPP_block
path-aggregation neck:PANet
Head:YOLOv3
主要贡献:
计算强度变小精度变高:通过一块1080ti/2080tij即可实现高精度高速检测
BoF和Bos的解释是不增加计算量和推理量情况下使用训练技巧训练模型从而使模型取得最佳精度(一般都是数据增强)。
改进CBN、PAN、SAM更加适合使用GPU训练方法
针对GPU在组卷积采用小数量的(1-8)组的CSPResNeXt50/CSPDarknet53
针对VPU在使用上采用组卷积而不能使用SEblock模块
backbone网络结构设计分析
输入网络分辨率
卷积网络层数量
参数数量
输出滤波器维度
CSPResNeXt50分类强、CSPDarkNet53检测强;在有条件的情况下选择具有更大感受野-用来解决小目标、更深的网络层数-能够覆盖更大面积的感受野、更多参数模-能够更好同一图像不同尺寸的目标的模型作为backbone指标对比如下表。

综上表可以看出CSPDarknet53更适合做目标检测的backbone。选定backbone后作者开始对backbone进行重新设计以获得最佳准确性收益。
1.提升模型感受野方法:使用SPP分离更重要的上下文信息,不会导致模型推理速度变慢。
2.针对FPN检测小目标效果一般但检测密集型目标上较好的效果改进方法:使用PANet的中不同的block来代替FPN得到最终模型
YOLOv4=[CSPDarknet53+SPP+PANet(path-aggregation-neck)]+YOLOv3-head
技巧
为了更好的训练目标检测模型常用的trick有以下模块方法:
激活函数方面:relu 、leaky-relu、prelu、relu6、selu、swish、mish
边框回归方面:MSE、iou、GIoU、CIoU、DIoU
数据增强方面:Cutout、Mixup、CutMix
正则化的方面:dropout、droppath、spatial dropout、dropblock
归一化的方面:BN、(GN、SN)、CBN、FRN、SyncBN
残差链接方面:(skip-connections)、Residual connections、Weighted residual connections、Cross Stage partial connections

本文采用的训练技巧:激活函数采用Mish、正则化方面采用DropBlock、单GPU上故而没有使用SyncBN、我自己在yolov5还学到了一个nvidia的两个包dial和apex方法加速四倍和精度提高,遗憾的是这个对显卡的架构有限制。

硬件优化型设计
本文一大亮点是在设计模型是考虑到硬件的擅长和限制问题,从而设计出更加适合单GPU检测器方法思路并且实验证明了该方法。
引入全新数据增强方法:Mosaic和自我对抗训练
在超参数选择的方法上:通过GA算法选择最佳超参数
在推理和训练的速度上:在训练和推理方面针对耗时组件专门改进SAM、PAN、CmBN
模型结论

你可能感兴趣的:(计算机视觉)