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.

DSFD

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 uses a Feature Enhance Module (b) on top of a feedforward VGG16 architecture to generate enhanced features © from the original features (a); along with two loss layers, First Shot PAL for the original features, and Second Shot PAL for the enhanced features.

Experiment Results

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.

Effectiveness of DSFD with large variations.

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.

Precision-recall curves on WIDER FACE validation and testing subset.

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.

Comparisons with popular state-of-the-art methods on the FDDB dataset. The first row shows the ROC results without additional annotations, and the second row shows the ROC results with additional annotations.

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.