65 Star 691 Fork 262

PaddlePaddle/PaddleDetection

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
Apache-2.0

简体中文 | English

A High-Efficient Development Toolkit for Object Detection based on PaddlePaddle

Product Update

  • 🔥 2022.11.15:SOTA rotated object detector and small object detector based on PP-YOLOE

    • Rotated object detector PP-YOLOE-R
      • SOTA Anchor-free rotated object detection model with high accuracy and efficiency
      • A series of models, named s/m/l/x, for cloud and edge devices
      • Avoiding using special operators to be deployed friendly with TensorRT.
    • Small object detector PP-YOLOE-SOD
      • End-to-end detection pipeline based on sliced images
      • SOTA model on VisDrone based on original images.
  • 2022.8.26:PaddleDetection releasesrelease/2.5 version

    • 🗳 Model features:

      • Release PP-YOLOE+: Increased accuracy by a maximum of 2.4% mAP to 54.9% mAP, 3.75 times faster model training convergence rate, and up to 2.3 times faster end-to-end inference speed; improved generalization for multiple downstream tasks
      • Release PicoDet-NPU model which supports full quantization deployment of models; add PicoDet layout analysis model
      • Release PP-TinyPose Plus. With 9.1% AP accuracy improvement in physical exercise, dance, and other scenarios, our PP-TinyPose Plus supports unconventional movements such as turning to one side, lying down, jumping, and high lifts
    • 🔮 Functions in different scenarios

      • Release the pedestrian analysis tool PP-Human v2. It introduces four new behavior recognition: fighting, telephoning, smoking, and trespassing. The underlying algorithm performance is optimized, covering three core algorithm capabilities: detection, tracking, and attributes of pedestrians. Our model provides end-to-end development and model optimization strategies for beginners and supports online video streaming input.
      • First release PP-Vehicle, which has four major functions: license plate recognition, vehicle attribute analysis (color, model), traffic flow statistics, and violation detection. It is compatible with input formats, including pictures, online video streaming, and video. And we also offer our users a comprehensive set of tutorials for customization.
    • 💡 Cutting-edge algorithms:

      • Release PaddleYOLO which overs classic and latest models of YOLO family: YOLOv3, PP-YOLOE (a real-time high-precision object detection model developed by Baidu PaddlePaddle), and cutting-edge detection algorithms such as YOLOv4, YOLOv5, YOLOX, YOLOv6, YOLOv7 and YOLOv8
      • Newly add high precision detection model based on ViT backbone network, with a 55.7% mAP accuracy on COCO dataset; newly add multi-object tracking model OC-SORT; newly add ConvNeXt backbone network.
    • 📋 Industrial applications: Newly add Smart Fitness, Fighting recognition, and Visitor Analysis.

  • 2022.3.24:PaddleDetection releasedrelease/2.4 version

    • Release high-performanace SOTA object detection model PP-YOLOE. It integrates cloud and edge devices and provides S/M/L/X versions. In particular, Verson L has the accuracy as 51.4% on COCO test 2017 dataset, inference speed as 78.1 FPS on a single Test V100. It supports mixed precision training, 33% faster than PP-YOLOv2. Its full range of multi-sized models can meet different hardware arithmetic requirements, and adaptable to server, edge-device GPU and other AI accelerator cards on servers.
    • Release ultra-lightweight SOTA object detection model PP-PicoDet Plus with 2% improvement in accuracy and 63% improvement in CPU inference speed. Add PicoDet-XS model with a 0.7M parameter, providing model sparsification and quantization functions for model acceleration. No specific post processing module is required for all the hardware, simplifying the deployment.
    • Release the real-time pedestrian analysis tool PP-Human. It has four major functions: pedestrian tracking, visitor flow statistics, human attribute recognition and falling detection. For falling detection, it is optimized based on real-life data with accurate recognition of various types of falling posture. It can adapt to different environmental background, light and camera angle.
    • Add YOLOX object detection model with nano/tiny/S/M/L/X. X version has the accuracy as 51.8% on COCO Val2017 dataset.
  • More releases

Brief Introduction

