PP-YOLO: An Effective and Efficient Implementation of Object Detector

Object detection is one of the most important areas in computer vision, which plays a key role in various practical scenarios. Due to limitation of hardware, it is often necessary to sacrifice accuracy to ensure the infer speed of the detector in practice. Therefore, the balance between effectiveness and efficiency of object detector must be considered. The goal of this paper is to implement an object detector with relatively balanced effectiveness and efficiency that can be directly applied in actual application scenarios, rather than propose a novel detection model. Considering that YOLOv3 has been widely used in practice, we develop a new object detector based on YOLOv3. We mainly try to combine various existing tricks that almost not increase the number of model parameters and FLOPs, to achieve the goal of improving the accuracy of detector as much as possible while ensuring that the speed is almost unchanged. Since all experiments in this paper are conducted based on PaddlePaddle, we call it PP-YOLO. By combining multiple tricks, PP-YOLO can achieve a better balance between effectiveness (45.2% mAP) and efficiency (72.9 FPS), surpassing the existing state-of-the-art detectors such as EfficientDet and YOLOv4.Source code is at https://github.com/PaddlePaddle/PaddleDetection.

PDF Abstract

Datasets


Results from the Paper


Ranked #134 on Object Detection on COCO test-dev (using extra training data)

     Get a GitHub badge
Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Object Detection COCO test-dev PP-YOLO (608x608) box mAP 45.2 # 134
AP50 65.2 # 74
AP75 49.9 # 78
APS 26.3 # 84
APM 47.8 # 78
APL 57.2 # 78
Hardware Burden None # 1
Operations per network pass None # 1
Object Detection COCO test-dev PP-YOLO (320x320) box mAP 39.3 # 199
AP50 59.3 # 137
AP75 42.7 # 139
APS 16.7 # 140
APM 41.4 # 134
APL 57.8 # 71
Hardware Burden None # 1
Operations per network pass None # 1

Methods