This repository contains the code for the following paper.
Pelee: A Real-Time Object Detection System on Mobile Devices (NeurIPS 2018)
The code is based on the SSD framework.
If you find this work useful in your research, please consider citing:
@incollection{NIPS2018_7466,
title = {Pelee: A Real-Time Object Detection System on Mobile Devices},
author = {Wang, Robert J and Li, Xiang and Ling, Charles X},
booktitle = {Advances in Neural Information Processing Systems 31},
editor = {S. Bengio and H. Wallach and H. Larochelle and K. Grauman and N. Cesa-Bianchi and R. Garnett},
pages = {1967--1976},
year = {2018},
publisher = {Curran Associates, Inc.},
url = {http://papers.nips.cc/paper/7466-pelee-a-real-time-object-detection-system-on-mobile-devices.pdf}
}
The table below shows the results on PASCAL VOC 2007 test.
Method | mAP (%) | FPS (Intel i7) | FPS (NVIDIA TX2) | FPS (iPhone 8) | # parameters |
---|---|---|---|---|---|
YOLOv2-288 | 69.0 | 1.0 | - | - | 58.0M |
DSOD300_smallest | 73.6 | 1.3 | - | - | 5.9M |
Tiny-YOLOv2 | 57.1 | 2.4 | - | 23.8 | 15.9M |
SSD+MobileNet | 68.0 | 6.1 | 82 | 22.8 | 5.8M |
Pelee | 70.9 | 6.7 | 125 | 23.6 | 5.4M |
Method | 07+12 | 07+12+coco |
---|---|---|
SSD300 | 77.2 | 81.2 |
SSD+MobileNet | 68 | 72.7 |
Pelee | 70.9 | 76.4 |
The table below shows the results on COCO test-dev2015.
Method | mAP@[0.5:0.95] | mAP@0.5 | mAP@0.75 | FPS (NVIDIA TX2) | # parameters |
---|---|---|---|---|---|
SSD300 | 25.1 | 43.1 | 25.8 | - | 34.30 M |
YOLOv2-416 | 21.6 | 44.0 | 19.2 | 32.2 | 67.43 M |
YOLOv3-320 | - | 51.5 | - | 21.5 | 67.43 M |
TinyYOLOv3-416 | - | 33.1 | - | 21.5 | 67.43 M |
SSD+MobileNet-300 | 18.8 | - | - | 80 | 6.80 M |
SSDLite+MobileNet V2-320 | 22 | - | - | 61 | 6.80 M |
Pelee-304 | 22.4 | 38.3 | 22.9 | 120 | 5.98 M |
-
Install SSD (https://github.com/weiliu89/caffe/tree/ssd) following the instructions there, including: (1) Install SSD caffe; (2) Download PASCAL VOC 2007 and 2012 datasets; and (3) Create LMDB file. Make sure you can run it without any errors.
-
Download the pretrained PeleeNet model. By default, we assume the model is stored in $CAFFE_ROOT/models/
-
Clone this repository and create a soft link to $CAFFE_ROOT/examples
git clone https://github.com/Robert-JunWang/Pelee.git
ln -sf `pwd`/Pelee $CAFFE_ROOT/examples/pelee
-
Train a Pelee model on VOC 07+12:
cd $CAFFE_ROOT python examples/pelee/train_voc.py
-
Evaluate the model:
cd $CAFFE_ROOT python examples/pelee/eval_voc.py
-
PASCAL VOC 07+12: Download (20.3M)
-
PASCAL VOC 07+12+coco: Download (20.3M) Download (Model Merged BN with Conv)
-
MS COCO: Download (21M)