Chinese technology giant Tencent has open-sourced its face detection algorithm DSFD (Dual Shot Face Detector). The related paper DSFD: Dual Shot Face Detector achieves state-of-the-art performance on WIDER FACE and FDDB dataset benchmarks, and has been accepted by top computer vision conference CVPR 2019.
Face detection is a fundamental step for facial alignment, parsing, recognition, and verification. Researchers from Tencent’s AI-focused Youtu Lab propose three DSFD face detector techniques:
- Feature Enhance Module (FEM): Transferring the original feature maps to extend the single shot detector to a dual shot detector and make them more discriminable and robust.
- Progressive Anchor Loss (PLA): Computed by using two sets of anchors and adapted to facilitate features effectively.
- Improved Anchor Matching (IAM): Integrating novel data augmentation techniques and anchor design strategy in DSFD to provide better initialization for the regressor.
The DSFD framework shows outstanding performance in experiments. Observing the following images, DSFD demonstrated high effectiveness in detecting faces with variations on scale, pose, occlusion, blurriness, makeup, illumination, modality, and reflection. Blue bounding boxes indicate the detector confidence is above 0.8.
The research group also conducted extensive experiments and ablation studies with current benchmarks for the WIDER FACE and FDDB datasets.
With the WIDER FACE dataset, as shown below, DSFD achieved state-of-the-art performance for average precision on three subsets: 96.6% (Easy), 95.7% (Medium) and 90.4% (Hard) on the validation set; and 96.0% (Easy), 95.3% (Medium) and 90.0% (Hard) on the test set.
With the FDDB dataset, as show below, DSFD achieved state-of-the-art performance on both discontinuous and continuous ROC curves: 99.1% and 86.2% when the number of false positives equals 1,000.
Re-implementing the Project
The DSFD project is implemented on PyTorch. Without using any special libraries, this project can run with Torch 0.3.1, Python 3.6 and CuDNN. The research team has provided all necessary materials on their GitHub repository.
Author: Victor Lu | Editor: Michael Sarazen