/PaddleDet

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.

Primary LanguagePythonApache License 2.0Apache-2.0

简体中文 | English

飞桨目标检测开发套件,端到端地完成从训练到部署的全流程目标检测应用。

产品动态

  • 🔥 2022.7.14:行人分析工具PP-Human v2发布
    • 四大产业特色功能:高性能易扩展的五大复杂行为识别、闪电级人体属性识别、一行代码即可实现的人流检测与轨迹留存以及高精度跨镜跟踪
    • 底层核心算法性能强劲:覆盖行人检测、跟踪、属性三类核心算法能力,对目标人数、光线、背景均无限制
    • 极低使用门槛:提供保姆级全流程开发及模型优化策略、一行命令完成推理、兼容各类数据输入格式

活动预告 7月19日晚20点,PaddleDetection举办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%。
  • 2021.11.03: PaddleDetection发布release/2.3版本

    • 发布轻量级检测特色模型⚡PP-PicoDet,0.99m的参数量可实现精度30+mAP、速度150FPS。
    • 发布轻量级关键点特色模型⚡PP-TinyPose,单人场景FP16推理可达122FPS、51.8AP,具有精度高速度快、检测人数无限制、微小目标效果好的优势。
    • 发布实时跟踪系统PP-Tracking,覆盖单、多镜头下行人、车辆、多类别跟踪,对小目标、密集型特殊优化,提供人、车流量技术解决方案。
    • 新增Swin TransformerTOODGFL目标检测模型。
    • 发布Sniper小目标检测优化模型,发布针对EdgeBoard优化PP-YOLO-EB模型。
    • 新增轻量化关键点模型Lite HRNet关键点模型并支持Paddle Lite部署。
  • 2021.08.10: PaddleDetection发布release/2.2版本

  • 2021.05.20: PaddleDetection发布release/2.1版本

简介

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

提供目标检测、实例分割、多目标跟踪、关键点检测等多种能力

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

特性

  • 模型丰富: 包含目标检测实例分割人脸检测关键点检测多目标跟踪250+个预训练模型,涵盖多种全球竞赛冠军方案。
  • 使用简洁:模块化设计,解耦各个网络组件,开发者轻松搭建、试用各种检测模型及优化策略,快速得到高性能、定制化的算法。
  • 端到端打通: 从数据增强、组网、训练、压缩、部署端到端打通,并完备支持云端/边缘端多架构、多设备部署。
  • 高性能: 基于飞桨的高性能内核,模型训练速度及显存占用优势明显。支持FP16训练, 支持多机训练。

技术交流

  • 如果你发现任何PaddleDetection存在的问题或者是建议, 欢迎通过GitHub Issues给我们提issues。

  • 欢迎加入PaddleDetection QQ、微信用户群(添加并回复小助手“检测”)

套件结构概览

Architectures Backbones Components Data Augmentation
  • Object Detection
    • Faster RCNN
    • FPN
    • Cascade-RCNN
    • Libra RCNN
    • Hybrid Task RCNN
    • PSS-Det
    • RetinaNet
    • YOLOv3
    • YOLOv4
    • PP-YOLOv1/v2
    • PP-YOLO-Tiny
    • PP-YOLOE
    • YOLOX
    • SSD
    • CornerNet-Squeeze
    • FCOS
    • TTFNet
    • PP-PicoDet
    • DETR
    • Deformable DETR
    • Swin Transformer
    • Sparse RCNN
  • Instance Segmentation
    • Mask RCNN
    • SOLOv2
  • Face Detection
    • FaceBoxes
    • BlazeFace
    • BlazeFace-NAS
  • Multi-Object-Tracking
    • JDE
    • FairMOT
    • DeepSORT
  • KeyPoint-Detection
    • HRNet
    • HigherHRNet
  • ResNet(&vd)
  • ResNeXt(&vd)
  • SENet
  • Res2Net
  • HRNet
  • Hourglass
  • CBNet
  • GCNet
  • DarkNet
  • CSPDarkNet
  • VGG
  • MobileNetv1/v3
  • GhostNet
  • Efficientnet
  • BlazeNet
  • Common
    • Sync-BN
    • Group Norm
    • DCNv2
    • Non-local
  • KeyPoint
    • DarkPose
  • FPN
    • BiFPN
    • BFP
    • HRFPN
    • ACFPN
  • Loss
    • Smooth-L1
    • GIoU/DIoU/CIoU
    • IoUAware
  • Post-processing
    • SoftNMS
    • MatrixNMS
  • Speed
    • FP16 training
    • Multi-machine training
  • Resize
  • Lighting
  • Flipping
  • Expand
  • Crop
  • Color Distort
  • Random Erasing
  • Mixup
  • AugmentHSV
  • Mosaic
  • Cutmix
  • Grid Mask
  • Auto Augment
  • Random Perspective

模型性能概览

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

说明:

  • CBResNetCascade-Faster-RCNN-CBResNet200vd-FPN模型,COCO数据集mAP高达53.3%
  • Cascade-Faster-RCNNCascade-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
  • YOLOXYOLOv5均为基于PaddleDetection复现算法
  • 图中模型均可在模型库中获取

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

说明:

  • 测试数据均使用高通骁龙865(4*A77 + 4*A55)处理器batch size为1, 开启4线程测试,测试使用NCNN预测库,测试脚本见MobileDetBenchmark
  • PP-PicoDetPP-YOLO-Tiny为PaddleDetection自研模型,其余模型PaddleDetection暂未提供

文档教程

入门教程

进阶教程

课程专栏

  • 2022.4.19 产业级目标检测技术与应用三日课: 超强目标检测算法矩阵、实时行人分析系统PP-Human、目标检测产业应用全流程拆解与实践

  • 2022.3.26 智慧城市行业七日课: 城市规划、城市治理、智慧政务、交通管理、社区治理

模型库

应用案例

第三方教程推荐

版本更新

版本更新内容请参考版本更新文档

许可证书

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

贡献代码

我们非常欢迎你可以为PaddleDetection提供代码,也十分感谢你的反馈。

引用

@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}
}