Files
fcb_photo_review/paddle_detection/README_cn.md
2024-08-27 14:42:45 +08:00

65 KiB
Raw Blame History

简体中文 | English

💌目录

🌈简介

PaddleDetection是一个基于PaddlePaddle的目标检测端到端开发套件在提供丰富的模型组件和测试基准的同时注重端到端的产业落地应用通过打造产业级特色模型|工具、建设产业应用范例等手段,帮助开发者实现数据准备、模型选型、模型训练、模型部署的全流程打通,快速进行落地应用。

主要模型效果示例如下(点击标题可快速跳转):

通用目标检测 小目标检测 旋转框检测 3D目标物检测
人脸检测 2D关键点检测 多目标追踪 实例分割
车辆分析——车牌识别 车辆分析——车流统计 车辆分析——违章检测 车辆分析——属性分析
行人分析——闯入分析 行人分析——行为分析 行人分析——属性分析 行人分析——人流统计

同时PaddleDetection提供了模型的在线体验功能用户可以选择自己的数据进行在线推理。

说明考虑到服务器负载压力在线推理均为CPU推理完整的模型开发实例以及产业部署实践代码示例请前往🎗️产业特色模型|产业工具

传送门模型在线体验

📣最新进展

💥 2024.6.27 飞桨低代码开发工具 PaddleX 3.0 重磅更新!

  • 低代码开发范式:支持目标检测模型全流程低代码开发,提供 Python API支持用户自定义串联模型
  • 多硬件训推支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种硬件进行模型训练与推理。

🔥超越YOLOv8飞桨推出精度最高的实时检测器RT-DETR

👫开源社区

  • 📑项目合作: 如果您是企业开发者且有明确的目标检测垂类应用需求,请扫描如下二维码入群,并联系群管理员AI后可免费与官方团队展开不同层次的合作。
  • 🏅️社区贡献: PaddleDetection非常欢迎你加入到飞桨社区的开源建设中参与贡献方式可以参考开源项目开发指南
  • 💻直播教程: PaddleDetection会定期在飞桨直播间(B站:飞桨PaddlePaddle微信: 飞桨PaddlePaddle),针对发新内容、以及产业范例、使用教程等进行直播分享。
  • 🎁加入社区: 微信扫描二维码并填写问卷之后,可以及时获取如下信息,包括:
    • 社区最新文章、直播课等活动预告
    • 往期直播录播&PPT
    • 30+行人车辆等垂类高性能预训练模型
    • 七大任务开源数据集下载链接汇总
    • 40+前沿检测领域顶会算法
    • 15+从零上手目标检测理论与实践视频课程
    • 10+工业安防交通全流程项目实操(含源码)

PaddleDetection官方交流群二维码

📖 技术交流合作

主要特性

🧩模块化设计

PaddleDetection将检测模型解耦成不同的模块组件通过自定义模块组件组合用户可以便捷高效地完成检测模型的搭建。传送门🧩模块组件

📱丰富的模型库

PaddleDetection支持大量的最新主流的算法基准以及预训练模型涵盖2D/3D目标检测、实例分割、人脸检测、关键点检测、多目标跟踪、半监督学习等方向。传送门📱模型库⚖️模型性能对比

🎗️产业特色模型|产业工具

PaddleDetection打造产业级特色模型以及分析工具PP-YOLOE+、PP-PicoDet、PP-TinyPose、PP-HumanV2、PP-Vehicle等针对通用、高频垂类应用场景提供深度优化解决方案以及高度集成的分析工具降低开发者的试错、选择成本针对业务场景快速应用落地。传送门🎗️产业特色模型|产业工具

💡🏆产业级部署实践

PaddleDetection整理工业、农业、林业、交通、医疗、金融、能源电力等AI应用范例打通数据标注-模型训练-模型调优-预测部署全流程,持续降低目标检测技术产业落地门槛。传送门💡产业实践范例🏆企业应用案例

🍱安装

参考安装说明进行安装。

🔥教程

深度学习入门教程

快速开始

数据准备

配置文件说明

模型开发

部署推理

🔑FAQ

🧩模块组件

