简体中文 | English
PaddleDetection是一个基于PaddlePaddle的目标检测端到端开发套件,在提供丰富的模型组件和测试基准的同时,注重端到端的产业落地应用,通过打造产业级特色模型|工具、建设产业应用范例等手段,帮助开发者实现数据准备、模型选型、模型训练、模型部署的全流程打通,快速进行落地应用。
主要模型效果示例如下(点击标题可快速跳转):
通用目标检测 | 小目标检测 | 旋转框检测 | 3D目标物检测 |
---|---|---|---|
人脸检测 | 2D关键点检测 | 多目标追踪 | 实例分割 |
车辆分析——车牌识别 | 车辆分析——车流统计 | 车辆分析——违章检测 | 车辆分析——属性分析 |
行人分析——闯入分析 | 行人分析——行为分析 | 行人分析——属性分析 | 行人分析——人流统计 |
同时,PaddleDetection提供了模型的在线体验功能,用户可以选择自己的数据进行在线推理。
说明
:考虑到服务器负载压力,在线推理均为CPU推理,完整的模型开发实例以及产业部署实践代码示例请前往🎗️产业特色模型|产业工具。
传送门
:模型在线体验
PaddleDetection将检测模型解耦成不同的模块组件,通过自定义模块组件组合,用户可以便捷高效地完成检测模型的搭建。传送门
:🧩模块组件。
PaddleDetection支持大量的最新主流的算法基准以及预训练模型,涵盖2D/3D目标检测、实例分割、人脸检测、关键点检测、多目标跟踪、半监督学习等方向。传送门
:📱模型库、⚖️模型性能对比。
PaddleDetection打造产业级特色模型以及分析工具:PP-YOLOE+、PP-PicoDet、PP-TinyPose、PP-HumanV2、PP-Vehicle等,针对通用、高频垂类应用场景提供深度优化解决方案以及高度集成的分析工具,降低开发者的试错、选择成本,针对业务场景快速应用落地。传送门
:🎗️产业特色模型|产业工具。
PaddleDetection整理工业、农业、林业、交通、医疗、金融、能源电力等AI应用范例,打通数据标注-模型训练-模型调优-预测部署全流程,持续降低目标检测技术产业落地门槛。传送门
:💡产业实践范例、🏆企业应用案例。
💎稳定版本
位于release/2.5
分支,最新的v2.5版本已经在 2022.09.13 发布,版本发新详细内容请参考v2.5.0更新日志,重点更新:
🧬预览版本
位于develop
分支,体验最新功能请切换到该分支,最近更新:
群管理员AI
后可免费与官方团队展开不同层次的合作。PaddleDetection官方交流群二维码
🎈社区近期活动
文章传送门
:YOLOv8来啦!YOLO内卷期模型怎么选?9+款AI硬件如何快速部署?深度解析代码传送门
:PaddleYOLO全系列⚽️2022卡塔尔世界杯专题
文章传送门
:Yes, PP-YOLOE!80.73mAP、38.5mAP,旋转框、小目标检测能力双SOTA!活动链接传送门
:YOLO-VISION🏅️社区贡献
活动链接传送门
:Yes, PP-YOLOE! 基于PP-YOLOE的算法开发参考安装说明进行安装。
深度学习入门教程
快速开始
数据准备
配置文件说明
模型开发
部署推理
Backbones | Necks | Loss | Common | Data Augmentation |
2D Detection | Multi Object Tracking | KeyPoint Detection | Others |
各模型结构和骨干网络的代表模型在COCO数据集上精度mAP和单卡Tesla V100上预测速度(FPS)对比图。
测试说明(点击展开)
各移动端模型在COCO数据集上精度mAP和高通骁龙865处理器上预测速度(FPS)对比图。
测试说明(点击展开)
产业特色模型|产业工具是PaddleDetection针对产业高频应用场景打造的兼顾精度和速度的模型以及工具箱,注重从数据处理-模型训练-模型调优-模型部署的端到端打通,且提供了实际生产环境中的实践范例代码,帮助拥有类似需求的开发者高效的完成产品开发落地应用。
该系列模型|工具均已PP前缀命名,具体介绍、预训练模型以及产业实践范例代码如下。
简介(点击展开)
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是一个高效的单阶段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(Small Object Detection)是PaddleDetection团队针对小目标检测提出的检测方案,在VisDrone-DET数据集上单模型精度达到38.5mAP,达到了SOTA性能。其分别基于切图拼图流程优化的小目标检测方案以及基于原图模型算法优化的小目标检测方案。同时提供了数据集自动分析脚本,只需输入数据集标注文件,便可得到数据集统计结果,辅助判断数据集是否是小目标数据集以及是否需要采用切图策略,同时给出网络超参数参考值。
传送门
:PP-YOLOE-SOD 小目标检测模型。
预训练模型(点击展开)
模型 | 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,在移动端具有卓越的性能,成为全新SOTA轻量级模型。
传送门
:PP-PicoDet说明。
传送门
:arXiv论文。
预训练模型(点击展开)
模型名称 | COCO精度(mAP) | 骁龙865 四线程速度(FPS) | 推荐部署硬件 | 配置文件 | 模型下载 |
---|---|---|---|---|---|
PicoDet-L | 36.1 | 39.7 | 移动端、嵌入式 | 链接 | 下载地址 |
传送门
:全部预训练模型。
产业应用代码示例(点击展开)
行业 | 类别 | 亮点 | 文档说明 | 模型下载 |
---|---|---|---|---|
智慧城市 | 道路垃圾检测 | 通过在市政环卫车辆上安装摄像头对路面垃圾检测并分析,实现对路面遗撒的垃圾进行监控,记录并通知环卫人员清理,大大提升了环卫人效。 | 基于PP-PicoDet的路面垃圾检测 | 下载链接 |
简介(点击展开)
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之手把手玩转多目标跟踪 | 下载链接 |
简介(点击展开)
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增强版的智能健身动作识别 | 下载链接 |
简介(点击展开)
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的来客分析案例教程 | 下载链接 |
简介(点击展开)
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}
}