PaddleDetection
PaddleDetection copied to clipboard
Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
简体中文 | English

产品动态
-
🔥 2022.8.09:YOLO家族全系列模型发布
- 全面覆盖的YOLO家族经典与最新模型: 包括YOLOv3,百度飞桨自研的实时高精度目标检测检测模型PP-YOLOE,以及前沿检测算法YOLOv4、YOLOv5、YOLOX,MT-YOLOv6及YOLOv7
- 更强的模型性能:基于各家前沿YOLO算法进行创新并升级,缩短训练周期5~8倍,精度普遍提升1%~5% mAP;使用模型压缩策略实现精度无损的同时速度提升30%以上
- 完备的端到端开发支持:支持从模型训练、评估、预测到模型量化压缩,部署多种硬件的端到端开发全流程。同时支持不同模型算法灵活切换,一键实现算法二次开发
-
🔥 2022.8.01:发布PP-TinyPose升级版. 在健身、舞蹈等场景的业务数据集端到端AP提升9.1
- 新增体育场景真实数据,复杂动作识别效果显著提升,覆盖侧身、卧躺、跳跃、高抬腿等非常规动作
- 检测模型采用PP-PicoDet增强版,在COCO数据集上精度提升3.1%
- 关键点稳定性增强,新增滤波稳定方式,使得视频预测结果更加稳定平滑
-
2022.7.14:行人分析工具PP-Human v2发布
- 四大产业特色功能:高性能易扩展的五大复杂行为识别、闪电级人体属性识别、一行代码即可实现的人流检测与轨迹留存以及高精度跨镜跟踪
- 底层核心算法性能强劲:覆盖行人检测、跟踪、属性三类核心算法能力,对目标人数、光线、背景均无限制
- 极低使用门槛:提供保姆级全流程开发及模型优化策略、一行命令完成推理、兼容各类数据输入格式
-
2022.3.24:PaddleDetection发布release/2.4版本
- 发布高精度云边一体SOTA目标检测模型PP-YOLOE,提供s/m/l/x版本,l版本COCO test2017数据集精度51.6%,V100预测速度78.1 FPS,支持混合精度训练,训练较PP-YOLOv2加速33%,全系列多尺度模型,满足不同硬件算力需求,可适配服务器、边缘端GPU及其他服务器端AI加速卡。
- 发布边缘端和CPU端超轻量SOTA目标检测模型PP-PicoDet增强版,精度提升2%左右,CPU预测速度提升63%,新增参数量0.7M的PicoDet-XS模型,提供模型稀疏化和量化功能,便于模型加速,各类硬件无需单独开发后处理模块,降低部署门槛。
- 发布实时行人分析工具PP-Human,支持行人跟踪、人流量统计、人体属性识别与摔倒检测四大能力,基于真实场景数据特殊优化,精准识别各类摔倒姿势,适应不同环境背景、光线及摄像角度。
- 新增YOLOX目标检测模型,支持nano/tiny/s/m/l/x版本,x版本COCO val2017数据集精度51.8%。
简介
PaddleDetection为基于飞桨PaddlePaddle的端到端目标检测套件,内置30+模型算法及250+预训练模型,覆盖目标检测、实例分割、跟踪、关键点检测等方向,其中包括服务器端和移动端高精度、轻量级产业级SOTA模型、冠军方案和学术前沿算法,并提供配置化的网络模块组件、十余种数据增强策略和损失函数等高阶优化支持和多种部署方案,在打通数据处理、模型开发、训练、压缩、部署全流程的基础上,提供丰富的案例及教程,加速算法产业落地应用。
提供目标检测、实例分割、多目标跟踪、关键点检测等多种能力

应用场景覆盖工业、智慧城市、安防、交通、零售、医疗等十余种行业

特性
- 模型丰富: 包含目标检测、实例分割、人脸检测、关键点检测、多目标跟踪等250+个预训练模型,涵盖多种全球竞赛冠军方案。
- 使用简洁:模块化设计,解耦各个网络组件,开发者轻松搭建、试用各种检测模型及优化策略,快速得到高性能、定制化的算法。
- 端到端打通: 从数据增强、组网、训练、压缩、部署端到端打通,并完备支持云端/边缘端多架构、多设备部署。
- 高性能: 基于飞桨的高性能内核,模型训练速度及显存占用优势明显。支持FP16训练, 支持多机训练。
技术交流
-
如果你发现任何PaddleDetection存在的问题或者是建议, 欢迎通过GitHub Issues给我们提issues。
-
欢迎加入PaddleDetection QQ、微信用户群(添加并回复小助手“检测”)
套件结构概览
Architectures | Backbones | Components | Data Augmentation |
|
|
|
|
模型性能概览
各模型结构和骨干网络的代表模型在COCO数据集上精度mAP和单卡Tesla V100上预测速度(FPS)对比图。