Backbones Necks Loss Common Data Augmentation
  • Post-processing
  • Training
  • Common
  • 📱模型库

    2D Detection Multi Object Tracking KeyPoint Detection Others
  • Instance Segmentation
  • Face Detection
  • Semi-Supervised Detection
  • 3D Detection
  • Vehicle Analysis Toolbox
  • Human Analysis Toolbox
  • Sport Analysis Toolbox
  • ⚖️模型性能对比

    🖥️服务器端模型性能对比

    各模型结构和骨干网络的代表模型在COCO数据集上精度mAP和单卡Tesla V100上预测速度(FPS)对比图。

    测试说明(点击展开)
    • ViT为ViT-Cascade-Faster-RCNN模型COCO数据集mAP高达55.7%
    • Cascade-Faster-RCNN为Cascade-Faster-RCNN-ResNet50vd-DCNPaddleDetection将其优化到COCO数据mAP为47.8%时推理速度为20FPS
    • PP-YOLOE是对PP-YOLO v2模型的进一步优化L版本在COCO数据集mAP为51.6%Tesla V100预测速度78.1FPS
    • PP-YOLOE+是对PPOLOE模型的进一步优化L版本在COCO数据集mAP为53.3%Tesla V100预测速度78.1FPS
    • YOLOX和YOLOv5均为基于PaddleDetection复现算法YOLOv5代码在PaddleYOLO中,参照PaddleYOLO_MODEL
    • 图中模型均可在📱模型库中获取

    ️移动端模型性能对比

    各移动端模型在COCO数据集上精度mAP和高通骁龙865处理器上预测速度(FPS)对比图。

    测试说明(点击展开)
    • 测试数据均使用高通骁龙865(4xA77+4xA55)处理器batch size为1, 开启4线程测试测试使用NCNN预测库测试脚本见MobileDetBenchmark
    • PP-PicoDet及PP-YOLO-Tiny为PaddleDetection自研模型可在📱模型库中获取其余模型PaddleDetection暂未提供

    🎗️产业特色模型|产业工具

    产业特色模型产业工具是PaddleDetection针对产业高频应用场景打造的兼顾精度和速度的模型以及工具箱注重从数据处理-模型训练-模型调优-模型部署的端到端打通,且提供了实际生产环境中的实践范例代码,帮助拥有类似需求的开发者高效的完成产品开发落地应用。

    该系列模型工具均已PP前缀命名具体介绍、预训练模型以及产业实践范例代码如下。

    💎PP-YOLOE 高精度目标检测模型

    简介(点击展开)

    PP-YOLOE是基于PP-YOLOv2的卓越的单阶段Anchor-free模型超越了多种流行的YOLO模型。PP-YOLOE避免了使用诸如Deformable Convolution或者Matrix NMS之类的特殊算子以使其能轻松地部署在多种多样的硬件上。其使用大规模数据集obj365预训练模型进行预训练可以在不同场景数据集上快速调优收敛。

    传送门PP-YOLOE说明

    传送门arXiv论文

    预训练模型(点击展开)
    模型名称 COCO精度mAP V100 TensorRT FP16速度(FPS) 推荐部署硬件 配置文件 模型下载
    PP-YOLOE+_l 53.3 149.2 服务器 链接 下载地址

    传送门全部预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    农业 农作物检测 用于葡萄栽培中基于图像的监测和现场机器人技术提供了来自5种不同葡萄品种的实地实例 PP-YOLOE+ 下游任务 下载链接
    通用 低光场景检测 低光数据集使用ExDark包括从极低光环境到暮光环境等10种不同光照条件下的图片。 PP-YOLOE+ 下游任务 下载链接
    工业 PCB电路板瑕疵检测 工业数据集使用PKU-Market-PCB该数据集用于印刷电路板PCB的瑕疵检测提供了6种常见的PCB缺陷 PP-YOLOE+ 下游任务 下载链接

    💎PP-YOLOE-R 高性能旋转框检测模型

    简介(点击展开)

    PP-YOLOE-R是一个高效的单阶段Anchor-free旋转框检测模型基于PP-YOLOE+引入了一系列改进策略来提升检测精度。根据不同的硬件对精度和速度的要求PP-YOLOE-R包含s/m/l/x四个尺寸的模型。在DOTA 1.0数据集上PP-YOLOE-R-l和PP-YOLOE-R-x在单尺度训练和测试的情况下分别达到了78.14mAP和78.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使其能轻松地部署在多种多样的硬件上。

    传送门PP-YOLOE-R说明

    传送门arXiv论文

    预训练模型(点击展开)
    模型 Backbone mAP V100 TRT FP16 (FPS) RTX 2080 Ti TRT FP16 (FPS) Params (M) FLOPs (G) 学习率策略 角度表示 数据增广 GPU数目 每GPU图片数目 模型下载 配置文件
    PP-YOLOE-R-l CRN-l 80.02 69.7 48.3 53.29 281.65 3x oc MS+RR 4 2 model config

    传送门全部预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    通用 旋转框检测 手把手教你上手PP-YOLOE-R旋转框检测10分钟将脊柱数据集精度训练至95mAP 基于PP-YOLOE-R的旋转框检测 下载链接

    💎PP-YOLOE-SOD 高精度小目标检测模型

    简介(点击展开)

    PP-YOLOE-SOD(Small Object Detection)是PaddleDetection团队针对小目标检测提出的检测方案在VisDrone-DET数据集上单模型精度达到38.5mAP达到了SOTA性能。其分别基于切图拼图流程优化的小目标检测方案以及基于原图模型算法优化的小目标检测方案。同时提供了数据集自动分析脚本只需输入数据集标注文件便可得到数据集统计结果辅助判断数据集是否是小目标数据集以及是否需要采用切图策略同时给出网络超参数参考值。

    传送门PP-YOLOE-SOD 小目标检测模型

    预训练模型(点击展开) - VisDrone数据集预训练模型
    模型 COCOAPI mAPval
    0.5:0.95
    COCOAPI mAPval
    0.5
    COCOAPI mAPtest_dev
    0.5:0.95
    COCOAPI mAPtest_dev
    0.5
    MatlabAPI mAPtest_dev
    0.5:0.95
    MatlabAPI mAPtest_dev
    0.5
    下载 配置文件
    PP-YOLOE+_SOD-l 31.9 52.1 25.6 43.5 30.25 51.18 下载链接 配置文件

    传送门全部预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    通用 小目标检测 基于PP-YOLOE-SOD的无人机航拍图像检测案例全流程实操。 基于PP-YOLOE-SOD的无人机航拍图像检测 下载链接

    💫PP-PicoDet 超轻量实时目标检测模型

    简介(点击展开)

    全新的轻量级系列模型PP-PicoDet在移动端具有卓越的性能成为全新SOTA轻量级模型。

    传送门PP-PicoDet说明

    传送门arXiv论文

    预训练模型(点击展开)
    模型名称 COCO精度mAP 骁龙865 四线程速度(FPS) 推荐部署硬件 配置文件 模型下载
    PicoDet-L 36.1 39.7 移动端、嵌入式 链接 下载地址

    传送门全部预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    智慧城市 道路垃圾检测 通过在市政环卫车辆上安装摄像头对路面垃圾检测并分析,实现对路面遗撒的垃圾进行监控,记录并通知环卫人员清理,大大提升了环卫人效。 基于PP-PicoDet的路面垃圾检测 下载链接

    📡PP-Tracking 实时多目标跟踪系统

    简介(点击展开)

    PaddleDetection团队提供了实时多目标跟踪系统PP-Tracking是基于PaddlePaddle深度学习框架的业界首个开源的实时多目标跟踪系统具有模型丰富、应用广泛和部署高效三大优势。 PP-Tracking支持单镜头跟踪(MOT)和跨镜头跟踪(MTMCT)两种模式针对实际业务的难点和痛点提供了行人跟踪、车辆跟踪、多类别跟踪、小目标跟踪、流量统计以及跨镜头跟踪等各种多目标跟踪功能和应用部署方式支持API调用和GUI可视化界面部署语言支持Python和C++部署平台环境支持Linux、NVIDIA Jetson等。

    传送门PP-Tracking说明

    预训练模型(点击展开)
    模型名称 模型简介 精度 速度(FPS) 推荐部署硬件 配置文件 模型下载
    ByteTrack SDE多目标跟踪算法 仅包含检测模型 MOT-17 test: 78.4 - 服务器、移动端、嵌入式 链接 下载地址
    FairMOT JDE多目标跟踪算法 多任务联合学习方法 MOT-16 test: 75.0 - 服务器、移动端、嵌入式 链接 下载地址
    OC-SORT SDE多目标跟踪算法 仅包含检测模型 MOT-17 half val: 75.5 - 服务器、移动端、嵌入式 链接 下载地址
    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    通用 多目标跟踪 快速上手单镜头、多镜头跟踪 PP-Tracking之手把手玩转多目标跟踪 下载链接

    ⛷️PP-TinyPose 人体骨骼关键点识别

    简介(点击展开)

    PaddleDetection 中的关键点检测部分紧跟最先进的算法,包括 Top-Down 和 Bottom-Up 两种方法可以满足用户的不同需求。同时PaddleDetection 提供针对移动端设备优化的自研实时关键点检测模型 PP-TinyPose。

    传送门PP-TinyPose说明

    预训练模型(点击展开)
    模型名称 模型简介 COCO精度AP 速度(FPS) 推荐部署硬件 配置文件 模型下载
    PP-TinyPose 轻量级关键点算法
    输入尺寸256x192
    68.8 骁龙865 四线程: 158.7 FPS 移动端、嵌入式 链接 下载地址

    传送门全部预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    运动 健身 提供从模型选型、数据准备、模型训练优化到后处理逻辑和模型部署的全流程可复用方案有效解决了复杂健身动作的高效识别打造AI虚拟健身教练 基于PP-TinyPose增强版的智能健身动作识别 下载链接

    🏃🏻PP-Human 实时行人分析工具

    简介(点击展开)

    PaddleDetection深入探索核心行业的高频场景提供了行人开箱即用分析工具支持图片/单镜头视频/多镜头视频/在线视频流多种输入方式广泛应用于智慧交通、智慧城市、工业巡检等领域。支持服务器端部署及TensorRT加速T4服务器上可达到实时。 PP-Human支持四大产业级功能五大异常行为识别、26种人体属性分析、实时人流计数、跨镜头ReID跟踪。

    传送门PP-Human行人分析工具使用指南

    预训练模型(点击展开)
    任务 T4 TensorRT FP16: 速度FPS 推荐部署硬件 模型下载 模型体积
    行人检测(高精度) 39.8 服务器 目标检测 182M
    行人跟踪(高精度) 31.4 服务器 多目标跟踪 182M
    属性识别(高精度) 单人 117.6 服务器 目标检测
    属性识别
    目标检测182M
    属性识别86M
    摔倒识别 单人 100 服务器 多目标跟踪
    关键点检测
    基于关键点行为识别
    多目标跟踪182M
    关键点检测101M
    基于关键点行为识别21.8M
    闯入识别 31.4 服务器 多目标跟踪 182M
    打架识别 50.8 服务器 视频分类 90M
    抽烟识别 340.1 服务器 目标检测
    基于人体id的目标检测
    目标检测182M
    基于人体id的目标检测27M
    打电话识别 166.7 服务器 目标检测
    基于人体id的图像分类
    目标检测182M
    基于人体id的图像分类45M

    传送门完整预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    智能安防 摔倒检测 飞桨行人分析PP-Human中提供的摔倒识别算法采用了关键点+时空图卷积网络的技术,对摔倒姿势无限制、背景环境无要求。 基于PP-Human v2的摔倒检测 下载链接
    智能安防 打架识别 本项目基于PaddleVideo视频开发套件训练打架识别模型然后将训练好的模型集成到PaddleDetection的PP-Human中助力行人行为分析。 基于PP-Human的打架识别 下载链接
    智能安防 摔倒检测 基于PP-Human完成来客分析整体流程。使用PP-Human完成来客分析中非常常见的场景 1. 来客属性识别(单镜和跨境可视化2. 来客行为识别(摔倒识别)。 基于PP-Human的来客分析案例教程 下载链接

    🏎️PP-Vehicle 实时车辆分析工具

    简介(点击展开)

    PaddleDetection深入探索核心行业的高频场景提供了车辆开箱即用分析工具支持图片/单镜头视频/多镜头视频/在线视频流多种输入方式广泛应用于智慧交通、智慧城市、工业巡检等领域。支持服务器端部署及TensorRT加速T4服务器上可达到实时。 PP-Vehicle囊括四大交通场景核心功能车牌识别、属性识别、车流量统计、违章检测。

    传送门PP-Vehicle车辆分析工具指南

    预训练模型(点击展开)
    任务 T4 TensorRT FP16: 速度(FPS) 推荐部署硬件 模型方案 模型体积
    车辆检测(高精度) 38.9 服务器 目标检测 182M
    车辆跟踪(高精度) 25 服务器 多目标跟踪 182M
    车牌识别 213.7 服务器 车牌检测
    车牌识别
    车牌检测3.9M
    车牌字符识别: 12M
    车辆属性 136.8 服务器 属性识别 7.2M

    传送门完整预训练模型

    产业应用代码示例(点击展开)
    行业 类别 亮点 文档说明 模型下载
    智慧交通 交通监控车辆分析 本项目基于PP-Vehicle演示智慧交通中最刚需的车流量监控、车辆违停检测以及车辆结构化车牌、车型、颜色分析三大场景。 基于PP-Vehicle的交通监控分析系统 下载链接

    💡产业实践范例

    产业实践范例是PaddleDetection针对高频目标检测应用场景提供的端到端开发示例帮助开发者打通数据标注-模型训练-模型调优-预测部署全流程。 针对每个范例我们都通过AI-Studio提供了项目代码以及说明,用户可以同步运行体验。

    传送门产业实践范例完整列表

    🏆企业应用案例

    企业应用案例是企业在实生产环境下落地应用PaddleDetection的方案思路相比产业实践范例其更多强调整体方案设计思路可供开发者在项目方案设计中做参考。

    传送门企业应用案例完整列表

    📝许可证书

    本项目的发布受Apache 2.0 license许可认证。

    📌引用

    @misc{ppdet2019,
    title={PaddleDetection, Object detection and instance segmentation toolkit based on PaddlePaddle.},
    author={PaddlePaddle Authors},
    howpublished = {\url{https://github.com/PaddlePaddle/PaddleDetection}},
    year={2019}
    }