Skip to content

Latest commit

 

History

History
488 lines (383 loc) · 35.9 KB

README_en.md

File metadata and controls

488 lines (383 loc) · 35.9 KB

简体中文 | English

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

Product Update

  • 🔥 2022.8.09:Release YOLO series model zoo

    • Comprehensive coverage of classic and latest models of the YOLO series: Including YOLOv3,Paddle real-time object detection model PP-YOLOE, and frontier detection algorithms YOLOv4, YOLOv5, YOLOX, MT-YOLOv6 and YOLOv7
    • Better model performance:Upgrade based on various YOLO algorithms, shorten training time in 5-8 times and the accuracy is generally improved by 1%-5% mAP. The model compression strategy is used to achieve 30% improvement in speed without precision loss
    • Complete end-to-end development support:End-to-end development pipieline including training, evaluation, inference, model compression and deployment on various hardware. Meanwhile, support flexible algorithnm switch and implement customized development efficiently
  • 🔥 2022.8.01:Release PP-TinyPose plus. The end-to-end precision improves 9.1% AP in dataset of fitness and dance scenes

    • Increase data of sports scenes, and the recognition performance of complex actions is significantly improved, covering actions such as sideways, lying down, jumping, and raising legs
    • Detection model uses PP-PicoDet plus and the precision on COCO dataset is improved by 3.1% mAP
    • The stability of keypoints is enhanced. Implement the filter stabilization method to make the video prediction result more stable and smooth.
  • 2022.7.14:Release pedestrian analysis tool PP-Human v2

    • Four major functions: five complicated action recognition with high performance and Flexible, real-time human attribute recognition, visitor flow statistics and high-accuracy multi-camera tracking.
    • High performance algorithm: including pedestrian detection, tracking, attribute recognition which is robust to the number of targets and the variant of background and light.
    • Highly Flexible: providing complete introduction of end-to-end development and optimization strategy, simple command for deployment and compatibility with different input format.
  • 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 250 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.
newstructure

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

    Welcome to join PaddleDetection user groups on QQ, 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
    • PP-YOLOv1/v2
    • PP-YOLO-Tiny
    • PP-YOLOE
    • YOLOX
    • SSD
    • CenterNet
    • FCOS
    • TTFNet
    • TOOD
    • GFL
    • PP-PicoDet
    • 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
    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
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:

  • CBResNet stands for Cascade-Faster-RCNN-CBResNet200vd-FPN, which has highest mAP on COCO as 53.3%
  • 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-YOLO reached accuracy as 45.9% on COCO dataset, inference speed as 72.9 FPS on Tesla V100, higher than [YOLOv4]([2004.10934] YOLOv4: Optimal Speed and Accuracy of Object Detection) in terms of speed and accuracy
  • PP-YOLO v2are optimized PP-YOLO. It reached accuracy as 49.5% on COCO dataset, inference speed as 68.9 FPS on Tesla V100.
  • PP-YOLOEare optimized PP-YOLO v2. It reached accuracy as 51.4% 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 42.7 333.3 Link Download
PP-YOLOE-m 48.6 208.3 Link Download
PP-YOLOE-l 50.9 149.2 Link Download
PP-YOLOE-x 51.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

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
DeepSORT SDE Multi-object tracking algorithm, independent ReID models Edge-Cloud end MOT-17 half val: 66.9 Link Download
ByteTrack SDE Multi-object tracking algorithm with detection model only Edge-Cloud end MOT-17 half val: 77.3 Link Download
JDE JDE multi-object tracking algorithm multi-task learning Edge-Cloud end MOT-16 test: 64.6 Link Download
FairMOT JDE multi-object tracking algorithm multi-task learning Edge-Cloud end MOT-16 test: 75.0 Link Download

Other multi-object tracking models docs

5. Industrial real-time pedestrain analysis tool-PP Human
Function \ Model Obejct detection Multi- object tracking Attribute recognition Keypoint detection Action recognition ReID
Pedestrian Detection
Pedestrian Tracking
Attribute Recognition (Image)
Attribute Recognition (Video)
Falling Detection
ReID
Accuracy mAP 56.3 MOTA 72.0 mA 94.86 AP 87.1 AP 96.43 mAP 98.8
T4 TensorRT FP16 Inference speed 28.0ms 33.1ms Single person 2ms Single person 2.9ms Single person 2.7ms Single person 1.5ms

Click “ ✅ ” to download

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.

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