lippman1125 / caffe_s3fd

caffe for s3fd face detection
Other
32 stars 13 forks source link

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.

    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