Home

Awesome

PyramidBox

This is an unofficial Tensorflow re-implementation of PyramidBox: A Context-assisted Single Shot Face Detector, which achieves superior performance among the state-of-the-art on the two common face detection benchmarks, FDDB and WIDER FACE.

Note

There is still a gap in performance from the paper. May be caused by several reasons:

Results

Face Detection

Results on WIDER FACE validation set:

This is just a very casual training result. I believe you can achieve better results after trying some other hyperparameters. For example: batch size, learning rate and some parameters related to the loss function,etc.

<center>
MethodAP EasyAP MediumAP Hard
original96.195.088.9
this repo90.688.873.4
</center>

Usage

Prerequisites

(Only tested on) Ubuntu 16.04 with:

Clone the repo

git clone https://github.com/EricZgw/PyramidBox.git
python makedir.py

Download PyramidBox models form BaiduYun or GoogleDrive .

Demo

Run the following script for visualization:

python demo.py

Train on WIDER FACE Datasets

  1. Download pre-trained VGG16 models from here and put it to /checkpoints. <br>
  2. Download WIDER FACE Datasets and convert to VOC format. Path looks like below:
datasets/
       |->widerface/
       |    |->WIDER_train/
       |    |->WIDER_val/
       |    |->WIDER_test/
       |    |->Annotations/
       |    |->JPEGImages/
       |    |...
  1. Run the following script to generate TFRecords:
python datasets/pascalvoc_to_tfrecords.py
You can run `check_data_io.py` to check data. This step is not necessary.
  1. The training strategy is two-stages: First run train_model.py with below setting to train additional PyramidBox layers:
self.fine_tune_vgg16 = False
  1. Then set self.fine_tune_vgg16 =Ture to run train_model.py to train total network.

Validation

Run the following script for evaluation and get mAP:

python widerface_eval.py
cd eval/eval_tools
octave wider_eval.m

TODO

Reference

SSD-Tensorflow<br> SSD_tensorflow_VOC

Contact

If you find any problems, welcome to open a new issue or contact zhaogw93@126.com .