Implementation of face landmark detection with PyTorch. The model was trained using coordinate-based regression methods. A video demo was displayed here.
- Support 68-point and 39-point landmark inference.
- Support different backbone networks.
- Support ONNX inference.
Test on a sample folder and save the landmark detection results.
python3 -W ignore test_batch_mtcnn.py
Optimize with ONNX and test on a camera. The pytorch model has been converted to ONNX for fast inference.
python3 -W ignore test_camera_mtcnn_onnx.py
- Inter-ocular Normalization (ION)
Algorithms | Common | Challenge | Full Set | Param # (M) | CPU Inference (s) |
---|---|---|---|---|---|
ResNet18 (224×224) | 3.73 | 7.14 | 4.39 | 11.76 | / |
Res2Net50_v1b (224×224) | 3.43 | 6.77 | 4.07 | 26.00 | / |
Res2Net50_v1b_SE (224×224) | 3.37 | 6.67 | 4.01 | 27.05 | / |
Res2Net50_v1b_ExternalData (224×224) | 3.30 | 5.92 | 3.81 | 26.00 | / |
HRNet_w18_small_v2 (224×224) | 3.57 | 6.85 | 4.20 | 13.83 | / |
MobileNetV2 (224×224) | 3.70 | 7.27 | 4.39 | 3.74 | 1.2 |
MobileNetV2_SE (224×224) | 3.63 | 7.01 | 4.28 | 4.15 | / |
MobileNetV2 (56×56) | 4.50 | 8.50 | 5.27 | 3.74 | 0.01 (onnx) |
MobileNetV2_ExternalData (224×224) | 3.48 | 6.0 | 3.96 | 3.74 | 1.2 |
The following features will be added soon.
- Still to come:
- Support for the 39-point detection
- Support for the 106 point detection
- Support for heatmap-based inferences