14 >Currently, I have graduated from campus and doing another kind of job. So this project may not be updated again. Face_Pytorch The implementation of popular face recognition algorithms in pytorch framework, including arcface, cosface and sphereface and so on. Data Preparation For CNN training, I use CASIA-WebFace and Cleaned MS-Celeb-1M, aligned by MTCNN with the size of 112x112. For performance testing, I report the results on LFW, AgeDB-30, CFP-FP, MegaFace rank1 identification and
verification. For AgeDB-30 and CFP-FP, the aligned images and evaluation images pairs are restored from the mxnet binary file provided by insightface, tools are available in this repository. You should install a mxnet-cpu first for the image parsing, just do ' **pip install mxnet** ' is ok. 34 | 4MB | small ResNet50-IR | ArcFace | 99. 34 | 170MB | small SEResNet50-IR | ArcFace | 99. 43 | 171MB | small MobileFaceNet | ArcFace | 99. 90 | 4MB | large ResNet50-IR | ArcFace | 99. 34 | 170MB | large SEResNet50-IR
| ArcFace | 99. 60 | 171MB | large ResNet100-IR | ArcFace | 99. 41 | 256MB | large There exists an odd result fact that when training under small protocol, CFP-FP performances better than AgeDB-30, while when training with large scale dataset, CFP-FP performances worse than AgeDB-30. MegaFace rank 1 identifiaction accuracy and verfication@FPR=1e-6 results Model Type | Loss | MF Acc. 86 | 4MB | small ResNet50-IR | ArcFace | 74. 56 | 170MB | small SEResNet50-IR | ArcFace | 74. 65 | 171MB | small MobileFaceNet | ArcFace
| 74. 03 | 4MB | large ResNet50-IR | ArcFace | 79. 78 | 170MB | large SEResNet50-IR | ArcFace | 79. 60 | 171MB | large ResNet100-IR | ArcFace | 80. Download the source code to your machine. Prepare the train dataset and train list, test dataset and test verification pairs. Set your own dataset path and any other parameters in train. py file, test accuracy will print into log file during training process. Every evaluate file can work independently for the model test process. Visualization Visdom support for
loss and accuracy during training process. Right: softmax + center loss training set. Report the test results on DeepGlint Trillion Pairs Challenge. Add C++ api for fast deployment with pytorch 1.
常见问题
记录了多少星标和分叉?
wujiyang/Face_Pytorch 有 833 个星标和 154 个分叉。
仓库排名是多少?
wujiyang/Face_Pytorch 排名第 13,362。
记录的语言和类别是什么?
wujiyang/Face_Pytorch 有 833 个星标,语言为 Python,类别为 Model Development。
2019.07.14
Currently, I have graduated from campus and doing another kind of job. So this project may not be updated again.
Face_Pytorch
The implementation of popular face recognition algorithms in pytorch framework, including arcface, cosface and sphereface and so on.
All codes are evaluated on Pytorch 0.4.0 with Python 3.6, Ubuntu 16.04.10, CUDA 9.1 and CUDNN 7.1. Partially evaluated on Pytorch 1.0.
Data Preparation
For CNN training, I use CASIA-WebFace and Cleaned MS-Celeb-1M, aligned by MTCNN with the size of 112x112. For performance testing, I report the results on LFW, AgeDB-30, CFP-FP, MegaFace rank1 identification and verification.
For AgeDB-30 and CFP-FP, the aligned images and evaluation images pairs are restored from the mxnet binary file provided by insightface, tools are available in this repository. You should install a mxnet-cpu first for the image parsing, just do ' pip install mxnet ' is ok. LFW @ BaiduNetdisk, AgeDB-30 @ BaiduNetdisk, CFP_FP @ BaiduNetdisk
Results
MobileFaceNet: Struture described in MobileFaceNet
ResNet50: Original resnet structure
ResNet50-IR: CNN described in ArcFace paper
SEResNet50-IR: CNN described in ArcFace paper
Verification results on LFW, AgeDB-30 and CFP_FP
Small Protocol: trained with CASIA-WebFace of data size: 453580/10575
Large Protocol: trained with DeepGlint MS-Celeb-1M of data size: 3923399/86876
Model Type
Loss
LFW
AgeDB-30
CFP-FP
Model Size
protocol
MobileFaceNet
ArcFace
99.23
93.26
94.34
4MB
small
ResNet50-IR
ArcFace
99.42
94.45
95.34
170MB
small
SEResNet50-IR
ArcFace
99.43
94.50
95.43
171MB
small
MobileFaceNet
ArcFace
99.58
96.57
92.90
4MB
large
ResNet50-IR
ArcFace
99.82
98.07
95.34
170MB
large
SEResNet50-IR
ArcFace
99.80
98.13
95.60
171MB
large
ResNet100-IR
ArcFace
99.83
98.28
96.41
256MB
large
There exists an odd result fact that when training under small protocol, CFP-FP performances better than AgeDB-30, while when training with large scale dataset, CFP-FP performances worse than AgeDB-30.
MegaFace rank 1 identifiaction accuracy and verfication@FPR=1e-6 results
Model Type
Loss
MF Acc.
MF Ver.
MF Acc.@R
MF Ver.@R
SIZE
protocol
MobileFaceNet
ArcFace
69.10
84.23
81.15
85.86
4MB
small
ResNet50-IR
ArcFace
74.31
88.23
87.44
89.56
170MB
small
SEResNet50-IR
ArcFace
74.37
88.32
88.30
89.65
171MB
small
MobileFaceNet
ArcFace
74.95
88.77
89.47
91.03
4MB
large
ResNet50-IR
ArcFace
79.61
96.02
96.58
96.78
170MB
large
SEResNet50-IR
ArcFace
79.91
96.10
97.01
97.60
171MB
large
ResNet100-IR
ArcFace
80.40
96.94
97.60
98.05
256MB
large
Usage
Download the source code to your machine.
Prepare the train dataset and train list, test dataset and test verification pairs.
Set your own dataset path and any other parameters in train.py.
Run train.py file, test accuracy will print into log file during training process.
Every evaluate file can work independently for the model test process. just set your own args in the file.
Visualization
Visdom support for loss and accuracy during training process.
Softmax Loss vs Softmax_Center Loss. Left: softmax training set. Right: softmax + center loss training set.