/caffe_s3fd

caffe for s3fd face detection

Primary LanguageC++OtherNOASSERTION

S3FD: Single Shot Scale-invariant Face Detector

Build Status License

Contents

  1. Installation
  2. Preparation
  3. Train
  4. Eval
  5. Reference

Installation

  1. Get the code. We will call the directory that you cloned Caffe into $CAFFE_ROOT
# 1. realize scale-compensation anchor matching strategy
# 2. realize random cropping square patches from original image 
git clone git@github.com:lippman1125/caffe_s3fd.git
cd caffe
git checkout ssd

Preparation

  1. Download fully convolutional reduced (atrous) VGGNet.
    By default, we assume the model is stored in $CAFFE_ROOT/examples/s3fd/

2. Create the LMDB file.
```Shell
cd $CAFFE_ROOT
# Create the trainval.txt, test.txt, and test_name_size.txt in data/FACE/
./data/FACE/create_list.sh
# You can modify the parameters in create_data.sh if needed.
# It will create lmdb files for trainval and test with encoded original image:
#   - $HOME/data/faces_database/FACE/lmdb/FACE_trainval_lmdb
#   - $HOME/data/faces_database/FACE/lmdb/FACE_test_lmdb
# and make soft links at examples/VOC0712/
./data/FACE/create_data.sh

Train

  1. Train your model .
./build/tools/caffe train --solver examples/s3fd/solver.prototxt  --gpu 1 --weights examples/s3fd/VGG_ILSVRC_16_layers_fc_reduced.caffemodel

Eval

  1. ROC of FDDB compared with official, as follow:
    data

  2. ROC of FDDB compared with SSH/MTCNN, as follow:
    data

  3. examples
    data
    data

Reference

  1. https://github.com/sfzhang15/SFD