PaddleDetection is an end-to-end object detection development kit based on PaddlePaddle. Providing over 30 model algorithm and over 300 pre-trained models, it covers object detection, instance segmentation, keypoint detection, multi-object tracking. In particular, PaddleDetection offers high- performance & light-weight industrial SOTA models on servers and mobile devices, champion solution and cutting-edge algorithm. PaddleDetection provides various data augmentation methods, configurable network components, loss functions and other advanced optimization & deployment schemes. In addition to running through the whole process of data processing, model development, training, compression and deployment, PaddlePaddle also provides rich cases and tutorials to accelerate the industrial application of algorithm.

Features

  • Rich model library: PaddleDetection provides over 250 pre-trained models including object detection, instance segmentation, face recognition, multi-object tracking. It covers a variety of global competition champion schemes.
  • Simple to use: Modular design, decoupling each network component, easy for developers to build and try various detection models and optimization strategies, quick access to high-performance, customized algorithm.
  • Getting Through End to End: PaddlePaddle gets through end to end from data augmentation, constructing models, training, compression, depolyment. It also supports multi-architecture, multi-device deployment for cloud and edge device.
  • High Performance: Due to the high performance core, PaddlePaddle has clear advantages in training speed and memory occupation. It also supports FP16 training and multi-machine training.

Exchanges

  • If you have any question or suggestion, please give us your valuable input via GitHub Issues

    Welcome to join PaddleDetection user groups on WeChat (scan the QR code, add and reply "D" to the assistant)

Kit Structure

Architectures Backbones Components Data Augmentation
    Object Detection
    • Faster RCNN
    • FPN
    • Cascade-RCNN
    • PSS-Det
    • RetinaNet
    • YOLOv3
    • YOLOF
    • YOLOX
    • YOLOv5
    • YOLOv6
    • YOLOv7
    • YOLOv8
    • RTMDet
    • PP-YOLO
    • PP-YOLO-Tiny
    • PP-PicoDet
    • PP-YOLOv2
    • PP-YOLOE
    • PP-YOLOE+
    • PP-YOLOE-SOD
    • PP-YOLOE-R
    • SSD
    • CenterNet
    • FCOS
    • FCOSR
    • TTFNet
    • TOOD
    • GFL
    • GFLv2
    • DETR
    • Deformable DETR
    • Swin Transformer
    • Sparse RCNN
    Instance Segmentation
    • Mask RCNN
    • Cascade Mask RCNN
    • SOLOv2
    Face Detection
    • BlazeFace
    Multi-Object-Tracking
    • JDE
    • FairMOT
    • DeepSORT
    • ByteTrack
    • OC-SORT
    • BoT-SORT
    • CenterTrack
    KeyPoint-Detection
    • HRNet
    • HigherHRNet
    • Lite-HRNet
    • PP-TinyPose
Details
  • ResNet(&vd)
  • Res2Net(&vd)
  • CSPResNet
  • SENet
  • Res2Net
  • HRNet
  • Lite-HRNet
  • DarkNet
  • CSPDarkNet
  • MobileNetv1/v3
  • ShuffleNet
  • GhostNet
  • BlazeNet
  • DLA
  • HardNet
  • LCNet
  • ESNet
  • Swin-Transformer
  • ConvNeXt
  • Vision Transformer
Common
  • Sync-BN
  • Group Norm
  • DCNv2
  • EMA
KeyPoint
  • DarkPose
FPN
  • BiFPN
  • CSP-PAN
  • Custom-PAN
  • ES-PAN
  • HRFPN
Loss
  • Smooth-L1
  • GIoU/DIoU/CIoU
  • IoUAware
  • Focal Loss
  • CT Focal Loss
  • VariFocal Loss
Post-processing
  • SoftNMS
  • MatrixNMS
Speed
  • FP16 training
  • Multi-machine training
Details
  • Resize
  • Lighting
  • Flipping
  • Expand
  • Crop
  • Color Distort
  • Random Erasing
  • Mixup
  • AugmentHSV
  • Mosaic
  • Cutmix
  • Grid Mask
  • Auto Augment
  • Random Perspective

Model Performance

Performance comparison of Cloud models

