YOLO系列目标检测算法目录 - 文章链接
本文总结:
深度学习知识点总结
专栏链接:
https://blog.csdn.net/qq_39707285/article/details/124005405
此专栏主要总结深度学习中的知识点,从各大数据集比赛开始,介绍历年冠军算法;同时总结深度学习中重要的知识点,包括损失函数、优化器、各种经典算法、各种算法的优化策略Bag of Freebies (BoF)等。
使用Mixup,50%概率随机RandomColorDistortion、RandomExpand、RandCrop和RandomFlip,然后RGB通道像素标准化,最后输入尺寸变化 [320, 352, 384,416, 448, 480, 512, 544, 576, 608]。
本文继续沿用PP-YOLO的基本模型,PP-YOLO中的backbone是YOLOv3的加强版本,使用ResNet50-vd作为backbone,之后使用总共10个trick进行改进,在提高性能的同时且几乎没有增加推理时间,这10个trick包括Deformable Conv、SSLD、CoordConv、DropBlock和SPP等,具体可以看PP-YOLO这篇文章。
训练时在8个GPU上batchsize设置为96,优化器为SGD,首先迭代500K次,学习率从0-0.005线性增加,当在第400K和450K次时,学习率除以10。同时采用梯度剪切的方法来稳定训练过程。
检测不同尺度的目标是目标检测中的一个基本挑战。在实践中,开发了一个neck,用于构建所有尺度上的高级语义特征映射。
在PP-YOLO中,采用FPN来组成自底向上的路径。最近,好多FPN变体已被提出来提高金字塔的表示能力,例如,BiFPN、PAN、RFP等等。本文按照PAN的设计来聚合自上而下的信息,具体结构如图2所示。
Mish激活函数提出后已经广泛应用到多个目标检测其中,例如YOLOv4和YOLOv5中的backbone中。本文采用的PP-YOLO的backbone在ImageNet数据集上已经预训练过了,且分类准确率很高,所以就不在backbone上使用Mish,而在neck中使用Mish。
增大输入图片尺寸,相当于增加目标的面积,从而有更多的信息,因此,性能将会得到提高。然而,大的输入尺寸会占用更多的内存。为此,需要减少batchsize,本文将batchsize从每个GPU的24张图像减少到每个GPU的12张图像,并将最大的输入大小从608扩展到768。输入大小从[320,352,384,416,448,480,512,544,576,608,640,672,704,736,768]中均匀地抽取。
在PP-YOLO中,IoU感知损失以软权重格式计算,与初衷不一致。因此,本文应用了一种软标签格式。以下是IoU Aware loss的计算方式:
l o s s = − t ∗ l o g ( σ ( p ) − ( 1 − t ) ∗ l o g ( 1 − σ ( p ) ) loss=-t*log(\sigma(p)-(1-t)*log(1-\sigma(p)) loss=−t∗log(σ(p)−(1−t)∗log(1−σ(p))
其中 t t t表示锚与其匹配的GT边界框之间的IoU, p p p为IoU Aware Branch的原始输出, σ ( ⋅ ) \sigma(·) σ(⋅)代表sigmoid激活函数。注意,只计算了阳性样本的IoU感知损失。通过替换损耗函数,IoU感知分支比以前更好。
本节以一种增量的方式展示每个模块的性能提升,结果如下表所示:
Cosine学习率衰减
不同于线性步进学习率的衰减,cosine学习速率衰减是学习速率的指数衰减,因此,学习速率的变化是平滑的,这有利于训练过程。虽然cosine学习率衰减在COCO minitrain上取得了更好的性能,但它对初始学习率、步数和结束学习率等超参数很敏感。尝试了几组超参数。然而,最终并没有观察到对2017年COCO train的积极影响。
backbobne参数冻结
当对下游任务上的ImageNet预训练参数进行微调时,在前两个阶段冻结参数是一种常见的做法。由于本文预先训练的ResNet50-vd比其他的更强大(Top1准确率82.4%,Top1准确率79.3%),更有动力采用这种策略。在COCO minitrain上,参数冻结带来了1个mAP增益,而在COCO2017 train上,mAP降低了0.8%。不一致现象的一个可能的原因是两个训练集的大小不同,COCO minitrain是2017年COCO train的五分之一。在一个小数据集上训练的参数的泛化能力可能比预先训练的参数更差。
SiLU激活函数
尝试在neck部使用SiLU代替Mish,这增加了COCO minitrain数据集mAP的0.3%,但下降了2017 COCO train数据集mAP的0.5%,这个不确定原因。