尽管有大量方法声称可以独立提高目标检测器的精度,但在实践中,某些方法在结合使用时并不有效。因此,需要对这些技巧的组合进行实际测试。按照渐进的方式逐一评估其有效性。事实上,本文更像是一份技术报告,它告诉您如何逐步构建PP-YOLOv2。还涉及失效案例的理论证明。

Path Aggregation Network

使用PAN代替FPN,多了一个自顶向下的信息汇集,之前多次提及,这里不再重复。

Mish Activation Function

Mish激活函数在YOLOv4、YOLOv5等多种实际的探测器中被证明是有效的。它们在骨干中采用mish激活功能。为了保持主干不变,我们将mish激活函数应用于检测颈部而不是主干。

Larger Input Size

增加输入尺寸会扩大对象的面积。因此,小范围的目标信息将比以前更容易保存。因此,性能将得到提高。但是,较大的图像输入尺寸会占用更多的内存。要应用这个技巧,我们需要减少Batchsize。更具体地说,我们将Batchsize从每GPU 24张图像减少到每GPU 12张图像,并将最大输入尺寸从608扩大到768。

输入大小从[320、352、384、416、448、480、512、544、576、608、640、672、704、736、768]均匀绘制。

IoU Aware Branch

在PP-YOLO中,IoU aware loss采用的是软权重格式(soft weight format),与初衷不一致。因此作者采用软标签格式(soft label format)。公式为: 其中t表示锚点和它匹配的ground-truth边界框之间的IoU,p是IoU感知分支的原始输出。仅仅正样本的IoU损失进行了计算

不管用的方法

Cosine Learning Rate Decay

与线性步进学习率衰减不同,余弦学习率衰减是学习率的指数衰减。不过其对初始学习率、热身步数、结束学习率等超参数敏感,所以没有看见其对COCOtrain2017有一个积极影响。(但是对COCOminitrain产生了积极的作用)

Backbone Parameter Freezing

在对下游任务进行ImageNet预训练参数的微调时,通常会在前两个阶段冻结参数。然后这里同样是对COCOminitrain有效而对COCOtrain2017无效。

不一致现象的一个可能原因是两个训练集的大小不同,COCO minitrain2017是COCOtrain2017的五分之一。在小数据集上训练的参数的泛化能力可能比预先训练的参数差。

SiLU

对COCOminitrain有效而对COCOtrain2017无效。所以使用Mish而不是SiLU。我们不确定原因。

实验

训练方法

应用从B e t a ( α , β ) Beta(α, β)Beta(α,β)分布中采样的权重MixUp,其中α = 1.5 , β = 1.5 α=1.5, β=1.5α=1.5,β=1.5。

然后RandomColorDistortion、RandomExpand、RandCrop、RandomFlip以0.5的概率依次应用。

然后对RGB通道进行归一化处理。

最后,输入大小从[320,352,384,416,448,480,512,544,576,608]均匀抽取。

在COCOtrain2017上,使用随机梯度下降(SGD)对网络进行训练,使用分布在8个gpu上的96张图像的小批量进行500K迭代。学习率在4K迭代时从0线性增加到0.005,在400K和450K迭代时分别除以10。重量衰减设为0.0005,动量设为0.9。采用梯度裁剪来稳定训练过程

消融实验

A->B:当我们使用PAN +Mish的时候,它的mAP性能从45.1%提高到了47.1%。虽然模型B比模型A稍微慢一些,但是如此显著的增益促使我们在最终的模型中采用PAN。 B->C:由于在评估过程中YOLOv4和YOLOv5的输入大小是640,我们将训练和评估的输入大小增加到640,以建立公平的比较。业绩平均每小时增长0.6%。 C->D:不断增加输入尺寸效果更好。然而,不可能同时使用更大的输入大小和更大的批大小。我们使用更大的输入尺寸和每个GPU 12张图像训练模型D。它增加了0.6%的mAP,这比更大的Batch Size带来更多的收益。因此,在最终的实践中,我们选择bigger Input Size。输入大小从[320,352,384,416,448,480,512,544,576,608,640,672,704,736,768]均匀抽取。

D->E:改进后的IoU感知损失比之前的表现更好。在前一个版本中,在训练过程中经过数百次迭代,IoU感知损失的值将下降到1e-5。对IoU感知损失进行修改后,其值与IoU损失值处于同一数量级,是合理的。使用该策略后,模型E的mAP增加到49.1%,效率没有任何损失。

对比实验

查看原文