2022年新版YOLO解读(PP-YOLOE)
点击上方“计算机视觉工坊”,选择“星标”干货第一时间送达作者丨陈e来源丨GiantPandaCV【导语】 这是2022年第一个关于YOLO的改版,该版本由百度提出,称之为YOLOE,是目前各项指标sota的工业目检测器,性能sota且部署相对友好。1、设计机制该检测器的设计机制包括:Anchor free无锚盒机制可扩展的backbone和neck,由CSPRepRes...
点击上方“计算机视觉工坊”,选择“星标”
干货第一时间送达
作者丨陈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://i-blog.csdnimg.cn/blog_migrate/2e32672797054c1f998026bf68859ce6.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网络结构:
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注意力模块)。Task Alignment Learning (TAL). 标签分配是一个重要的问题。YOLOX使用SimOTA作为标签分配策略来提高性能。然而,为了进一步克服分类和定位的错位,在TOOD中提出了Task Alignment Learning,该策略由 dynamic label assignment和task aligned loss组成。通过对齐这两个任务,TAL可以同时获得最高的分类分数和最精确的边界框。
对于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:
3、性能
YOLOE在COCO 2017 test-dev上与不同检测器的速性能比较。标有“+”的结果是相应官方发布的最新结果。标有“*”是在作者的环境中使用官方代码库和模型进行测试的结果。速度的默认精度是 FP32(不带 trt)和 FP16(带 trt)。
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视觉精品课程推荐:
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
更多推荐
所有评论(0)