YOLOv4:Optimal Speed and Accuracy of Object Detection阅读笔记 2020-05-17 字数统计: 1.6k字 | 阅读时长: 6分 文章导航 × 文章目录 1. 摘要2. Introduce:3. Relate Works3.1. Bag of freebies:3.2. Bag of specials:4. 网络结构5. Experiments5.1. 实验建立5.2. 不同特征对分类器训练的影响5.3. 不同特征对检测器训练的影响5.4. 不同的backbone和预先训练的重量对检波器训练的影响5.5. 不同的mini-batch size对检测器训练的影响6. Results 论文: https://arxiv.org/pdf/2004.10934.pdf代码: https://github.com/AlexeyAB/darknet 总结:速度差不多的精度碾压,精度差不多的速度碾压!YOLOv4是各种调优方法的集大成者,由最好的配置组成。 摘要有许多功能可以提高卷积神经网络(CNN)的准确性。需要在大型数据集上对这些特征的组合进行实际测试,并对结果进行理论证明。一些功能仅在某些模型上运行,并且仅在某些问题上运行,或者仅在小规模数据集上运行; 而某些功能(例如批归一化和残差连接)适用于大多数模型,任务和数据集。我们假设此类通用功能包括加权残差连接(WRC),跨阶段部分连接(CSP),跨小批量标准化(CmBN),自对抗训练(SAT)和Mish激活函数。我们使用以下新功能:WRC,CSP,CmBN,SAT,Mish激活,Mosaic数据增强,DropBlock正则化和CIoU_loss,并结合使用其中的一些功能以实现最新的结果:43.5%的AP(65.7% AP50 在Tesla V100上,MS COCO数据集的实时速度约为65 FPS)。 Introduce:作者都用了哪些调优手段:Weighted-Residual-Connections 加权残差链接Cross-Stage-Partial-connections 跨阶段部分连接Cross mini-Batch Normalization 跨小批量标准化Self-adversarial-training 自对抗训练Mish activation Mish激活Mosaic data augmentation 马赛克数据增强DropBlock regularization DropBlock正则化CIoU loss* CIoU损失 这篇文章的贡献如下: 开发了一个高效、强大的目标检测模型。它使每个人都可以使用1080 Ti或2080 TiGPU来训练一个超级快速和准确的目标探测器。 验证了在检测器训练过程中,最先进的Bag-of-Freebies和Bag-of-Specials 的目标检测方法的影响。 修改了最先进的方法,使其更有效,更适合于单GPU训练,包括CBN、PAN、SAM等。 Relate Works作者对现有目标检测算法进行了总结:目前检测器通常可以分为以下几个部分,不管是two-stage还是one-stage都可以划分为如下结构,只不过各类目标检测算法设计改进侧重在不同位置: 作者把所有的调优手段分为了两大类“Bag of freebies(免费礼包)”和“Bag of specials(特价包)”。 Bag of freebies:是指在离线训练阶段为了提升精度而广泛使用的调优手段,而这种技巧并不在推断中使用,不会增加推断时间。1)数据类:数据增强(random erase/CutOut/hide-and-seek/grid mask/MixUp/CutMix/GAN)数据分布:two-stage的有难例挖掘,one-stage的有focal loss。 2)特征图类:DropOut/DropConnect/DropBlock 3)Bounding Box目标函数类:MSE/ IoU loss/l1、l2 loss/GIoU loss/DIoU loss/CIoU loss YOLOv4 - use:1)主干网络:CutMix and Mosaic data augmentation、DropBlock regularization、Class label smoothing、2)检测端:CIoU-loss、CmBN、Self-Adversarial Training、Eliminate grid sensitivity、Using multiple anchors for a single ground truth、Cosine annealing scheduler、模拟余弦退火Optimal hyperparameters、Random training shapes。 Bag of specials:是指在推断过程中增加的些许成本但能换来较大精度提升的技巧。 1)增大感受野类:SPP/ASPP/RFB 2)注意力类:Squeeze-and-Excitation (SE)/Spatial Attention Module (SAM) 3)特征集成类:SFAM/ASFF/BiFPN 4)激活函数类:ReLu/LReLU/PReLU/ReLU6/Scaled ExponentialLinear Unit (SELU)/Swish/hard-Swish/Mish 5)后处理类:soft NMS/DIoU NMS YOLOv4 - use:1)主干网络:Mish activation、CSP、(跨阶段部分连接)MiWRC、2)检测端:SPP-block、SAM、(Spatial Attention Module)PAN、DIoU-NMS 网络结构 在ILSVRC2012 (ImageNet)数据集上的分类任务,CSPResNext50要比CSPDarknet53好得多。然而,在COCO数据集上的检测任务,CSP+Darknet53比CSPResNext50更好。 backbone:CSP+Darknet53 additional module:SPP neck:PANet head:YOLOv3 (anchor based) 新增改进:为了使检测器更适合于单GPU上的训练,做了如下补充设计和改进: 1、引入了一种新的数据增强方法Mosaic和自对抗训练(SAT) 2、在应用遗传算法的同时选择最优超参数 3、修改了一些现有的方法,如:SAM,PAN,CmBN Experiments实验建立在ImageNet图像分类实验中,默认的超参数如下:训练步骤为8,000,000;批量尺寸为128,小批量尺寸为32;采用多项式衰减学习速率调度策略初始学习速率为0.1,热身步骤为1000;momentum和weight衰减分别设置为0.9和0.005. 在BoF实验中,还增加了50%的训练步骤,验证了混合、切分、镶嵌、模糊数据增强和标签平滑正则化方法。在BoS实验中,使用与默认设置相同的超参数。比较了LReLU、Swish和Mish激活函数的作用。所有实验均使用1080Ti或2080Ti GPU进行训练。 MS COCO目标检测实验中,默认的超参数为:训练步骤为500500;采用初始学习速率0.01的步长衰减学习速率策略,在400000步和450000步分别乘以因子0.1;momentum衰减为0.9,weight衰减为0.0005。所有的架构都使用一个GPU来执行批处理大小为64的多尺度训练,而小批处理大小为8或4取决于架构和GPU内存限制。 对于所有实验,只使用一个GPU训练,因此不会使用syncBN等优化多个gpu的技术。 不同特征对分类器训练的影响类标签平滑、不同数据增强技术、双侧模糊、MixUp、CutMix和Mosaic的影响,以及不同激活的影响,如Leaky-ReLU(默认)、Swish和Mish。 不同特征对检测器训练的影响进一步研究不同的Bag-of-Freebies (BoF-detector)对detector训练精度的影响,如表4所示。通过研究在不影响FPS的情况下提高检测精度的不同特征。进一步研究不同的bag-of-specials(boss-detector)对检测器训练精度的影响,包括PAN、RFB、SAM、Gaussian YOLO(G)、ASFF,如表5所示。 不同的backbone和预先训练的重量对检波器训练的影响 不同的mini-batch size对检测器训练的影响 Results与目前较前沿检测模型的比较: 由于不同的方法使用不同架构的gpu进行推理时间验证,我们将yolov4运行在通常采用的Maxwell架构、Pascal架构和Volta架构的gpu上,并将其与其他最先进的方法进行比较。(见论文) 赏 谢谢你请我吃糖果 支付宝 微信 目标检测 one-stage YOLOv4 扫一扫,分享到微信