insightface README

The project's README from github.com/deepinsight/insightface. As one markdown file: README.md.

InsightFace: 2D and 3D Face Analysis Project

InsightFace project is mainly maintained by Jia Guo and Jiankang Deng.

For more information, please visit our website at https://www.insightface.ai

InsightFace 2.0 Update

InsightFace 2.0 adds PrivateFrame for local video face blur and mosaic, reference-photo selection, and editable analysis JSON through desktop, CLI, and Python workflows, plus optional RGB liveness detection for FaceAnalysis and InsightFace Server. The Python package also supports raccoon_s / raccoon_l model packages, automatic CoreML/CUDA/CPU provider selection, and reusable CoreML compilation caches. PrivateFrame defaults to Fast mode (target 15 analysis FPS).

InsightFace Server

The new InsightFace Server provides a simple self-hosted Web UI, snake_case REST API, and Python client for detection, optional liveness checks, comparison, registration, and Person search. A single Linux x86_64 CPU or NVIDIA GPU container runs local ONNX Runtime inference and SQLite with operator-supplied, manifest-verified models. It is a simple AWS Rekognition alternative with accuracy-preserving INT8 embedding quantization and 50M+ image search on one RTX 5090 GPU.

License

The code of InsightFace is released under the MIT License. There is no limitation for both academic and commercial usage.

The training data containing the annotation (and the models trained with these data) are available for non-commercial research purposes only.

Both manual-downloading models from our github repo and auto-downloading models with our python-library follow the above license policy(which is for non-commercial research purposes only).

2025-11-24 Update:

  1. For inswapper series face swap models (e.g., inswapper_128.onnx/inswapper-512-live), please contact [email protected] for licensing and additional support.
  2. For open-sourced face recognition models (e.g., buffalo_l package), please contact [email protected] for licensing.
  3. For advanced face recognition SDK and models (e.g., InspireFace SDK), please contact [email protected] for licensing and additional support.

ChangeLogs

2026-09-09 InsightFace 2.0 Liveness update: Add the optional RGB liveness addon, normal/observe modes, per-face scores and input-rejection reasons, plus Server Web model installation and activation. See Python usage and Server usage.

2026-09-09 InsightFace 2.0 PrivateFrame update: Add local video detection and tracking, Gaussian blur/mosaic, selective redaction from reference photos, reusable JSON with rendering without another inference pass, and integrated desktop, CLI, and Python API workflows. See the feature and usage guide.

2026-07-27 InsightFace Server Added a simple AWS Rekognition alternative with accuracy-preserving INT8 embedding quantization and 50M+ image search on one RTX 5090 GPU.

2026-05-23 InsightFace 1.0 Added a cross-platform desktop GUI Demo for face recognition, enterprise evaluation, reports, and face swap trials, with a lighter default Python install that removes C++ build requirements.

2025-11-18 [Picsi.ai] Released Live Face Swap macOS & iOS App and updated Picsi.ai services with our latest series of swap models (incl. inswapper-live/Cyn/Dax).

2024-05-04 [Picsi.ai] Released InspireFace, a cross-platform C/C++ face recognition SDK.

2024-04-17: Monocular Identity-Conditioned Facial Reflectance Reconstruction accepted by CVPR-2024.

2023-08-08: We released the implementation of Generalizing Gaze Estimation with Weak-Supervision from Synthetic Views at reconstruction/gaze.

2023-05-03: We have launched the ongoing version of wild face anti-spoofing challenge. See details here.

2023-02-13: We launch a large scale in the wild face anti-spoofing challenge on CVPR23 Workshop, see details at challenges/cvpr23-fas-wild.

2022-11-28: Single line code for facial identity swapping in our python packge ver 0.7, please check the example here.

2022-10-28: MFR-Ongoing website is refactored, please create issues if there's any bug.

2022-09-22: Now we have web-demos: face-localization, face-recognition, and face-swapping.

2022-08-12: We achieved Rank-1st of Perspective Projection Based Monocular 3D Face Reconstruction Challenge of ECCV-2022 WCPA Workshop, paper and code.

2022-03-30: Partial FC accepted by CVPR-2022.

2022-02-23: SCRFD accepted by ICLR-2022.

2021-11-30: MFR-Ongoing challenge launched(same with IFRT), which is an extended version of iccv21-mfr.

2021-10-29: We achieved 1st place on the VISA track of NIST-FRVT 1:1 by using Partial FC (Xiang An, Jiankang Deng, Jia Guo).

2021-10-11: Leaderboard of ICCV21 - Masked Face Recognition Challenge released. Video: Youtube, Bilibili.

2021-06-05: We launch a Masked Face Recognition Challenge & Workshop on ICCV 2021.

Introduction

InsightFace is an open source 2D&3D deep face analysis toolbox, mainly based on PyTorch and MXNet.

Please check our website for detail.

The master branch works with PyTorch 1.6+ and/or MXNet=1.6-1.8, with Python 3.x.

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.

Quick Start

Please start with our python-package, for testing detection, recognition and alignment models on input images.

ArcFace Video Demo

Please click the image to watch the Youtube video. For Bilibili users, click here.

Projects

The page on InsightFace website also describes all supported projects in InsightFace.

You may also interested in some challenges hold by InsightFace.

Face Recognition

Introduction

In this module, we provide training data, network settings and loss designs for deep face recognition.

The supported methods are as follows:

Commonly used network backbones are included in most of the methods, such as IResNet, MobilefaceNet, MobileNet, InceptionResNet_v2, DenseNet, etc..

Datasets

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 page for detail.

Evaluation

We provide standard IJB and Megaface evaluation pipelines in evaluation

Pretrained Models

Please check Model-Zoo for more pretrained models.

Third-party Re-implementation of ArcFace