The comparison between COCO mAP and FPS on Tesla V100 of representative models of each architectures and backbones.

Clarification:

  • ViT stands for ViT-Cascade-Faster-RCNN, which has highest mAP on COCO as 55.7%
  • Cascade-Faster-RCNNstands for Cascade-Faster-RCNN-ResNet50vd-DCN, which has been optimized to 20 FPS inference speed when COCO mAP as 47.8% in PaddleDetection models
  • PP-YOLOE are optimized PP-YOLO v2. It reached accuracy as 51.4% on COCO dataset, inference speed as 78.1 FPS on Tesla V100
  • PP-YOLOE+ are optimized PP-YOLOE. It reached accuracy as 53.3% on COCO dataset, inference speed as 78.1 FPS on Tesla V100
  • The models in the figure are available in the model library
Performance omparison on mobiles

The comparison between COCO mAP and FPS on Qualcomm Snapdragon 865 processor of models on mobile devices.

Clarification:

  • Tests were conducted on Qualcomm Snapdragon 865 (4 *A77 + 4 *A55) batch_size=1, 4 thread, and NCNN inference library, test script see MobileDetBenchmark
  • PP-PicoDet and PP-YOLO-Tiny are self-developed models of PaddleDetection, and other models are not tested yet.

Model libraries

1. General detection

PP-YOLOE series Recommended scenarios: Cloud GPU such as Nvidia V100, T4 and edge devices such as Jetson series

Model COCO Accuracy(mAP) V100 TensorRT FP16 Speed(FPS) Configuration Download
PP-YOLOE+_s 43.9 333.3 link download
PP-YOLOE+_m 50.0 208.3 link download
PP-YOLOE+_l 53.3 149.2 link download
PP-YOLOE+_x 54.9 95.2 link download

PP-PicoDet series Recommended scenarios: Mobile chips and x86 CPU devices, such as ARM CPU(RK3399, Raspberry Pi) and NPU(BITMAIN)

Model COCO Accuracy(mAP) Snapdragon 865 four-thread speed (ms) Configuration Download
PicoDet-XS 23.5 7.81 Link Download
PicoDet-S 29.1 9.56 Link Download
PicoDet-M 34.4 17.68 Link Download
PicoDet-L 36.1 25.21 Link Download

Frontier detection algorithm

Model COCO Accuracy(mAP) V100 TensorRT FP16 speed(FPS) Configuration Download
YOLOX-l 50.1 107.5 Link Download
YOLOv5-l 48.6 136.0 Link Download
YOLOv7-l 51.0 135.0 链接 下载地址

Other general purpose models doc

2. Instance segmentation
Model Introduction Recommended Scenarios COCO Accuracy(mAP) Configuration Download
Mask RCNN Two-stage instance segmentation algorithm
Edge-Cloud end
box AP: 41.4
mask AP: 37.5
Link Download
Cascade Mask RCNN Two-stage instance segmentation algorithm
Edge-Cloud end
box AP: 45.7
mask AP: 39.7
Link Download
SOLOv2 Lightweight single-stage instance segmentation algorithm
Edge-Cloud end
mask AP: 38.0 Link Download
3. Keypoint detection
Model Introduction Recommended scenarios COCO Accuracy(AP) Speed Configuration Download
HRNet-w32 + DarkPose
Top-down Keypoint detection algorithm
Input size: 384x288
Edge-Cloud end
78.3 T4 TensorRT FP16 2.96ms Link Download
HRNet-w32 + DarkPose Top-down Keypoint detection algorithm
Input size: 256x192
Edge-Cloud end 78.0 T4 TensorRT FP16 1.75ms Link Download
PP-TinyPose Light-weight keypoint algorithm
Input size: 256x192
Mobile 68.8 Snapdragon 865 four-thread 6.30ms Link Download
PP-TinyPose Light-weight keypoint algorithm
Input size: 128x96
Mobile 58.1 Snapdragon 865 four-thread 2.37ms Link Download

Other keypoint detection models doc

