ZhaoJ9014 / face.evoLVe

🔥🔥High-Performance Face Recognition Library on PaddlePaddle & PyTorch🔥🔥
MIT License
3.41k stars 759 forks source link
artificial-intelligence computer-vision convolutional-neural-network data-augmentation deep-learning face-alignment face-detection face-landmark-detection face-recognition feature-extraction fine-tuning hard-negative-mining imbalanced-learning machine-learning model-training nus pytorch supervised-learning tencent transfer-learning

face.evoLVe: High-Performance Face Recognition Library based on PaddlePaddle & PyTorch

Author Jian Zhao
Homepage https://zhaoj9014.github.io

License

The code of face.evoLVe is released under the MIT License.


News

:white_check_mark: CLOSED 02 September 2021: Baidu PaddlePaddle officially merged face.evoLVe to faciliate researches and applications on face-related analytics (Official Announcement).

:white_check_mark: CLOSED 03 July 2021: Provides training code for the paddlepaddle framework.

:white_check_mark: CLOSED 04 July 2019: We will share several publicly available datasets on face anti-spoofing/liveness detection to facilitate related research and analytics.

:white_check_mark: CLOSED 07 June 2019: We are training a better-performing IR-152 model on MS-Celeb-1M_Align_112x112, and will release the model soon.

:white_check_mark: CLOSED 23 May 2019: We share three publicly available datasets to facilitate research on heterogeneous face recognition and analytics. Please refer to Sec. Data Zoo for details.

:white_check_mark: CLOSED 23 Jan 2019: We share the name lists and pair-wise overlapping lists of several widely-used face recognition datasets to help researchers/engineers quickly remove the overlapping parts between their own private datasets and the public datasets. Please refer to Sec. Data Zoo for details.

:white_check_mark: CLOSED 23 Jan 2019: The current distributed training schema with multi-GPUs under PyTorch and other mainstream platforms parallels the backbone across multi-GPUs while relying on a single master to compute the final bottleneck (fully-connected/softmax) layer. This is not an issue for conventional face recognition with moderate number of identities. However, it struggles with large-scale face recognition, which requires recognizing millions of identities in the real world. The master can hardly hold the oversized final layer while the slaves still have redundant computation resource, leading to small-batch training or even failed training. To address this problem, we are developing a highly-elegant, effective and efficient distributed training schema with multi-GPUs under PyTorch, supporting not only the backbone, but also the head with the fully-connected (softmax) layer, to facilitate high-performance large-scale face recognition. We will added this support into our repo.

:white_check_mark: CLOSED 22 Jan 2019: We have released two feature extraction APIs for extracting features from pre-trained models, implemented with PyTorch build-in functions and OpenCV, respectively. Please check ./util/extract_feature_v1.py and ./util/extract_feature_v2.py.

:white_check_mark: CLOSED 22 Jan 2019: We are fine-tuning our released IR-50 model on our private Asia face data, which will be released soon to facilitate high-performance Asia face recognition.

:white_check_mark: CLOSED 21 Jan 2019: We are training a better-performing IR-50 model on MS-Celeb-1M_Align_112x112, and will replace the current model soon.


Contents


face.evoLVe for High-Performance Face Recognition

Introduction

:information_desk_person:


Pre-Requisites

:cake:

While not required, for optimal performance it is highly recommended to run the code using a CUDA enabled GPU. We used 4-8 NVIDIA Tesla P40 in parallel.


Usage

:orange_book:


Face Alignment

:triangular_ruler:


Data Processing

:bar_chart:


Training and Validation

:coffee:


Data Zoo

:tiger:

Database Version #Identity #Image #Frame #Video Download Link
LFW Raw 5,749 13,233 - - Google Drive, Baidu Drive
LFW Align_250x250 5,749 13,233 - - Google Drive, Baidu Drive
LFW Align_112x112 5,749 13,233 - - Google Drive, Baidu Drive
CALFW Raw 4,025 12,174 - - Google Drive, Baidu Drive
CALFW Align_112x112 4,025 12,174 - - Google Drive, Baidu Drive
CPLFW Raw 3,884 11,652 - - Google Drive, Baidu Drive
CPLFW Align_112x112 3,884 11,652 - - Google Drive, Baidu Drive
CASIA-WebFace Raw_v1 10,575 494,414 - - Baidu Drive
CASIA-WebFace Raw_v2 10,575 494,414 - - Google Drive, Baidu Drive
CASIA-WebFace Clean 10,575 455,594 - - Google Drive, Baidu Drive
MS-Celeb-1M Clean 100,000 5,084,127 - - Google Drive
MS-Celeb-1M Align_112x112 85,742 5,822,653 - - Google Drive
Vggface2 Clean 8,631 3,086,894 - - Google Drive
Vggface2_FP Align_112x112 - - - - Google Drive, Baidu Drive
AgeDB Raw 570 16,488 - - Google Drive, Baidu Drive
AgeDB Align_112x112 570 16,488 - - Google Drive, Baidu Drive
IJB-A Clean 500 5,396 20,369 2,085 Google Drive, Baidu Drive
IJB-B Raw 1,845 21,798 55,026 7,011 Google Drive
CFP Raw 500 7,000 - - Google Drive, Baidu Drive
CFP Align_112x112 500 7,000 - - Google Drive, Baidu Drive
Umdfaces Align_112x112 8,277 367,888 - - Google Drive, Baidu Drive
CelebA Raw 10,177 202,599 - - Google Drive, Baidu Drive
CACD-VS Raw 2,000 163,446 - - Google Drive, Baidu Drive
YTF Align_344x344 1,595 - 3,425 621,127 Google Drive, Baidu Drive
DeepGlint Align_112x112 180,855 6,753,545 - - Google Drive
UTKFace Align_200x200 - 23,708 - - Google Drive, Baidu Drive
BUAA-VisNir Align_287x287 150 5,952 - - Baidu Drive, PW: xmbc
CASIA NIR-VIS 2.0 Align_128x128 725 17,580 - - Baidu Drive, PW: 883b
Oulu-CASIA Raw 80 65,000 - - Baidu Drive, PW: xxp5
NUAA-ImposterDB Raw 15 12,614 - - Baidu Drive, PW: if3n
CASIA-SURF Raw 1,000 - - 21,000 Baidu Drive, PW: izb3
CASIA-FASD Raw 50 - - 600 Baidu Drive, PW: h5un
CASIA-MFSD Raw 50 - - 600
Replay-Attack Raw 50 - - 1,200
WebFace260M Raw 24M 2M - https://www.face-benchmark.org/

Model Zoo

:monkey:


Achievement

:confetti_ball:


Acknowledgement

:two_men_holding_hands:


Citation

:bookmark_tabs: