关于深度学习:技术干货PaddleDetection-v26发布目标小数据缺标注累泛化差PP新员逐一应对

82次阅读

共计 7373 个字符,预计需要花费 19 分钟才能阅读完成。

从 2022 年 10 月份开始,大家曾经陆续在 PaddleDetection 仓库的 develop 分支下尝鲜体验了一些预公布的新算法。现在通过 4 个月的打磨降级,PaddleDetection v2.6 正式公布,最新版本有哪些更新以及性能晋升呢?快来关上这份更新解读吧!

更新重点

  • PP-YOLOE 家族再添新员,半监督、少样本、蒸馏学习加持,旋转框、小指标、密集全场景检测笼罩;
  • PP-Human、PP-Vehicle:性能新增、推理提速、多路视频流反对;
  • 半监督检测、少样本学习、模型蒸馏算法全面开源,助力解决少样本、泛化性、标注量、冷启动问题。

可进入下方链接疾速体验

https://github.com/PaddlePaddle/PaddleDetection

对于 PaddleDetection 的技术问题以及文末彩蛋欢送大家入群探讨,也欢送大家在 GitHub点 star反对咱们的工作!

01 PP-YOLOE 家族再添新员

在理解 PP-YOLOE 家族 v2.6 降级内容前,让咱们先回顾一下 PP-YOLOE+ 模型的特点。
PP-YOLOE+ 是基于飞桨云边一体高精度模型 PP-YOLOE 迭代优化降级的版本,具备以下特点:

  • 训练收敛减速

应用 Objects365 预训练模型,缩小训练轮数,训练收敛速度晋升 3.75 倍。

  • 上游工作泛化性显著晋升

在农业、夜间安防、工业等不同场景数据集上验证,精度最高晋升 8.1%。

  • 高性能部署能力

本次降级 PP-YOLOE+ 反对多种部署形式,包含 Python/C++、Serving、ONNX Runtime、ONNX-TRT、INT8 量化等部署能力。

超强性能与超高泛化性使得 PP-YOLOE+ 助力开发者在 最短时间、最大量数据 上能失去 最优成果。如下图是 PP-YOLOE+ 各个版本模型的性能状况

下图是 PP-YOLOE+ 与其余 YOLO 支流模型的 benchmark 状况。在速度和精度下面,PP-YOLOE+ 均有劣势。

  • 理解更多

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

v2.6 更新内容 中,基于 PP-YOLOE+ 的根底:

  • 咱们补充了 旋转框检测 小指标检测 密集检测 场景 专用模型
  • 同时针对端侧 GPU 场景的超高推理速度要求,进一步补充了 轻量 通用指标检测模型 PP-YOLOE+_t 版本
  • 同时咱们提供了这些 通用模型 专用模型 (旋转框检测、小指标检测、密集检测)的 半监督学习 少样本学习 模型蒸馏 技术计划,助力解决业务场景中 少样本、泛化性、标注量、冷启动 等难题。

接下来就具体看一下吧。

PP-YOLOE+ 旋转框、小指标、密集全场景检测笼罩

PP-YOLOE-R:旋转框检测模型

PP-YOLOE-R(Rotate) 是一个高效的单阶段 Anchor-free 旋转框检测模型,基于 PP-YOLOE+ 引入了一系列改良策略来晋升检测精度。依据不同的硬件对精度和速度的要求,PP-YOLOE- R 蕴含 s /m/l/ x 四个尺寸的模型。

DOTA 1.0 数据集上,PP-YOLOE-R- l 和 PP-YOLOE-R- x 在单尺度训练和测试的状况下别离达到了 78.14mAP78.28 mAP,这在 单尺度 评估下 超过了简直所有的旋转框检测模型 。通过 多尺度训练和测试 ,PP-YOLOE-R- l 和 PP-YOLOE-R- x 的检测精度进一步晋升至 80.02mAP 和 80.73 mAP, 超过 了所有的 Anchor-free 办法并且和最先进的 Anchor-based 的两阶段模型精度简直相当。在放弃高精度的同时,PP-YOLOE-R防止应用非凡的算子 ,例如 Deformable Convolution 或 Rotated RoI Align,使其能 轻松地部署在多种多样的硬件上

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/configs/rotate/ppyoloe_r

