2017-11-29 16:39:30 +08:00
2018-03-22 16:12:52 +00:00
# InsightFace: 2D and 3D Face Analysis Project
2017-12-07 09:45:20 +08:00
2021-06-19 23:37:10 +08:00
<div align="left">
<img src="https://insightface.ai/assets/img/custom/logo3.jpg" width="240"/>
</div>
2021-01-02 22:00:59 +08:00
By [Jia Guo ](mailto:guojia@gmail.com?subject=[GitHub]%20InsightFace%20Project ) and [Jiankang Deng ](https://jiankangdeng.github.io/ )
2018-01-26 13:25:56 +08:00
2021-04-18 11:45:25 +08:00
## Top News
2021-06-04 23:09:24 +08:00
**`2021-06-05` **: We launch a [Masked Face Recognition Challenge & Workshop ](https://github.com/deepinsight/insightface/tree/master/challenges/iccv21-mfr ) on ICCV 2021.
**`2021-05-15` **: We released an efficient high accuracy face detection approach called [SCRFD ](https://github.com/deepinsight/insightface/tree/master/detection/scrfd ).
2021-04-19 23:15:13 +08:00
**`2021-04-18` **: We achieved Rank-4th on NIST-FRVT 1:1, see [leaderboard ](https://pages.nist.gov/frvt/html/frvt11.html ).
2021-04-18 11:45:25 +08:00
**`2021-03-13` **: We have released our official ArcFace PyTorch implementation, see [here ](https://github.com/deepinsight/insightface/tree/master/recognition/arcface_torch ).
2018-03-22 16:12:52 +00:00
## License
2018-03-14 11:48:37 +08:00
2021-05-06 17:18:59 +03:00
The code of InsightFace is released under the MIT License. There is no limitation for both academic and commercial usage.
2018-02-16 18:52:51 +08:00
2019-05-14 14:31:08 +01:00
The training data containing the annotation (and the models trained with these data) are available for non-commercial research purposes only.
2020-08-26 13:20:31 +08:00
## Introduction
2021-06-19 23:37:10 +08:00
[InsightFace ](https://insightface.ai ) is an open source 2D&3D deep face analysis toolbox, mainly based on PyTorch and MXNet. Please check our [website ](https://insightface.ai ) for detail.
2020-08-26 13:20:31 +08:00
2021-06-19 23:37:10 +08:00
The master branch works with **PyTorch 1.6+ ** and/or **MXNet=1.6-1.8 ** , with **Python 3.x ** .
2020-08-26 13:20:31 +08:00
2021-06-19 23:37:10 +08:00
InsightFace efficiently implements a rich variety of state of the art algorithms of face recognition, face detection and face alignment, which optimized for both training and deployment.
2020-08-26 13:20:31 +08:00
2021-06-19 23:37:10 +08:00
### ArcFace Video Demo
2019-02-09 13:35:01 +00:00
2019-01-02 14:29:14 +00:00
[](https://www.youtube.com/watch?v=y-D1tReryGA&t=81s)
2019-01-02 14:27:18 +00:00
Please click the image to watch the Youtube video. For Bilibili users, click [here ](https://www.bilibili.com/video/av38041494?from=search&seid=11501833604850032313 ).
2018-10-16 11:22:01 +08:00
2018-06-15 00:08:28 +08:00
2021-06-19 23:37:10 +08:00
## Projects
2018-02-08 14:01:16 +08:00
2021-06-19 23:37:10 +08:00
The [page ](https://insightface.ai/projects ) on InsightFace website also describes all supported projects in InsightFace.
2020-08-26 13:20:31 +08:00
2021-06-19 23:37:10 +08:00
You may also interested in some [challenges ](https://insightface.ai/challenges ) hold by InsightFace.
2018-03-22 17:07:13 +00:00
2020-08-26 14:35:08 +08:00
2018-03-22 17:07:13 +00:00
2021-06-19 23:37:10 +08:00
## Face Recognition
2017-11-29 16:39:30 +08:00
2018-01-24 09:35:09 +08:00
### Introduction
2017-11-30 19:15:34 +08:00
2020-08-26 14:35:08 +08:00
In this module, we provide training data, network settings and loss designs for deep face recognition.
2019-01-15 14:45:10 +08:00
2021-06-19 23:37:10 +08:00
The supported methods are as follows:
2018-01-25 19:34:25 +08:00
2021-06-19 23:37:10 +08:00
- [x] [ArcFace_mxnet (CVPR'2019) ](recognition/arcface_mxnet )
- [x] [ArcFace_torch (CVPR'2019) ](recognition/arcface_torch )
- [x] [SubCenter ArcFace (ECCV'2020) ](recognition/subcenter_arcface )
- [x] [PartialFC_mxnet (Arxiv'2020) ](recognition/partial_fc )
- [x] [PartialFC_torch (Arxiv'2020) ](recognition/arcface_torch )
- [x] [VPL (CVPR'2021) ](recognition/vpl )
- [x] [OneFlow_face ](recognition/oneflow_face )
2018-01-24 09:33:34 +08:00
2021-06-19 23:37:10 +08:00
Commonly used network backbones are included in most of the methods, such as IResNet, MobilefaceNet, MobileNet, InceptionResNet_v2, DenseNet, etc..
2018-01-24 09:33:34 +08:00
2021-06-19 23:37:10 +08:00
### Datasets
2018-04-23 12:12:09 +08:00
2021-06-19 23:37:10 +08:00
The training data includes, but not limited to the cleaned MS1M, VGG2 and CASIA-Webface datasets, which were already packed in MXNet binary format. Please [dataset ](recognition/_dataset_ ) page for detail.
2018-01-24 09:33:34 +08:00
2021-06-19 23:37:10 +08:00
### Evaluation
2018-01-24 09:33:34 +08:00
2021-06-19 23:37:10 +08:00
We provide standard IJB and Megaface evaluation pipelines in [evaluation ](recognition/_evaluation_ )
2018-01-24 09:33:34 +08:00
2018-03-22 16:38:34 +00:00
### Pretrained Models
2018-01-30 13:39:34 +08:00
2018-10-23 12:51:51 +08:00
**Please check [Model-Zoo ](https://github.com/deepinsight/insightface/wiki/Model-Zoo ) for more pretrained models.**
2021-06-19 23:37:10 +08:00
### Third-party Re-implementation of ArcFace
2018-01-24 09:33:34 +08:00
2018-03-22 16:38:34 +00:00
- TensorFlow: [InsightFace_TF ](https://github.com/auroua/InsightFace_TF )
2018-10-11 17:45:46 +08:00
- TensorFlow: [tf-insightface ](https://github.com/AIInAi/tf-insightface )
2019-08-07 18:43:47 +01:00
- TensorFlow:[insightface ](https://github.com/Fei-Wang/insightface )
2018-10-11 17:45:46 +08:00
- PyTorch: [InsightFace_Pytorch ](https://github.com/TreB1eN/InsightFace_Pytorch )
- PyTorch: [arcface-pytorch ](https://github.com/ronghuaiyang/arcface-pytorch )
- Caffe: [arcface-caffe ](https://github.com/xialuxi/arcface-caffe )
2019-02-02 11:10:37 +08:00
- Caffe: [CombinedMargin-caffe ](https://github.com/gehaocool/CombinedMargin-caffe )
- Tensorflow: [InsightFace-tensorflow ](https://github.com/luckycallor/InsightFace-tensorflow )
2020-05-28 17:51:24 +08:00
- TensorRT: [wang-xinyu/tensorrtx ](https://github.com/wang-xinyu/tensorrtx )
2018-01-24 09:33:34 +08:00
2020-08-26 14:35:08 +08:00
## Face Detection
2021-06-19 23:37:10 +08:00
### Introduction
<div align="left">
<img src="https://insightface.ai/assets/img/github/11513D05.jpg" width="640"/>
</div>
2020-08-26 14:35:08 +08:00
2021-06-19 23:37:10 +08:00
In this module, we provide training data with annotation, network settings and loss designs for face detection training, evaluation and inference.
2020-08-26 14:41:37 +08:00
2021-06-19 23:37:10 +08:00
The supported methods are as follows:
2020-08-26 14:35:08 +08:00
2021-06-19 23:37:10 +08:00
- [x] [RetinaFace (CVPR'2020) ](detection/retinaface )
- [x] [SCRFD (Arxiv'2021) ](detection/scrfd )
2018-01-25 21:47:22 +08:00
2021-06-19 23:37:10 +08:00
[RetinaFace ](detection/retinaface ) is a practical single-stage face detector which is accepted by [CVPR 2020 ](https://openaccess.thecvf.com/content_CVPR_2020/html/Deng_RetinaFace_Single-Shot_Multi-Level_Face_Localisation_in_the_Wild_CVPR_2020_paper.html ). We provide training code, training dataset, pretrained models and evaluation scripts.
2018-01-25 21:47:22 +08:00
2021-06-19 23:37:10 +08:00
[SCRFD ](detection/scrfd ) is an efficient high accuracy face detection approach which is initialy described in [Arxiv ](https://arxiv.org/abs/2105.04714 ). We provide an easy-to-use pipeline to train high efficiency face detectors with NAS supporting.
2020-08-26 14:35:08 +08:00
2020-08-26 14:41:37 +08:00
2021-06-19 23:37:10 +08:00
## Face Alignment
2020-08-26 14:41:37 +08:00
2021-06-19 23:37:10 +08:00
### Introduction
<div align="left">
<img src="https://insightface.ai/assets/img/custom/thumb_sdunet.png" width="600"/>
2020-08-26 14:41:37 +08:00
</div>
2018-01-24 09:33:34 +08:00
2021-06-19 23:37:10 +08:00
In this module, we provide datasets and training/inference pipelines for face alignment.
Supported methods:
- [x] [SDUNets (BMVC'2018) ](alignment/heatmap )
- [x] [SimpleRegression ](alignment/coordinate_reg )
[SDUNets ](alignment/heatmap ) is a heatmap based method which accepted on [BMVC ](http://bmvc2018.org/contents/papers/0051.pdf ).
[SimpleRegression ](alignment/coordinate_reg ) provides very lightweight facial landmark models with fast coordinate regression. The input of these models is loose cropped face image while the output is the direct landmark coordinates.
2018-01-24 09:33:34 +08:00
2018-03-22 16:12:52 +00:00
## Citation
2018-01-24 09:33:34 +08:00
2018-03-22 17:07:13 +00:00
If you find * InsightFace * useful in your research, please consider to cite the following related papers:
2018-01-24 09:33:34 +08:00
2018-01-24 11:55:27 +08:00
```
2021-06-19 23:37:10 +08:00
@article {guo2021sample,
title={Sample and Computation Redistribution for Efficient Face Detection},
author={Guo, Jia and Deng, Jiankang and Lattas, Alexandros and Zafeiriou, Stefanos},
journal={arXiv preprint arXiv:2105.04714},
year={2021}
}
@inproceedings {an2020partical_fc,
title={Partial FC: Training 10 Million Identities on a Single Machine},
author={An, Xiang and Zhu, Xuhan and Xiao, Yang and Wu, Lan and Zhang, Ming and Gao, Yuan and Qin, Bin and
Zhang, Debing and Fu Ying},
booktitle={Arxiv 2010.05222},
year={2020}
}
@inproceedings {deng2020subcenter,
title={Sub-center ArcFace: Boosting Face Recognition by Large-scale Noisy Web Faces},
author={Deng, Jiankang and Guo, Jia and Liu, Tongliang and Gong, Mingming and Zafeiriou, Stefanos},
booktitle={Proceedings of the IEEE Conference on European Conference on Computer Vision},
year={2020}
}
@inproceedings {Deng2020CVPR,
title = {RetinaFace: Single-Shot Multi-Level Face Localisation in the Wild},
author = {Deng, Jiankang and Guo, Jia and Ververas, Evangelos and Kotsia, Irene and Zafeiriou, Stefanos},
booktitle = {CVPR},
year = {2020}
2019-05-10 13:34:26 +01:00
}
2019-04-14 13:41:49 +01:00
@inproceedings {guo2018stacked,
title={Stacked Dense U-Nets with Dual Transformers for Robust Face Alignment},
author={Guo, Jia and Deng, Jiankang and Xue, Niannan and Zafeiriou, Stefanos},
booktitle={BMVC},
year={2018}
}
2019-05-10 13:34:26 +01:00
@article {deng2018menpo,
title={The Menpo benchmark for multi-pose 2D and 3D facial landmark localisation and tracking},
author={Deng, Jiankang and Roussos, Anastasios and Chrysos, Grigorios and Ververas, Evangelos and Kotsia, Irene and Shen, Jie and Zafeiriou, Stefanos},
journal={IJCV},
year={2018}
}
2019-02-26 11:49:09 +00:00
@inproceedings {deng2018arcface,
2018-03-22 16:58:47 +00:00
title={ArcFace: Additive Angular Margin Loss for Deep Face Recognition},
2019-01-02 14:29:14 +00:00
author={Deng, Jiankang and Guo, Jia and Niannan, Xue and Zafeiriou, Stefanos},
2019-02-26 11:49:09 +00:00
booktitle={CVPR},
2019-02-26 11:33:45 +00:00
year={2019}
2018-03-22 16:12:52 +00:00
}
```
## Contact
2018-01-24 09:33:34 +08:00
2018-01-24 11:55:27 +08:00
```
2018-03-22 16:38:34 +00:00
[Jia Guo ](guojia[at]gmail.com )
[Jiankang Deng ](jiankangdeng[at]gmail.com )
2018-03-22 16:12:52 +00:00
```