A PyTorch Implementation of Dual Shot Face Detector
I use basenet vgg to train DSFD,the model can be downloaded in DSFD.the AP in WIDER FACE as following:
Easy MAP | Medium MAP | hard MAP |
---|---|---|
0.946 | 0.937 | 0.880 |
the AP in AFW,PASCAL,FDDB as following:
AFW | PASCAL | FDDB |
---|---|---|
99.89 | 99.11 | 0.983 |
I'm using resnet50/resnet101 to train DSFD,the result will be published later on
*a pytorch 0.3
- opencv
- numpy
- easydict
- download WIDER face dataset
- modify data/config.py
python prepare_wider_data.py
- Download DarkFace face dataset.
- Modify _C.HOME in data/config.py
Make sure you have
df_wider_face_train_bbx_gt.txt
df_wider_face_val_bbx_gt.txt
df_wider_face_test_bbx_gt.txt
under your _C.HOME python prepare_df_data.py
You should
export TF_LOG_DIR=<your tensorboard log dir>
python train.py --batch_size 4
--model vgg\resnet50\resnet101
--lr 5e-4
according to yourself dataset path,modify data/config.py
- Evaluate on AFW.
python tools/afw_test.py
- Evaluate on FDDB
python tools/fddb_test.py
- Evaluate on PASCAL face
python tools/pascal_test.py
- test on WIDER FACE
python tools/wider_test.py
you can test yourself image
python demo.py
- demo