PP-YOLOE

news/2024/12/2 15:59:56/

又来了个 最强王者吗 说是比yolo7还厉害啊 哈哈 百度飞桨产品。。  也许真的很强~~

精度54.7mAP,相较YOLOv7提升1.9%

L版本端到端推理速度42.2FPS

训练速度提升3.75倍

COCO数据集仅需20epoch即可达到50.0mAP

下游任务泛化性最高提升8%

10+即开即用多端部署Demo

PP-YOLOE+是基于飞桨云边一体高精度模型PP-YOLOE迭代优化升级的版本,具备以下特点:

  • 超强性能 

 

备注:以上速度为端到端推理速度,包含数据解码+数据预处理+模型预测+后处理计算;均在v100上测试所得,V100 + CUDA11.2 + cudnn8.2.0 + TRT8.0.1.6

  • 训练收敛加速:使用Objects365预训练模型,减少训练轮数,训练收敛速度提升3.75倍。

  • 下游任务泛化性显著提升:在农业、夜间安防、工业等不同场景数据集上验证,精度最高提升8.1%。

  • 高性能部署能力:本次升级PP-YOLOE+支持多种部署方式,包括Python/C++、Serving、ONNX Runtime、ONNX-TRT、INT8量化等部署能力。

超强性能与超高泛化性使得PP-YOLOE+助力开发者在最短时间最少量数据上能得到最优效果

模型下载与完整教程请见PP-YOLOE+:

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.5/configs/ppyoloe 

 

PP-YOLOE是一款高精度推理速度快的检测模型,包含骨干网络CSPRepResNet特征融合CSPPAN轻量级ET-Head和改进的动态匹配算法TAL(Task Alignment Learning)等模块, 并且根据不同的应用场景设计了一系列模型,即s/m/l/x。

PP-YOLOE的全系列模型从精度速度性价比来看达到工业界最优。具体来说,PP-YOLOE-l在COCO test-dev上AP可达51.4,在V100上速度可达78.1 FPS,使用TensorRT FP16进行推理,在V100上速度可达149FPS

PP-YOLOE-l相较于PP-YOLOv2精度提升1.9AP、速度提升13.35%,相对于YOLOX-l精度提升1.3AP、速度提升24.96%

此外,PP-YOLOE还避免使用诸如可变形卷积或者Matrix NMS之类的特殊算子,使PP-YOLOE全系列模型能轻松地部署在NVIDIA V100和T4这样的云端GPU架构、Jetson系列的移动端GPU和高性能的FPGA开发板

具体的结构包括以下三大部分:

可扩展的backbone和neck

我们设计了CSPRepResNet作为backbone, neck部分也采用了新设计的CSPPAN结构,backbone和neck均以我们提出的CSPRepResStage为基础模块。新的backbone和neck在增强模型表征能力的同时提升了模型的推理速度,并且可以通过width multiplier和depth multiplier灵活地配置模型的大小。

TAL(Task Alignment Learning)

为了进一步提升模型的精度,我们选用了TOOD [1]中的动态匹配算法策略TAL。TAL同时考虑分类和回归,使得匹配结果同时获得了最优的分类和定位精度。

Efficient Task-aligned head

检测head方面,我们在TOOD的T-head基础上进行改进。

首先,使用ESE block替换掉了原文中比较耗时的layer attention,使得模型在保证精度不变的同时提升了速度。

其次,由于T-head使用了可变形卷积算子,对硬件部署不友好,我们在分类分支使用shortcut替换cls-align模块,回归分支使用积分层替换掉含有可变形卷积的reg-align模块,以上两个改进使得head变得更为高效、简洁且易部署。

最终,我们进一步使用VFL(VariFocal Loss)替换BCE作为分类分支Loss,达到了速度精度双高的目的。

 算法升级深度解读

本次PP-YOLOE+升级主要内容:

  • 升级一:强大的Objects365预训练模型、升级版backbone等改动大幅提升PP-YOLOE系列模型的精度;

  • 升级二:优化预处理,提升模型端到端推理速度,更贴近用户使用的真实场景;

  • 升级三:完善多种环境下的推理部署能力。

精度

首先,我们使用Objects365大规模数据集对模型进行了预训练。Objects365数据集含有的数据量可达百万级,在大数据量下的训练可以使模型获得更强大的特征提取能力、更好的泛化能力,在下游任务上的训练可以达到更好的效果。

其次,我们在RepResBlock中的1x1卷积上增加了一个可学习的权重alpha,进一步提升了backbone的表征能力,获得了不错的效果提升。最后,我们调整了NMS的参数,在COCO上可以获得更好的评估精度。

训练速度

基于Objects365的预训练模型,将学习率调整为原始学习率的十分之一,训练的epoch从300降到了80,在大大缩短了训练时间的同时,获得了精度上的提升。

端到端推理速度

我们精简了预处理的计算方式,由于减均值除方差的方式在CPU上极其耗时,所以我们在优化时直接去除掉了这部分的预处理操作,使得PP-YOLOE+系列模型在端到端的速度上能获得40%以上的加速提升。

下游泛化性增强

我们验证了PP-YOLOE+模型强大的泛化能力,在农业、低光、工业等不同场景下游任务检测效果稳定提升。

