Files
insightface/README.md

199 lines
7.9 KiB
Markdown
Raw Normal View History

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
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
[![ArcFace Demo](https://github.com/deepinsight/insightface/blob/master/resources/facerecognitionfromvideo.PNG)](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
```