PP-YOLOE-SOD:小指标检测模型

PP-YOLOE-SOD(Small Object Detection) 针对小指标检测提出了两种检测计划,别离是 基于切图拼图 流程优化的小指标检测计划以及 基于原图 模型算法优化的小指标检测计划。同时提供了数据集主动剖析脚本,只需输出数据集标注文件,便可失去数据集统计后果,辅助判断数据集是否是小指标数据集以及是否须要采纳切图策略,同时给出网络超参数参考值。在 VisDrone-DET 数据集上,单模型精度达到 38.5mAP。

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/configs/smalldet

PP-YOLOE-DOD:密集检测模型

PP-YOLOE-DOD(Dense Object Detection) 是基于 PP-YOLOE+ 的密集指标检测算法,针对密集检测工作,咱们做了如下优化:

  • 数据预处理
    为了适应商超数据的高分辨率,咱们增大了模型训练和推理的输出尺寸;
  • 标签匹配策略

为了适应密集场景,咱们去除了动态匹配策略,在全副的训练周期中都应用动静匹配策略。在 SKU 数据集检测精度 mAP 60.3,达到了开源最优。

理解更多

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

PP-YOLOE+_t:超轻量通用指标检测模型

PP-YOLOE+_t是对 PP-YOLOE+ x、l、m、s 版本通用检测模型的进一步丰盛,次要针 Jetson 等端侧 GPU 硬件对检测的 帧率与速度均有极高要求 的状况下提出的 超轻量模型 ,通过 优化匹配策略 减少辅助头 更小的输出尺寸 等形式优化性能与速度,实现“速度腾飞”!

比拟理解 PaddleDetection 的开发者可能晓得,咱们其实还有另一个速度腾飞的模型大杀器 PP-PicoDet,二者的次要区别是PP-PicoDet 次要是针对 Arm 等端侧 CPU 场景打造的,而 PP-YOLOE+ 次要针对GPU 场景打造。PP-YOLOE+_t聚焦于 Jetson 等边缘端 场景应用,大家在选型时能够做参考。如下图是 PP-YOLOE+_t 版本的性能体现:

  • 理解更多

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

PP-YOLOE+ 半监督、少样本和蒸馏学习计划,助力解决少样本、泛化性、标注量、冷启动问题

PP-YOLOE+ 少样本学习计划

PaddleDetection 团队针对 PP-YOLOE+ 提供了 少样本学习 的计划,引入了 Compare-Contrast 算法。

在预训练模型的根底上,仅通过 极少的标注数据 即可训练失去较好的模型成果。下表是 PP-YOLOE+_s 版本模型在 工业数据集 PKU-Market-PCB上,通过引入 少样本学习 计划,Box AP 失去了 2.4 的晋升。

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/configs/few-shot

PP-YOLOE+ 半监督学习计划

PaddleDetection 团队联合 Dense Teacher 前沿算法,针对 PP-YOLOE+ 提供了 半监督学习 计划。

半监督学习联合有标签数据和无标签数据,在 大幅节俭数据标注 的状况下,仍然达到较高的模型精度。在理论产业利用过程中,半监督学习是我的项目冷启动时常见的策略之一。下表是,在 仅采纳 5%、10% 有标签数据 进行监督学习,95%、90% 无标签数据 进行半监督学习的状况下,精度 失去了1.2~2.5 的晋升

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/configs/semi_det/baseline

PP-YOLOE+ 模型蒸馏计划

PaddleDetection 团队针对 PP-YOLOE+  提供了 模型蒸馏 计划,联合了 logits 蒸馏feature 蒸馏

模型参数量、推理速度不变 的状况下,能够迁徙 高精度大模型 的学习能力,从而达到 更高的精度。如下表,通过大模型的蒸馏,小模型均有了 1 个点的精度晋升。

  • 理解更多

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

02 PP-Human、PP-Vehicle 性能新增、推理提速

PP-Human:行人剖析工具箱,推理提速、多路视频流反对