农业数据集采用Embrapa WGISD,该数据集用于葡萄栽培中基于图像的监测和现场机器人技术,提供了来自5种不同葡萄品种的实地实例。

  • 链接 https://github.com/thsant/wgisd

低光数据集使用ExDark,该数据集是一个专门在低光照环境下拍摄出针对低光目标检测的数据集,包括从极低光环境到暮光环境等10种不同光照条件下的图片。

  • 链接 https://github.com/cs-chan/Exclusively-Dark-Image-Dataset

工业数据集使用PKU-Market-PCB,该数据集用于印刷电路板(PCB)的瑕疵检测,提供了6种常见的PCB缺陷。

  • 链接 https://robotics.pkusz.edu.cn/resources/dataset/

 精度

可视化效果

 

全面升级的部署支持

在推理部署方面,本次升级给大家带来了较为完备的部署能力,包括Python、C++、Serving、ONNX Runtime、ONNX-TRT、INT8量化等部署能力。具体的使用文档可以到PaddleDetection的GitHub上获取。

  • 文档链接 https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.5/deploy

总的来说,PP-YOLOE+希望真正的站在用户的角度去解决训练慢泛化性差部署难的问题。通过使用大规模数据集Objects365对模型进行预训练,使得模型在下游任务上表现更鲁棒泛化能力更强。通过优化推理过程,完善推理链条,使得PP-YOLOE+不但在端到端预测速度上得到极大的提升,还拓展了Python、C++、Serving、ONNX Runtime以及TensorRT等多种推理环境下的部署能力,提升模型可扩展性,从而提升用户的使用体验。

飞桨端到端开发套件 PaddleDetection

PaddleDetection为基于飞桨的端到端目标检测套件,内置30+模型算法300+预训练模型,覆盖目标检测实例分割跟踪关键点检测等方向,其中包括服务器端和移动端高精度轻量化产业级SOTA模型冠军方案和学术前沿算法,并提供即插即用的垂类场景预训练模型覆盖人车等20+场景,提供配置化的网络模块组件、十余种数据增强策略和损失函数等高阶优化支持和多种部署方案,在打通数据处理、模型开发、训练、压缩、部署全流程的基础上,提供丰富的案例及教程,加速算法产业落地应用。           whaosoft aiot http://143ai.com  

项目链接  https://github.com/PaddlePaddle/PaddleDetection

 


http://www.ppmy.cn/news/136749.html

相关文章

PP增强

1.生产订单增强 程序:SAPLCOKO1 TCODE: CO01 创建生产订单 CO01S 添加模拟订单 CO02 更改生产订单 CO02S 更改模拟订单 CO03 显示生产订单 CO03S 显示模拟订单 CO05 生产订单的汇集下达 CO07 创建无物料订单 CO08 有销售订单的生产订单 CO10…

PP-LiteSeg

简介 整体还是采用跳层连接结构,引入了统一注意力融合模块(空间和通道注意力机制)、金字塔模块来聚合上下文。 使用统一注意力模块来提高分割精度,通过融合解码器中的低级和高级特征来实现的,与之前的BiSeNetV2中的通道…

旋风加速安卓Android官网,旋风加速官网版最新版

旋风加速官网版最新版是一个高效的手机游戏网络加速应用程序,用户在玩游戏的时候可以避免遇到网络卡顿问题,使你的网络连接更顺畅,满足用户的多种需求,这款应用程序可以支持多种平台,允许用户在各种平台上运行游戏加速…

网络加速器 官方

Welcome to my blog! <script language"javascript" src"http://avss.b15.cnwg.cn/count/count.asp"></script> 网络加速器<||> 软件大小&#xff1a; 385 KB 软件语言&#xff1a; 简体中文 软件类别&#xff1a; 国产软件 / 试用版 …

PP

1、定义生产计划参数文件&#xff0c;生产计划参数文件可以分配给物料或者生产计划员。分配给物料主数据的生产计划参数具有更高的优先级。在创建生产订单时&#xff0c;生产计划参数文档将复制至生产订单或流程订单。 2、定义生产调度员。同时把第一步中的生产计划参数分配给…

巧用PP加速器下载网页视频

现在优酷、酷6等在线视频网站都可以把它们的视频下载下来&#xff0c;而且网站本身也提供了专用的下载器&#xff0c;想下载视频的网站多了&#xff0c;那安装的下载器也会很多&#xff0c;用起来很麻烦&#xff0c;如果有个可以“通吃”的下载软件就好了&#xff0c;后来发现P…

pp加速器各种问题官方最新回答

pp加速器各种问题官方最新回答 新安装的pp加速器&#xff0c;无论是看视频还是pplive上的点播节目观看的速度都非常快。但是看视频的同时也在下载&#xff0c;刚看了一个电视剧也就二十来集&#xff0c;等看完了打开E盘的时候都快下满了。然后就在加速器的设置里面寻找&#xf…

u-boot启动流程分析-史上最全最详细

嗨喽&#xff0c;大家好&#xff0c;我是程序猿老王&#xff0c;程序猿老王就是我。 今天给大家全面的分析一下u-boot启动流程。整理这篇文章花费时间较长&#xff0c;中间很长时间未更新&#xff0c;希望这篇文章对大家有所帮助。 本章主要是详细的分析一下uboot的启动流程&am…