- CenterFace
- Model (7.3Mb) already included in this repository
- Trained on WIDER FACE
- Model (7.3Mb) already included in this repository
- DSFD
- Implementation from this repository
- Model (
WIDERFace_DSFD_RES152.pth- 481Mb) needs to be downloaded from the original repository- Trained on WIDER FACE
- Should be placed under
dsdf/weights
- FaceBoxes
- PyTorch implementation is used in this project
- Model (
FaceBoxesProd.pth- 4.1Mb) needs to be downloaded from PyTorch implementation version- Trained on WIDER FACE
- Should be placed under
face_boxes/weights
- Haarcascade from OpenCV
- Model (1MB) already included in this repository
- MTCNN
- Implementation from this repository
- RetinaFace
- ResNet50 model (112Mb) pretrained on WIDER FACE
- Automatically downloaded with first use (the model is placed @
$USER$\.insightface\models\)
- S3FD
- Model (
sfd_face.pth- 90Mb) needs to be downloaded from the repository- Trained on WIDER FACE
- Should be placed under
S3FD/weights
- Model (
- YoloFace
- Model (
yolov3-wider_16000.weights- 246Mb) needs to be downladed from the repository- YOLOv3 model trained on WIDER FACE
- Should be placed under
yoloface/model-weights
- Model (
Reported by the authors
- Results on validation set of WIDER FACE:
| Model | Easy Set | Medium Set | Hard Set |
|---|---|---|---|
| CenterFace | 93.5 | 92.4 | 87.5 |
| DSFD | 96.6 | 95.7 | 90.4 |
| FaceBoxes | - | - | - |
| Haarcascade | - | - | - |
| MTCNN | - | - | - |
| RetinaFace | 96.9 | 96.1 | 91.8 |
| S3FD | 93.7 | 92.4 | 85.2 |
| YoloFace | - | - | - |
- Results on test set of WIDER FACE:
| Model | Easy Set | Medium Set | Hard Set |
|---|---|---|---|
| CenterFace | 93.2 | 92.1 | 87.3 |
| DSFD | 96.0 | 95.3 | 90.0 |
| FaceBoxes | - | - | - |
| Haarcascade | - | - | - |
| MTCNN | - | - | - |
| RetinaFace | 96.3 | 95.6 | 91.4 |
| S3FD | 92.8 | 91.3 | 84.0 |
| YoloFace | - | - | - |
InsightFace/ArcFace recognition model is used to preform face recognition. Faces are saved in a list of recognized faces once they are recognized as a new face. A face is recognized as a new face if none of the other recognized faces doesn't achieve higher similarity than FACE_CONF_THRESHOLD. Face recognition can be easily switched on by using retina_face detector and setting retina_face.Recognition = True.
| Model | Seconds per frame |
|---|---|
| CenterFace | 1 |
| DSFD | 48 |
| FaceBoxes | 0.3 |
| Haarcascade | 1 |
| MTCNN | 4 |
| RetinaFace | 90 |
| S3FD | 20 |
| YoloFace | 10 |
State-of-the-art methods for Face Detection on WIDER Face (Hard) dataset