PaddleDetection
repository·release/2.9·Indexed 12 days ago
https://github.com/paddlepaddle/paddledetectionAn 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.
What's inside PaddleDetection
- CLRNet (Cross Layer Refinement Network) is a state-of-the-art lane detection model. It utilizes line priors, line IoU loss, and NMS methods, fusing high-level contextual features with low-level features, which are then refined using FPN multi-scale features.
Overview of PaddleDetection
release/2.9PaddleDetection 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.
Introduction to PP-TinyPose
release/2.9PP-TinyPose is a real-time keypoint detection model optimized for mobile devices, capable of performing multi-person pose estimation smoothly. It utilizes the lightweight PicoDet detection model for pedestrian detection as part of its pipeline.
Dependency Requirements
- PaddlePaddle:
>=2.2 - Paddle-Lite (for mobile deployment):
>=2.10
- PaddlePaddle:
Overview of PaddleDetection Kit Structure
release/2.9PaddleDetection 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.
Overview of PAFNet and PAFNet-Lite
release/2.9PAFNet (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.
Overview of MTMCT (Multi-Target Multi-Camera Tracking)
release/2.9MTMCT 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.
Overview of PP-Vehicle analysis tool
release/2.9PP-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.
Introduction to PP-YOLO
release/2.9PP-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.
Overview of PP-Vehicle for vehicle analysis
release/2.9PP-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.
Introduction to PP-PicoDet
release/2.9PP-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.
Overview of PP-Human analysis tool
release/2.9PP-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.
Overview of Practical Server Side Detection (PSS-DET)
release/2.9PSS-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%