https://www.bilibili.com/video/BV1s24y1g7Pk/?vd_source=fcca93…

PP-Human 经由实在业务场景数据深度打磨优化,领有适应不同光线、简单背景下的 人体属性特征分析、异样行为辨认、出入口人流计数与轨迹绘制、跨镜跟踪 四大外围性能。不仅如此,PP-Human 还兼容 单张图片、单路或多路视频 等多种数据输出类型,更合乎产业简单的环境利用需要,同时思考到产业自定义开发的需要,PP-Human 还提供了模型训练与性能新增全流程教程。在本次 PaddleDetection v2.6 更新中:

  • PP-YOLOE+_t 模型的加持下,PP-Human 行人剖析工具箱开源 边缘端实时检测模型 ,精度 mAP 45.7,Jetson AGX Xavier 端到端(蕴含前后解决) 推理速达到80FPS
  • 同时,反对 多路视频 流部署能力,实现 Jetson AGX Xavier 4 路视频流 端到端 20FPS 实时部署。

理解更多https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/deploy/pipeline

PP-Vehicle:车辆剖析工具箱,新增逆行、压线剖析、推理提速、多路视频流反对

PP-Vehicle 是一款针对车辆剖析相干场景的开源工具,产品次要围绕以下几个方面进行设计开发:

  • 实用性

针对车辆剖析场景共性的底层模型进行优选迭代。针对几个高频场景 车牌辨认、车流统计、违章剖析、属性剖析 等进行了具体的后处理策略设计,能够满足业务的疾速上线需要。同时提供丰盛的二次开发教程,不便用户依据本人的业务场景进行私有化开发。

  • 泛化性

在公开数据集以及自采数据集上进行充沛训练,并且提供预训练模型,笼罩车辆剖析中监控视角、驾驶员视角、俯拍视角等常见相机视角。

  • 低代码

实现 1 行代码疾速部署,反对图片、视频、单路 / 多路 rtsp 视频流输出,批改配置文件即可疾速实现策略批改以及 pipeline 的组合。
在本次 PaddleDetection v2.6 版本 更新中:

  • PP-Vehicle 车辆剖析工具箱新增车辆 逆行剖析、压线剖析 性能
  • PP-YOLOE+_t 模型的加持下,开源 边缘端实时检测模型 ,精度 mAP 53.5,Jetson AGX Xavie r 上 端到端(蕴含前后解决) 推理速度达速度80FPS
  • 同时,反对 多路视频流 部署能力,实现 Jetson AGX Xavier 4 路 视频流端到端 20FPS 实时部署

理解更多

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/deploy/pipeline

03 PP-Human、PP-Vehicle 性能新增、推理提速

除了下面的 PP-YOLOE+ 针对半监督、少样本学习、模型蒸馏计划外,咱们还开源了更多的相干模型,大家能够基于不同的模型进行相干计划测试。

半监督检测

半监督指标检测是 同时应用有标注数据和无标注数据 进行训练的指标检测,既能够极大地节俭标注老本,也能够充分利用无标注数据进一步提高检测精度。

PaddleDetection 团队复现了 DenseTeacher 半监督检测算法,用户能够下载应用。

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.6/configs/semi_det

少样本学习

PaddleDetection 团队联结百度研究院大数据实验室,在本次版本更新中开源两种少样本 (Few-Shot) 迁徙学习的新算法 Label Co-tuning 和 Contrastive Tuning,从不同角度应答标注有余的挑战,晋升模型学习效果。

跨畛域 Label Co-tuning 算法

该办法的次要思路是充分利用预训练模型的语义空间,开掘其与上游工作的关联,计算出类别之间的关系作为上游工作的辅助语义标签,作为原始 one-hot 类别标签的补充。

畛域内 Contrastive Tuning 算法

比照学习是一种通用的表征学习思路,能够学习样例级的判断特色,也可视为一种无效的数据加强策略。该算法针对指标检测的工作个性,实现 patch 级别的比照学习,以强化指标畛域的表征学习效果。

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.6/configs/few-shot

模型蒸馏

本次版本更新中,咱们开源了 FGD 蒸馏算法、LD 蒸馏算法和 CWD 蒸馏算法。

