2022年新版YOLO解读(PP-YOLOE)

点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

53728384c80ac1babdc043c82a6e0469.png

作者丨陈e

来源丨 GiantPandaCV

【导语】 这是2022年第一个关于YOLO的改版,该版本由百度提出,称之为YOLOE,是目前各项指标sota的工业目检测器,性能sota且部署相对友好。

1、设计机制

该检测器的设计机制包括:

  • Anchor free无锚盒机制

  • 可扩展的backbone和neck,由CSPRepResStage(CSPNet+RMNet)构成

  • 使用Varifocal Loss(VFL)Distribution focal loss(DFL)的头部机制ET-head

  • 动态标签分配算法Task Alignment Learning(TAL)

该团队提供了s/m/l/x模型,YOLOE-l在COCO-Test中mAP达到51.1,在V100上可达71.1FPS,相对于YOLOX-l加速24.96%,mAP提高1.0,使用trt fp16进行推理可达149FPS.

a55fb09dd72af1c0bfa3b77f0176ffd0.png

论文地址: https://arxiv.org/pdf/2203.16250.pdf代码已开源: https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/ppyoloe

2、介绍

目前YOLOX以50.1达到了速度和精度的最佳平衡,V100上测试可达68FPS,是当前YOLO系列网络的集大成者,YOLOX引入了先进的动态标签分配方法,在精度方面显著优于YOLOv5,受到YOLOX的启发,作者进一步优化了之前的工作PP-YOLOv2。在PP-YOLOv2的基础上提出YOLOE,该检测器避免使用deformable convolution和matrix nms等运算操作,能在各种硬件上得到很好的支持。

YOLOE在速度和准确性权衡方面优于YOLOv5和YOLOX。在640 × 640的分辨率下,YOLOE-l 达到 51.4 mAP,78.1 FPS:

  • 以1.9% AP高于 PP-YOLOv2,

  • 以1.0% AP高于YOLOX-l(截止2月31日YOLOX官网的精度)

  • 以2.3% AP高于 YOLOv5-l(截止2月31日YOLOv5官网的精度)

YOLOE借鉴YOLOv5,采用width multiplier和depth multiplier的方式配置,支持TensorRT和ONNX,部署代码开源在PaddleDetection。

YOLOE网络结构:37b501424a59bcd5abe69a3a53850b31.png

3、方法

Anchor-free. YOLOE借鉴FCOS,在每个像素上放置一个锚点,为三个检测头设置上、下边界,将 ground truths分配给相应的特征图。然后,计算 bounding box的中心位置,选择最近的像素点作为正样本。这种方式使模型更快一些,但损失了0.3 AP。

Backbone and Neck.  Residual Connections和Dense Connections在现代卷积神经网络中得到了广泛的应用。Residual connections引入了捷径来缓解梯度消失问题,也可以作为一种模型集成方法。Dense Connections聚集了具有不同接受域的中间特征,在目标检测任务中表现出良好的性能。CSPNet利用跨阶段Dense Connections来降低计算负担,在不损失精度的情况下降低计算负担,这种方式在YOLOv4、YOLOv5上被使用,且证明是有效的。

受这些工作的启发,作者提出了一种新的RepRes-Block,通过结合Residual Connections和Dense Connections,用于YOLOE的主干和颈部。但作者简化了原始的Block(图3(a))。使用 element-wise Add操作来替换连接操作(图3(b)),这两个操作在某种程度上近似于RMNet。因此,在推理阶段,可以重新参数化为RepResBlock(图3(c))。作者使用RepResBlock构建类似于ResNet的网络,称之为CSPRepResNet(图3(d),ESE制SE注意力模块)。6955b8d18c996f3d45f1ec5341876700.pngTask Alignment Learning (TAL).  标签分配是一个重要的问题。YOLOX使用SimOTA作为标签分配策略来提高性能。然而,为了进一步克服分类和定位的错位,在TOOD中提出了Task Alignment Learning,该策略由 dynamic label assignment和task aligned loss组成。通过对齐这两个任务,TAL可以同时获得最高的分类分数和最精确的边界框。e069c11eecef6daa21ca9e83a3e23d47.png

对于task aligned loss,TOOD使用标准化,即,以替换损失中的目标。它采用每个实例内最大的IoU作为规范化。该分类的二进制交叉熵(BCE)可以重写为:

Efficient Task-aligned Head (ET-Head).  在目标检测中,分类和定位之间的任务冲突是一个众所周知的问题。YOLOX的解耦头从单级和两级探测器中吸取了教训,并成功地应用于YOLO模型。

然而,解耦头可能会使分类和定位任务独立,缺乏任务特定学习。基于TOOD,作者改进了头部,并提出了ET-Head,目标是为了更快更准。如图2所示,作者使用ESE替换TOOD中的层注意力模块,将分类分支的对齐简化,将回归分支替换为Distribution Focal Loss(DFL)层。通过上述实验,ET-Head在V100上增加了0.9ms。

对于分类任务和定位任务的学习,作者分别选择了**Varifocal Loss(VFL)Distribution focal loss(DFL)**。PP-Picodet成功地将VFL和DFL应用于目标探测器中,并获得了性能的提高。VFL与中的Quality Focal Loss(QFL)不同,VFL使用目标评分来衡量正样本的损失权重。

这种实现使得具有高IoU的正样本对损失的贡献相对较大。这也使得模型在训练时更注重高质量的样本,而不是那些低质量的样本。并且两者都用IoU感知的分类评分(IACS)作为预测的目标,这可以有效地得到classification score和localization quality estimation的联合表示,使训练和推理之间具有高度的一致性。为了解决Bounding Box表示不灵活的问题,作者提出使用一般分布来预测Bounding Box。

402 Payment Required

表示归一化的目标得分,ET-Head获得了0.5%的AP提升。

总体实验的效果如下,以PP-YOLOv2作为Baseline:d44f7dbec87fce919666c787b3abfea4.png

3、性能

YOLOE在COCO 2017 test-dev上与不同检测器的速性能比较。标有“+”的结果是相应官方发布的最新结果。标有“*”是在作者的环境中使用官方代码库和模型进行测试的结果。速度的默认精度是 FP32(不带 trt)和 FP16(带 trt)。c7d3e9c2df82b538c4c9d6719a8e7c6d.png

4、总结

YOLOE共涉及到了几项改进:

  • Anchor free无锚盒机制

  • 可扩展的backbone和neck,由CSPRepResStage(CSPNet+RMNet)构成

  • 使用Varifocal Loss(VFL)Distribution focal loss(DFL)的头部机制ET-head

  • 动态标签分配算法Task Alignment Learning(TAL)

以YOLOE-l为基准,所取得的的效果:

  • 以1.9% AP高于 PP-YOLOv2,

  • 以1.0% AP高于YOLOX-l(截止2月31日YOLOX官网的精度)

  • 以2.3% AP高于 YOLOv5-l(截止2月31日YOLOv5官网的精度)

YOLOE-X在640分辨率下mAP达到52.2%

  • 以0.7% AP高于YOLOX-X(截止2月31日YOLOX官网的精度)

  • 以1.5% AP高于 YOLOv5-X(截止2月31日YOLOv5官网的精度)

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

4850d664ff342389b3f1183d4521827c.png

▲长按加微信群或投稿

26673144c9c39f1ba5e1e2fceb868c46.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

8fec3c11304a982123ecdc760cb6c9ce.png

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~

猜你喜欢

转载自blog.csdn.net/qq_29462849/article/details/124009789
今日推荐