4. Multi-object tracking PP-Tracking
Model Introduction Recommended scenarios Accuracy Configuration Download
ByteTrack SDE Multi-object tracking algorithm with detection model only Edge-Cloud end MOT-17 half val: 77.3 Link Download
FairMOT JDE multi-object tracking algorithm multi-task learning Edge-Cloud end MOT-16 test: 75.0 Link Download
OC-SORT SDE multi-object tracking algorithm with detection model only Edge-Cloud end MOT-16 half val: 75.5 Link -

Other multi-object tracking models docs

5. Industrial real-time pedestrain analysis tool-PP Human
Task End-to-End Speed(ms) Model Size
Pedestrian detection (high precision) 25.1ms Multi-object tracking 182M
Pedestrian detection (lightweight) 16.2ms Multi-object tracking 27M
Pedestrian tracking (high precision) 31.8ms Multi-object tracking 182M
Pedestrian tracking (lightweight) 21.0ms Multi-object tracking 27M
Attribute recognition (high precision) Single person8.5ms Object detection
Attribute recognition
Object detection:182M
Attribute recognition:86M
Attribute recognition (lightweight) Single person 7.1ms Object detection
Attribute recognition
Object detection:182M
Attribute recognition:86M
Falling detection Single person 10ms Multi-object tracking
Keypoint detection
Behavior detection based on key points
Multi-object tracking:182M
Keypoint detection:101M
Behavior detection based on key points: 21.8M
Intrusion detection 31.8ms Multi-object tracking 182M
Fighting detection 19.7ms Video classification 90M
Smoking detection Single person 15.1ms Object detection
Object detection based on Human Id
Object detection:182M
Object detection based on Human ID: 27M
Phoning detection Single person ms Object detection
Image classification based on Human ID
Object detection:182M
Image classification based on Human ID:45M

Please refer to docs for details.

6. Industrial real-time vehicle analysis tool-PP Vehicle
Task End-to-End Speed(ms) Model Size
Vehicle detection (high precision) 25.7ms object detection 182M
Vehicle detection (lightweight) 13.2ms object detection 27M
Vehicle tracking (high precision) 40ms multi-object tracking 182M
Vehicle tracking (lightweight) 25ms multi-object tracking 27M
Plate Recognition 4.68ms plate detection
plate recognition
Plate detection:3.9M
Plate recognition:12M
Vehicle attribute 7.31ms attribute recognition 7.2M

Please refer to docs for details.

Document tutorials

Introductory tutorials

Advanced tutorials

Courses

  • [Theoretical foundation] Object detection 7-day camp: Overview of object detection tasks, details of RCNN series object detection algorithm and YOLO series object detection algorithm, PP-YOLO optimization strategy and case sharing, introduction and practice of AnchorFree series algorithm

  • [Industrial application] AI Fast Track industrial object detection technology and application: Super object detection algorithms, real-time pedestrian analysis system PP-Human, breakdown and practice of object detection industrial application

  • [Industrial features] 2022.3.26 Smart City Industry Seven-Day Class : Urban planning, Urban governance, Smart governance service, Traffic management, community governance.

  • [Academic exchange] 2022.9.27 YOLO Vision Event: As the first YOLO-themed event, PaddleDetection was invited to communicate with the experts in the field of Computer Vision around the world.

Industrial tutorial examples

Applications

Recommended third-party tutorials

Version updates

Please refer to the Release note for more details about the updates

License

PaddlePaddle is provided under the Apache 2.0 license

Contribute your code

We appreciate your contributions and your feedback!

  • Thank Mandroide for code cleanup and
  • Thank FL77N for Sparse-RCNNmodel
  • Thank Chen-Song for Swin Faster-RCNNmodel
  • Thank yangyudong, hchhtc123 for developing PP-Tracking GUI interface
  • Thank Shigure19 for developing PP-TinyPose fitness APP
  • Thank manangoel99 for Wandb visualization methods

Quote

@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}
}
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

PaddleDetection的目的是为工业界和学术界提供丰富、易用的目标检测模型 expand collapse
Python and 6 more languages
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/paddlepaddle/PaddleDetection.git
git@gitee.com:paddlepaddle/PaddleDetection.git
paddlepaddle
PaddleDetection
PaddleDetection
release/2.7

Search