FGD 蒸馏算法

FGD 全称为 Focal and Global Knowledge Distillation for Detectors,是指标检测工作的一种蒸馏办法。FGD 蒸馏分为两个局部 Focal 和 Global。Focal 蒸馏拆散图像的前景和背景,让学生模型别离关注老师模型的前景和背景局部特色的要害像素。Global 蒸馏局部重建不同像素之间的关系并将其从老师转移到学生,以弥补 Focal 蒸馏中失落的全局信息。试验结果表明,FGD 蒸馏算法在基于 anchor 和 anchor free 的办法上能无效晋升模型精度。在 PaddleDetection 中,咱们实现了 FGD 算法,并基于 RetinaNet 算法进行了验证。

CWD 蒸馏算法

CWD 全称为 Channel-wise Knowledge Distillation for Dense Prediction*,通过最小化老师网络与学生网络的通道概率图之间的 Kullback-Leibler (KL) 散度,使得在蒸馏过程更加关注每个通道的最显著的区域,进而晋升文本检测与图像宰割工作的精度。在 PaddleDetection 中,咱们实现了 CWD 算法,并基于 GFL(Generalized Focal Loss)和 RetinaNet 模型进行了验证。

LD 蒸馏算法

LD 全称为 Localization Distillation for Dense Object Detection,将回归框示意为概率分布,把分类工作的 KD 用在定位工作上,并且应用就地取材、分而治之的策略,在不同的区域别离学习分类常识与定位常识。在 PaddleDetection 中,咱们实现了 LD 算法,并基于 GFL 模型进行了验证。

  • 理解更多

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.6/configs/slim/distill

04 PP-Human、PP-Vehicle 性能新增、推理提速

PaddleDetection 继续跟踪深度学习视觉前沿算法,并评估筛选价值比拟高的算法进行优化开源。在本次版本发新中新增如下方向算法:

  • YOLO家族新增YOLOv8、YOLOv6-3.0
  • 指标检测算法新增DINO, YOLOF
  • 新增 ViTDet 系列检测模型,PP-YOLOE+ViT_base、Mask RCNN + ViT_base、Mask RCNN + ViT_large
  • 新增 多指标跟踪 算法CenterTrack
  • 新增 旋转框检测 算法FCOSR
  • 新增 实例宰割 算法QueryInst
  • 新增 3D 关键点检测 算法Metro3d

理解更多

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.6/configs/slim/distill

05 根底能力晋升

在本次更新中,PaddleDetection 反对 Python3.10 版本、EMA 反对过滤不更新参数、AdamW 适配飞桨框架 2.4.1 版本。新增检测热力求可视化能力,适配 FasterRCNN/MaskRCNN 系列、PP-YOLOE 系列、BlazeFace、SSD、RetinaNet。

06 Roadmap of PaddleDetection

咱们曾经在 PaddleDetection Issue 区开拓了 Roadmap 专区,欢迎您在此留下贵重的倡议、新个性需要或者任何想对 PaddleDetection 团队说的话,咱们会踊跃融入到后续的版本更新中,同时也欢送大家参加到 PaddleDetection 的开源建设中。

  • Roadmap 专区

https://github.com/PaddlePaddle/PaddleDetection/issues/7892

One More Thing

2023 飞桨黑客马拉松 PaddlePaddle Hackathon 第四期现已正式启动,本次流动由深度学习技术及利用国家工程钻研核心主办,飞桨承办,英特尔作为顶级资助方,OpenVINO、Arm、Hugging Face、Jina、TVM、瑞芯微、算能、地平线等独特出品,旨在激励开发者理解与参加深度学习开源我的项目的共建。

本次流动上线 200+ 个开发工作,从框架开发、模型套件开发、模型复现、硬件我的项目开发到产业落地计划包罗万象,依据开发难度分为根底工作和进阶工作。同时提供高达 100w 的现金奖池以及飞桨黑客松证书,欢送大家来 PaddleDetection 专区支付工作:https://github.com/PaddlePaddle/Paddle/issues/51281#detection

欢送大家来官网体验 PaddleDetection 最新版本!

正文完
 0