PP-YOLOE论文解读

paper:PP-YOLOE: An evolved version of YOLO

official implementation:https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.7/configs/ppyoloe

third-party implementation: https://github.com/open-mmlab/mmyolo/tree/main/configs/ppyoloe

前言 

本文在PP-YOLOv2的基础上进行改进,采用anchor-free范式,用CSPRepResStage构建了更强大的backbone和neck,采用了ET-head和动态标签分配算法TAL,根据不同的场景提供了s/m/l/x模型。在Tesla V100上,PP-YOLOE-l在COCO测试集上获得了51.4mAP的精度和78.1FPS的速度,相比于上一版本的PP-YOLOv2和YOLOX分别提升了(+1.9AP,+13.35% speed up)和(+1.3AP,+24.96% speed up)。

方法介绍

Anchor-free

PP-YOLOv2采用anchor-based的方式,但anchor机制会引入更多的超参并且需要手工设计,泛化性可能不够好。本文仿照FCOS每个像素放置一个anchor point,每个检测head设置上下边界从而将ground truth分配给对应的特征图。使用anchor-free后速度快了一点但精度下降了0.3AP。

Backbone and Neck

PP-YOLOE论文解读_第1张图片

本文提出了RepResBlock结合了residual connection和dense connection,应用于backbone和neck中。作者在TreeBlock的基础上进行改进,如图3(a),简化了结构并将concat替换为add,训练阶段如图3(b)所示,推理阶段如图3(c)所示。

和ResNet类似,本文的backbone称为CSPRepResNet,包含一个由3个卷积层组成的stem和4个stage,每个stage的结构如图3(d)所示,其中用到了cross stage partial connection来减少参数,ESE(Effective Squeeze and Extraction)用来添加通道注意力。neck部分和backbone有些区别,RepResBlock中的shortcut和CSPRepResStage中的ESE都去掉了。

此外作者还是用了width缩放因子 \(\alpha\) 和深度缩放因子 \(\beta\),backbone的basic width为[64, 128, 256, 512, 1024],除了stem,basic depth为[3, 6, 6, 3]。neck部分的basic width和depth分别为[192, 384, 768]和3。不同尺度模型的 \(\alpha,\beta\) 如下

PP-YOLOE论文解读_第2张图片

Task Alignment Learning(TAL)

作者通过实验对比了不同label assignment的效果,结果如下,最终采用了效果最好的TAL。

PP-YOLOE论文解读_第3张图片

TAL在TOOD中被提出,具体介绍见TOOD: Task-aligned One-stage Object Detection 原理与代码解析-CSDN博客

Efficient Task-aligned Head(ET-head)

YOLOX中的decoupled head使分类和定位任务的学习是独立的,缺乏特定任务的学习。基于TOOD,作者改进了head提出了ET-head,其中用ESE替代TOOD中的layer attention,用distribution focal loss(DFL) layer替代原本回归分支的对齐方式,DFL的具体介绍见Generalized Focal Loss 原理与代码解析_self.reg_max是啥-CSDN博客。ET-head的结构如图2所示

PP-YOLOE论文解读_第4张图片

对于损失函数,分类和定位任务分别采用varifocal loss(VFL)和distribution focal loss(DFL)。和QFL不同的是VFL使用target score作为正样本损失的权重,这使得IoU值大的正样本对损失的贡献更大,从而是模型更关注高质量的正样本。相同点是都是用IoU-aware的分类得分(IACS)作为分类的预测目标,从而可以学习分类得分和定位质量的联合表示。关于VFL的具体介绍见VarifocalNet: An IoU-aware Dense Object Detector(CVPR 2021)原理与代码解析-CSDN博客

以上各点改进在baseline PP-YOLOv2上的提升具体如下

PP-YOLOE论文解读_第5张图片

参考 

TOOD: Task-aligned One-stage Object Detection 原理与代码解析-CSDN博客

Generalized Focal Loss 原理与代码解析_self.reg_max是啥-CSDN博客

VarifocalNet: An IoU-aware Dense Object Detector(CVPR 2021)原理与代码解析-CSDN博客

你可能感兴趣的:(Object,Detection,YOLO,深度学习,计算机视觉,目标检测,YOLO)