Face Detection

Introduction

In this module, we provide training data with annotation, network settings and loss designs for face detection training, evaluation and inference.

The supported methods are as follows:

RetinaFace is a practical single-stage face detector which is accepted by CVPR 2020. We provide training code, training dataset, pretrained models and evaluation scripts.

SCRFD is an efficient high accuracy face detection approach which is initialy described in Arxiv. We provide an easy-to-use pipeline to train high efficiency face detectors with NAS supporting.

Face Alignment

Introduction

In this module, we provide datasets and training/inference pipelines for face alignment.

Supported methods:

SDUNets is a heatmap based method which accepted on BMVC.

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

Citation

If you find InsightFace useful in your research, please consider to cite the following related papers:

@inproceedings{ren2023pbidr,
  title={Facial Geometric Detail Recovery via Implicit Representation},
  author={Ren, Xingyu and Lattas, Alexandros and Gecer, Baris and Deng, Jiankang and Ma, Chao and Yang, Xiaokang},
  booktitle={2023 IEEE 17th International Conference on Automatic Face and Gesture Recognition (FG)},  
  year={2023}
 }

@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{gecer2021ostec,
  title={OSTeC: One-Shot Texture Completion},
  author={Gecer, Baris and Deng, Jiankang and Zafeiriou, Stefanos},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2021}
}

@inproceedings{an_2022_pfc_cvpr,
  title={Killing Two Birds with One Stone: Efficient and Robust Training of Face Recognition CNNs by Partial FC},
  author={An, Xiang and Deng, Jiangkang and Guo, Jia and Feng, Ziyong and Zhu, Xuhan and Jing, Yang and Tongliang, Liu},
  booktitle={CVPR},
  year={2022}
}
@inproceedings{an_2021_pfc_iccvw,
  title={Partial FC: Training 10 Million Identities on a Single Machine},
  author={An, Xiang and Zhu, Xuhan and Gao, Yuan and Xiao, Yang and Zhao, Yongle and Feng, Ziyong and Wu, Lan and Qin, Bin and Zhang, Ming and Zhang, Debing and Fu, Ying},
  booktitle={ICCVW},
  year={2021},
}


@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}
}

@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}
}

@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}
}

@inproceedings{deng2018arcface,
title={ArcFace: Additive Angular Margin Loss for Deep Face Recognition},
author={Deng, Jiankang and Guo, Jia and Niannan, Xue and Zafeiriou, Stefanos},
booktitle={CVPR},
year={2019}
}

Contributing

Main contributors:

insightface (deepinsight/insightface)

Searching Database…

这是什么东西?一个开源的 2D 和 3D 人脸分析工具箱,高效实现了业界领先的人脸识别、检测和对齐算法,训练和部署两个环节都做了优化。
它是我写代码时调用的 Python 库,还是一个做好的应用?两者都有:一个可以在自己项目里用的 Python 包和配套训练代码;一个自托管的 InsightFace Server,带 Web 界面和 REST API;还有一个 2026 年发布的跨平台桌面图形界面演示程序。
我该怎么上手?从 python-package 开始:运行 pip install insightface,然后在你自己的图片上测试检测、识别和对齐模型。模型会自动下载,而且从 1.0 版起,默认安装不再需要 C++ 编译环境。
有没有现成的服务器可以自己部署,不用我自己写代码?有。InsightFace Server 可以自托管:包含 Web 界面、REST API 和 Python 客户端,支持人脸检测、可选的活体检测、人脸比对、注册和以人搜图,在单个 Linux x86_64 容器里就能运行,支持纯 CPU 或 NVIDIA GPU。
我的人脸数据会不会留在我的电脑上?会的,所有处理都在本地完成:服务器用 ONNX Runtime 和 SQLite,基于你自己提供的模型做推理;PrivateFrame 功能可以在本地视频里把人脸模糊或打码,全程不需要上传。
预训练模型能用在商业产品里吗?代码采用 MIT 许可证,学术和商业使用都不受限;但基于标注数据训练的预训练模型只能用于非商业研究。inswapper 以及开源的人脸识别模型包则需要向团队申请授权。
里面包含哪些识别、检测和对齐模型?识别:有 MXNet、PyTorch、OneFlow 和 PaddlePaddle 几个版本的 ArcFace,还有 SubCenter ArcFace、Partial FC 和 VPL,骨干网络包括 IResNet、MobilefaceNet 和 MobileNet。检测:RetinaFace 和 SCRFD。对齐:SDUNets 和轻量的 SimpleRegression 关键点模型。预训练模型都可以在 Model Zoo 里找到。
InsightFace 2.0 有什么新东西?新增了 PrivateFrame,可以在本地视频里对人脸做模糊和打码,还能根据参考照片做选择性遮盖,并输出可复用的分析 JSON;新增可选的 RGB 活体检测插件,能给出每张人脸的分数和拒绝输入的原因;还支持自动选择 CoreML/CUDA/CPU 运行后端,并带有可复用的 CoreML 编译缓存。
它能用一行代码就完成换脸吗?可以——从 python-package v0.7 开始,一行代码就能用 inswapper 模型(inswapper_128.onnx、inswapper-512-live)完成人脸身份替换;团队自己的 Picsi.ai 应用把实时换脸带到了 macOS 和 iOS 上。商业使用 inswapper 模型需要联系 insightface.ai 获取授权。
它提供哪些用于人脸识别的训练数据?提供清洗过的 MS1M、VGG2 和 CASIA-Webface 数据集,打包成 MXNet 二进制格式;另外还有标准的 IJB 和 MegaFace 评测流程,以及一个收录预训练模型的 Model Zoo。
Size
61.9 MB
Stars
30K
Age
9y
Commits · 90 Days