This work is to reproduce S³FD, a real-time Single Shot Scale-invariant Face Detector.

# install MobulaOP following: https://github.com/wkcn/MobulaOP
$$ git clone https://github.com/yangfly/sfd.gluoncv.git
$$ cd sfd.gluoncv
- download wider face dataset into
widerface/downloads/$$ tree widerface/downloads widerface/downloads ├── eval_tools.zip ├── Submission_example.zip ├── wider_face_split.zip ├── WIDER_test.zip ├── WIDER_train.zip └── WIDER_val.zip - Parpare data: unzip data, annotations and eval_tools
$$ python tool/parpare.py $$ tree widerface -L 1 widerface ├── downloads ├── eval_tools ├── wider_face_split ├── WIDER_train └── WIDER_val - Prepare custom val dataset for quick validation (crop and resize to 640)
$$ python tool/build_custom_val.py $$ tree widerface -L 1 widerface ├── downloads ├── eval_tools ├── WIDER_custom ├── wider_face_split ├── WIDER_train └── WIDER_val - train vgg16 based sfd with 4 gpus
more supported base models in
$$ python sfd/train.pysfd/nn/sfd.py - demo
$$ python sfd/demo.py --model models/vgg16/sfd_best.params - eval on WIDER_val
$$ python sfd/eval.py --model models/vgg16/sfd_best.params