Giter VIP home page Giter VIP logo

facex-zoo's Introduction

FaceX-Zoo

FaceX-Zoo is a PyTorch toolbox for face recognition. It provides a training module with various supervisory heads and backbones towards state-of-the-art face recognition, as well as a standardized evaluation module which enables to evaluate the models in most of the popular benchmarks just by editing a simple configuration. Also, a simple yet fully functional face SDK is provided for the validation and primary application of the trained models. Rather than including as many as possible of the prior techniques, we enable FaceX-Zoo to easilyupgrade and extend along with the development of face related domains. Please refer to the technical report for more detailed information about this project.

About the name:

  • "Face" - this repo is mainly for face recognition.
  • "X" - we also aim to provide something beyond face recognition, e.g. face parsing, face lightning.
  • "Zoo" - there include a lot of algorithms and models in this repo. image

What's New

  • [Oct. 2021] Swin Transformer is supported now! We obtain a quite promising result of 98.17 in MegaFace rank1 protocol with Swin-S. For more results, pretrained models and logs please refer to 3.1 Experiments of SOTA backbones. For training face recognition model with Swin Transformer, please refer to swin_training. Note that the input size is 224*224 but not 112*112 and we use AdamW+CosineLRScheduler to optimize it instead of SGD+MultiStepLR.
  • [Sep. 2021] We provide a Dockfile to buid the docker image of this project.
  • [Aug. 2021] RepVGG has been added to the backbones for face recognition, the performance of RepVGG_A0, B0, B1 can be found in 3.1 Experiments of SOTA backbones.
  • [Jul. 2021] A method for facial expression recognition named DMUE has been accepted by CVPR2021, and all codes have been released here.
  • [Jun. 2021] We evaluate some knowledge distillation methods on face recognition task, results and codes can be found in face_lightning module.
  • [May. 2021] Tools to convert a trained model to onnx format and the provided sdk format can be found in model_convertor.
  • [Apr. 2021] IJB-C 1:1 protocol has been added to the evaluation module.
  • [Mar. 2021] ResNeSt and ReXNet have been added to the backbones, MagFace has been added to the heads.
  • [Feb. 2021] Distributed training and mixed precision training by apex is supported. Please check distributed_training and train_amp.py
  • [Jan. 2021] We commit the initial version of FaceX-Zoo.

Requirements

  • python >= 3.7.1
  • pytorch >= 1.1.0
  • torchvision >= 0.3.0

Model Training

See README.md in training_mode, currently support conventional training and semi-siamese training.

Model Evaluation

See README.md in test_protocol, currently support LFW, CPLFW, CALFW, RFW, AgeDB30, IJB-C, MegaFace and MegaFace-mask.

Face SDK

See README.md in face_sdk, currently support face detection, face alignment and face recognition.

Face Mask Adding

See README.md in FMA-3D.

License

FaceX-Zoo is released under the Apache License, Version 2.0.

Acknowledgements

This repo is mainly inspired by InsightFace, InsightFace_Pytorch, face.evoLVe. We thank the authors a lot for their valuable efforts.

Citation

Please consider citing our paper in your publications if the project helps your research. BibTeX reference is as follows.

@inproceedings{wang2021facex,
  author = {Jun Wang, Yinglu Liu, Yibo Hu, Hailin Shi and Tao Mei},
  title = {FaceX-Zoo: A PyTorh Toolbox for Face Recognition},
  journal = {Proceedings of the 29th ACM international conference on Multimedia},
  year = {2021}
}

If you have any questions, please contact with Jun Wang ([email protected]), Yinglu Liu ([email protected]), Yibo Hu ([email protected]), Hailin Shi ([email protected]) and Wu Liu([email protected]).

facex-zoo's People

Contributors

wang21jun avatar aberhu avatar xjx777 avatar dituu avatar fengyu-neu avatar hbin-ac avatar jharry502 avatar mitchellx avatar alvin870203 avatar cbwces avatar lucia123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.