说明:
-
CBResNet
为Cascade-Faster-RCNN-CBResNet200vd-FPN
模型,COCO数据集mAP高达53.3% -
Cascade-Faster-RCNN
为Cascade-Faster-RCNN-ResNet50vd-DCN
,PaddleDetection将其优化到COCO数据mAP为47.8%时推理速度为20FPS -
PP-YOLO
在COCO数据集精度45.9%,Tesla V100预测速度72.9FPS,精度速度均优于YOLOv4 -
PP-YOLO v2
是对PP-YOLO
模型的进一步优化,在COCO数据集精度49.5%,Tesla V100预测速度68.9FPS -
PP-YOLOE
是对PP-YOLO v2
模型的进一步优化,在COCO数据集精度51.6%,Tesla V100预测速度78.1FPS -
YOLOX
和YOLOv5
均为基于PaddleDetection复现算法 - 图中模型均可在模型库中获取
各移动端模型在COCO数据集上精度mAP和高通骁龙865处理器上预测速度(FPS)对比图。

说明:
- 测试数据均使用高通骁龙865(4*A77 + 4*A55)处理器batch size为1, 开启4线程测试,测试使用NCNN预测库,测试脚本见MobileDetBenchmark
- PP-PicoDet及PP-YOLO-Tiny为PaddleDetection自研模型,其余模型PaddleDetection暂未提供
文档教程
入门教程
- 安装说明
- 数据准备
- 30分钟上手PaddleDetecion
- FAQ/常见问题汇总
进阶教程
-
参数配置
- RCNN参数说明
- PP-YOLO参数说明
-
模型压缩(基于PaddleSlim)
- 剪裁/量化/蒸馏教程
-
推理部署
- 模型导出教程
-
Paddle Inference部署
- Python端推理部署
- C++端推理部署
- Paddle-Lite部署
- Paddle Serving部署
- ONNX模型导出
- 推理benchmark
-
进阶开发
- 数据处理模块
- 新增检测模型
课程专栏
-
2022.4.19 产业级目标检测技术与应用三日课: 超强目标检测算法矩阵、实时行人分析系统PP-Human、目标检测产业应用全流程拆解与实践
-
2022.3.26 智慧城市行业七日课: 城市规划、城市治理、智慧政务、交通管理、社区治理
产业实践范例教程
模型库
- 通用目标检测:
- 模型库
- PP-YOLOE模型
- PP-YOLO模型
- PP-PicoDet模型
- 增强版Anchor Free模型TTFNet
- 移动端模型
- 676类目标检测
- 两阶段实用模型PSS-Det
- 半监督知识蒸馏预训练检测模型
- 通用实例分割
- SOLOv2
- 旋转框检测
- S2ANet
-
关键点检测
- PP-TinyPose
- HigherHRNet
- HRNet
- LiteHRNet
-
多目标跟踪
- PP-Tracking
- DeepSORT
- JDE
- FairMOT
- ByteTrack
- 垂类领域
- 行人检测
- 车辆检测
- 人脸检测
- 场景化工具
- 实时行人分析工具PP-Human
- 比赛冠军方案
- Objects365 2019 Challenge夺冠模型
- Open Images 2019-Object Detction比赛最佳单模型
应用案例
- 人像圣诞特效自动生成工具
- 安卓健身APP
第三方教程推荐
- PaddleDetection在Windows下的部署(一)
- PaddleDetection在Windows下的部署(二)
- Jetson Nano上部署PaddleDetection经验分享
- 安全帽检测YOLOv3模型在树莓派上的部署
- 使用SSD-MobileNetv1完成一个项目--准备数据集到完成树莓派部署
版本更新
版本更新内容请参考版本更新文档
许可证书
本项目的发布受Apache 2.0 license许可认证。
贡献代码
我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。
- 感谢Mandroide清理代码并且统一部分函数接口。
- 感谢FL77N贡献
Sparse-RCNN
模型。 - 感谢Chen-Song贡献
Swin Faster-RCNN
模型。 - 感谢yangyudong, hchhtc123 开发PP-Tracking GUI界面
- 感谢Shigure19 开发PP-TinyPose健身APP
- 感谢manangoel99贡献Wandb可视化方式
引用
@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}
}