PaddleDetection

repository·release/2.9·Indexed 12 days ago

https://github.com/paddlepaddle/paddledetection

An object detection toolbox based on PaddlePaddle, featuring a model zoo with implementations of Faster R-CNN, CenterNet, Co-DETR, Deformable DETR, CLRNet, and PP-YOLOE. It provides tools for training, evaluation, and benchmarking on datasets like COCO and CULane, with support for single and multi-GPU distributed training.

Tokens
347K
Snippets
783
Records
1.2K
Agent score
96%

What's inside PaddleDetection

  1. Overview of PaddleDetection

    release/2.9

    PaddleDetection is an end-to-end object detection development toolkit built on PaddlePaddle. It provides a comprehensive suite of tools for the entire computer vision pipeline, including data augmentation, model construction, training, compression, and deployment.

    Key capabilities include:

    • Broad Algorithm Support: Over 30 model algorithms covering object detection, instance segmentation, keypoint detection, and multi-object tracking.
    • Extensive Model Zoo: Over 300 pre-trained models designed for various hardware, from high-performance servers to lightweight mobile and edge devices.
    • Modular Design: Decoupled network components allow developers to easily build, customize, and experiment with different detection models and optimization strategies.
    • End-to-End Workflow: Supports the full lifecycle from data processing to multi-architecture/multi-device deployment (cloud and edge).
    • High Performance: Optimized for training speed and memory efficiency, supporting FP16 and multi-machine training.
  2. Overview of PaddleDetection Kit Structure

    release/2.9

    PaddleDetection provides a comprehensive suite of computer vision architectures, backbones, components, and data augmentation techniques. The kit is organized into several functional categories:

    Architectures

    • Object Detection: Includes models like Faster RCNN, FPN, Cascade-RCNN, PSS-Det, RetinaNet, YOLO series (v3, v5, v6, v7, v8, YOLOX, PP-YOLO, PP-YOLOE, etc.), RTMDet, SSD, CenterNet, FCOS, DETR, and Swin Transformer.
    • Instance Segmentation: Includes Mask RCNN, Cascade Mask RCNN, and SOLOv2.
    • Face Detection: Includes BlazeFace.
    • Multi-Object-Tracking: Includes JDE, FairMOT, DeepSORT, ByteTrack, OC-SORT, BoT-SORT, and CenterTrack.
    • KeyPoint-Detection: Includes HRNet, HigherHRNet, Lite-HRNet, and PP-TinyPose.

    Backbones

    • General: ResNet(&vd), Res2Net(&vd), CSPResNet, SENet, HRNet, Lite-HRNet, DarkNet, CSPDarkNet, MobileNetv1/v3, ShuffleNet, GhostNet, BlazeNet, DLA, HardNet, LCNet, ESNet, Swin-Transformer, ConvNeXt, and Vision Transformer.

    Components

    • 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.

    Data Augmentation

    • Includes Resize, Lighting, Flipping, Expand, Crop, Color Distort, Random Erasing, Mixup, AugmentHSV, Mosaic, Cutmix, Grid Mask, Auto Augment, and Random Perspective.
  3. Overview of PAFNet and PAFNet-Lite

    release/2.9

    PAFNet (Paddle Anchor Free) is an optimized version of TTFNet within PaddleDetection that achieves state-of-the-art (SOTA) accuracy in the anchor-free field. It also includes a lightweight mobile version called PAFNet-Lite.

    PAFNet Optimizations over TTFNet:

    • Implementation of CutMix.
    • Improved backbone: ResNet50vd-DCN.
    • Larger training batch sizes (e.g., 18 per GPU across 8 GPUs).
    • Synchronized Batch Normalization.
    • Deformable Convolution.
    • Exponential Moving Average (EMA).
    • Use of superior pre-trained models.
  4. Overview of MTMCT (Multi-Target Multi-Camera Tracking)

    release/2.9

    MTMCT is a research area focused on tracking multiple objects across different camera views within the same scene. This is critical for security monitoring, autonomous driving, and smart cities.

    In PaddleDetection, the MTMCT implementation provided is a baseline version that does not include scene-specific or camera-specific topological optimizations. To improve performance, users should design post-processing algorithms tailored to their specific camera layouts and scene priors.

    The current implementation uses the DeepSORT scheme, utilizing:

    • Detectors: PP-YOLOv2 or PP-PicoDet (lightweight).
    • ReID Model: PP-LCNet (lightweight, from PaddleClas).

    MTMCT is a core component of the PP-Tracking project, which is an open-source real-time tracking system supporting pedestrian/vehicle tracking, cross-camera tracking, multi-category tracking, small object tracking, and flow counting. It supports Python and C++ deployment on Linux and NVIDIA Jetson.

  5. Overview of PP-Vehicle analysis tool

    release/2.9

    PP-Vehicle is an out-of-the-box analysis tool for vehicle scenarios, supporting images, video, and online streams. It is designed for smart transportation applications.

    Key capabilities include:

    • License Plate Recognition: Supports traditional and new energy (green) license plates using long-interval sampling and voting for high stability.
    • Vehicle Attribute Analysis: Recognizes various vehicle types and colors using high-performance backbones like PP-HGNet and PP-LCNet.
    • Violation Detection: Includes features like illegal parking detection (with customizable areas) and illegal driving analysis (retrograde/wrong-way driving and lane pressing/encroachment).
    • Traffic Counting: Provides accurate vehicle counting and trajectory display, with customizable entry/exit points.
  6. Introduction to PP-YOLO

    release/2.9

    PP-YOLO is an optimized model based on YOLOv3 available in PaddleDetection. It is designed to outperform YOLOv4 in both mAP (on COCO) and inference speed.

    Key performance metrics on COCO test-dev2017:

    • mAP (IoU=0.5:0.95): 45.9%
    • FP32 Inference Speed (Single V100): 72.9 FPS
    • FP16 Inference Speed (Single V100 with TensorRT): 155.6 FPS

    PP-YOLO and PP-YOLOv2 achieve these results through several architectural and training improvements, including ResNet50vd-DCN backbone, Drop Block, Exponential Moving Average (EMA), IoU Loss, Matrix NMS, CoordConv, and Spatial Pyramid Pooling.

  7. Overview of PP-Vehicle for vehicle analysis

    release/2.9

    PP-Vehicle is a specialized toolbox within PaddleDetection designed for vehicle analysis in smart transportation. It supports multiple input formats including images, videos, multi-videos, and online video streams. Key capabilities include:

    • License Plate Recognition: Supports both traditional and new green license plates using a time-window sampling method for stability and accuracy.
    • Vehicle Attributes: Identifies 10 vehicle colors and 9 models using high-performance backbones like PP-HGNet/PP-LCNet.
    • Illegal Parking Recognition: Allows users to define illegal areas via command line to detect and capture license plates of illegally parked vehicles.
    • In-out Counting: Enables users to define in/out lines to count vehicles and visualize target routes.
    • Vehicle Retrograde & Press Line Detection: Uses high-precision segmentation models (PP-LiteSeg) to detect vehicles driving in the wrong direction or crossing lines.
  8. Introduction to PP-PicoDet

    release/2.9

    PP-PicoDet is a series of lightweight object detection models designed for high performance on mobile and CPU deployment. They are optimized for high mAP (mean Average Precision) with minimal parameters and low latency.

    Key Features:

    • High Accuracy: Achieves high mAP (0.5:0.95) even with under 1M parameters at 416 input size.
    • Low Latency: Capable of reaching 150FPS on mobile ARM CPUs.
    • Deployment Friendly: Supports multiple inference engines including PaddleLite, MNN, NCNN, and OpenVINO.
    • Advanced Algorithms: Utilizes techniques like ESNet, CSP-PAN, and SimOTA with VFL.
  9. Overview of PP-Human analysis tool

    release/2.9

    PP-Human is an out-of-the-box analysis tool for pedestrian scenarios, supporting various input types including images, single-camera video, multi-camera video, and online video streams. It is designed for smart city and industrial inspection applications.

    Key capabilities include:

    • Cross-camera Tracking (ReID): Optimized for occlusion, incompleteness, and blurriness (mAP 98.8, 1.5ms/person).
    • Attribute Analysis: Supports 26 high-frequency attributes such as gender, age, glasses, clothing, shoes, and hats (mAP 95.4, 2ms/person).
    • Behavior Recognition: Identifies five common abnormal behaviors: falling, fighting, smoking, making phone calls, and unauthorized entry. It is robust against lighting, perspective, and background changes.
    • Traffic Counting & Trajectory Recording: Can be enabled via a single parameter to count pedestrians and record their paths.
  10. Overview of Practical Server Side Detection (PSS-DET)

    release/2.9

    PSS-DET is a practical server-side object detection scheme provided by PaddleDetection. It utilizes a ResNet50vd pretraining model based on the SSLD (Self-Supervised Learning with Distillation) program from PaddleClas.

    Key performance metrics on the COCO2017 dataset using a single V100 GPU:

    • Prediction Speed: 61 FPS
    • COCO mAP: 41.2%