← Open Source
wujiyang

Face_Pytorch

face recognition algorithms in pytorch framework, including arcface, cosface, sphereface and so on.

Model DevelopmentDomain-specific trainingPython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
833
Stars
154
Forks
+-1
This week
1
Contributors
Created 2018-12-21 · Updated 2026-10-15 · #13362 today
Top developers

wujiyang/Face_Pytorch is ranked 13,362 with 833 stars.

Same-category comparison

wujiyang/Face_Pytorch is ranked 13,362 among these 8 peers; tonl-dev/tonl is ranked 13,361.

Same-category comparison
NameRankMetrics
deepinv/deepinv13,353
Language:
Python
Stars:
833
Forks:
221
Description:
DeepInverse: a PyTorch library for solving imaging inverse problems using deep learning.
finegrain-ai/refiners13,356
Language:
Python
Stars:
833
Forks:
63
Description:
Refiners (discontinued early 2025) was a microframework on top of PyTorch with first-class citizen APIs for foundation model adaptation.
koaning/human-learn13,358
Language:
Jupyter Notebook
Stars:
833
Forks:
54
Description:
Natural Intelligence is still a pretty good idea.
tonl-dev/tonl13,361
Language:
TypeScript
Stars:
833
Forks:
36
Description:
TONL (Token-Optimized Notation Language).
foamliu/Deep-Image-Matting-PyTorch13,366
Language:
Python
Stars:
832
Forks:
181
Description:
Deep Image Matting implementation in PyTorch.
smilelight/lightNLP13,369
Language:
Python
Stars:
832
Forks:
209
somaticio/tensorflow.rb13,370
Language:
Ruby
Stars:
832
Forks:
61
Description:
tensorflow for ruby.
elki-project/elki13,373
Language:
Java
Stars:
831
Forks:
322
Description:
ELKI Data Mining Toolkit.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryDomain-specific training
Stars833
Forks154
Contributors1
Created date2018-12-21
Updated date2026-10-15
Stars in 1 day0
Stars in 7 days-1
Rank13,362
Previous rank18,899
Rank change5,537
7-day stars rank17,533
Previous 7-day stars rank17,492
7-day stars rank change-41
Total stars rank12,899
Previous total stars rank12,884
Total stars rank change-15
README summary

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.

Frequently asked questions

How many stars and forks are recorded?

wujiyang/Face_Pytorch has 833 stars and 154 forks.

What is the repository rank?

wujiyang/Face_Pytorch is ranked 13,362.

What language and category are recorded?

wujiyang/Face_Pytorch has 833 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

wujiyang/Face_Pytorch is compared with tonl-dev/tonl, ranked 13,361 with 833 stars.

README

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

  1. Download the source code to your machine.
  2. Prepare the train dataset and train list, test dataset and test verification pairs.
  3. Set your own dataset path and any other parameters in train.py.
  4. Run train.py file, test accuracy will print into log file during training process.

  1. 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.

References

MuggleWang/CosFace_pytorch
Xiaoccer/MobileFaceNet_Pytorch
TreB1eN/InsightFace_Pytorch
deepinsight/insightface
KaiyangZhou/pytorch-center-loss
tengshaofeng/ResidualAttentionNetwork-pytorch

Todo

  1. Report the test results on DeepGlint Trillion Pairs Challenge.
  2. Add C++ api for fast deployment with pytorch 1.0.
  3. Train the ResNet100-based model.
Nearby in the ranking
Similar items