# the real-time face detection Centerface
unofficial version of centerface, which achieves the best balance between speed and accuracy. Centerface is a practical anchor-free face detection and alignment method for edge devices.
The project provides training scripts, training data sets, and pre-training models to facilitate users to reproduce the results. Finally, thank the centerface's author for the training advice.
performance results on the validation set of WIDER_FACE
use the same train dataset without additional data
| Method | Easy | Medium | Hard |
|---|---|---|---|
| ours(one scale) | 0.9257 | 0.9131 | 0.7717 |
| original | 0.922 | 0.911 | 0.782 |
| ours(multi-scale) | - | - | - |
Requirements
use pytorch, you can use pip or conda to install the requirements
# for pip
cd $project
pip install -r requirements.txt
# for conda
conda env create -f enviroment.yaml
Test
download the pretrained model from Baidu password: ypbi
download the validation set of WIDER_FACE password: ypbi
test on the validation set
cd $project/src
source activate torch110
python test_wider_face.py
- calculate the accuracy
cd $project/evaluate
python3 setup.py build_ext --inplace
python evaluation.py --pred {the result folder}
>>>
Easy Val AP: 0.9257383419951156
Medium Val AP: 0.9131308732465665
Hard Val AP: 0.7717305552550734
-
example
在这里插入图片描述 - vedio
[video(video-h0NmS5hq-1582250918283)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=88180133)(image-https://ss.csdn.net/p?http://i0.hdslb.com/bfs/archive/4972610bf25f6d7d0e6c9156e02ef18ff11b72a1.jpg)(title-TensorRT centerface人脸+关键点检测做到50fps)]
- face recognition
[video(video-w5il8NlR-1582634924047)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=91632471)(image-https://ss.csdn.net/p?http://i2.hdslb.com/bfs/archive/1c03d109a1a373184ea11fffdc557a7f89116d96.jpg)(title-[人脸识别]高精度centerface)]
Train
the backbone use mobilev2 as the same with the original paper
The annotation file is in coco format. the annotation file and train data can download for Baidu password: ypbi
train
cd $project/src/tools
source activate torch110
python main.py
Train on your own data
follow the CenterNet
TO DO
- use more powerful and small backbone
- use other FPN tricks
reference
borrow code from CenterNet