insightface Documentation

State-of-the-art 2D and 3D Face Analysis Project

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy insightface on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name insightface --restart always deepinsight/insightface:latest
Configured Services & Ports
โš™๏ธ build-ubuntu18
image: build locally
โš™๏ธ build-cross-rv1109rv1126-armhf
image: build locally
โš™๏ธ build-cross-armv7-armhf
image: build locally
โš™๏ธ build-cross-rv1106-armhf-uclibc
image: build locally
โš™๏ธ build-cross-aarch64
image: build locally
โš™๏ธ build-cross-rk356x-rk3588-aarch64
image: build locally
โš™๏ธ build-cross-android
image: build locally
โš™๏ธ build-cross-android-rk356x-rk3588
image: build locally
โš™๏ธ build-cuda-ubuntu20
image: build locally
โš™๏ธ build-manylinux2014-x86
image: build locally
โš™๏ธ build-manylinux2014-aarch64
image: build locally
โš™๏ธ build-manylinux_2_36-aarch64
image: build locally
โš™๏ธ build-tensorrt-cuda12-ubuntu22
image: build locally
docker-compose.yml
yaml (docker-compose.yml)
version: '3'
services:
  build-ubuntu18:
    build:
      context: .
      dockerfile: docker/Dockerfile.ubuntu18 # Use the Ubuntu18.04
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_linux_ubuntu18.sh
  build-cross-rv1109rv1126-armhf:
    build:
      context: .
      dockerfile: docker/Dockerfile.arm-linux-gnueabihf # Use the arm-linux-gnueabihf tool chain
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_cross_rv1109rv1126_armhf.sh
  build-cross-armv7-armhf:
    build:
      context: .
      dockerfile: docker/Dockerfile.arm-linux-gnueabihf # Use the arm-linux-gnueabihf tool chain
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_cross_armv7_armhf.sh
  build-cross-rv1106-armhf-uclibc:
    build:
      context: .
      dockerfile: docker/Dockerfile.arm-linux-rockchip830-armhf-uclibc
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_cross_rv1106_armhf_uclibc.sh
  build-cross-aarch64:
    build:
      context: .
      dockerfile: docker/Dockerfile.arm-linux-aarch64 # Use the arm-linux-gnueabihf tool chain
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_cross_aarch64.sh
  build-cross-rk356x-rk3588-aarch64:
    build:
      context: .
      dockerfile: docker/Dockerfile.arm-linux-aarch64 # Use the arm-linux-gnueabihf tool chain
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_cross_rk356x_rk3588_aarch64.sh
  build-cross-android:
    build:
      context: .
      dockerfile: docker/Dockerfile.android # Use the arm-linux-gnueabihf tool chain
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_android.sh
  build-cross-android-rk356x-rk3588:
    build:
      context: .
      dockerfile: docker/Dockerfile.android # Use the arm-linux-gnueabihf tool chain
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_cross_rk356x_rk3588_aarch64.sh
  build-cuda-ubuntu20:
    build:
      context: .
      dockerfile: docker/Dockerfile.cuda.ubuntu20
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_linux_cuda.sh
  build-manylinux2014-x86:
    build:
      context: .
      dockerfile: docker/Dockerfile.manylinux2014-x86
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_wheel_manylinux2014_x86.sh
  build-manylinux2014-aarch64:
    build:
      context: .
      dockerfile: docker/Dockerfile.manylinux2014_aarch64
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_wheel_manylinux2014_aarch64.sh
  build-manylinux_2_36-aarch64:
    build:
      context: .
      dockerfile: docker/Dockerfile.manylinux_2_36_aarch64
    environment:
      - VERSION=${VERSION}
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_wheel_manylinux_2_36_aarch64.sh
  build-tensorrt-cuda12-ubuntu22:
    build:
      context: .
      dockerfile: docker/Dockerfile.cuda12_ubuntu22
    environment:
      - VERSION=${VERSION}
      - CUDA_TAG=cuda12.2_ubuntu22.04
    working_dir: /workspace
    volumes:
      - .:/workspace # Mount the project root directory to the container
    command: bash command/build_linux_tensorrt.sh

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://insightface.ai

InsightFace 1.0 Update

InsightFace 1.0 focuses on easier local evaluation and desktop usage:

  • The default Python package no longer builds the optional C++/Cython face3d extension, reducing local compiler requirements.
  • Added InsightFace Evaluation Studio, a cross-platform GUI Demo for Windows, macOS, and Linux.
  • The GUI supports local face recognition, enterprise model evaluation/reporting, and basic face swap trials.

InsightFace Server

The new InsightFace Server provides a simple self-hosted Web UI,
snake_case REST API, and Python client for detection, 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.

Top News

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-512-live/Cyn/Dax).

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

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

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

ChangeLogs

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.

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:

text
/* Detailed source-code truncated for AI context efficiency. */

Contributing

Main contributors:


File: alignment/heatmap/README.md

We provide our implementation of Stacked Dense U-Nets with Dual Transformers for Robust Face Alignment here at BMVC or link at Arxiv.

We also provide some popular heatmap based approaches like stacked hourglass, etc.. You can define different loss-type/network structure/dataset in config.py(from sample_config.py).

For example, by default, you can train our approach by train.py --network sdu or train hourglass network by train.py --network hourglass.

2D training/validation dataset is now available at baiducloud or dropbox

3D training/validation dataset is now available at baiducloud or dropbox


File: alignment/coordinate_reg/README.md

Introduction

Here we provide some 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.

Pretrained Models

  • Model 2d106det

    2021.07: We now support model inference by our insightface python package, please check image_infer.py for detail.

    Given face detection bounding box, predict 2d-106 landmarks. Mainly used for static image inference.

    Backbone: MobileNet-0.5, size 5MB.

    Input: size 192x192, loose cropped detection bounding-box.

    Download link:

    baidu cloud (code: lqvv)

    google drive

  • Model 2d106track

    Given landmarks bounding box, predict 2d-106 landmarks. Used for video landmarks tracking.

    Download link: coming soon

Visualization

FAQ


File: alignment/_datasets_/README.md

Face Alignment Datasets

(Updating)

Training Datasets

Menpo2D-Train

https://ibug.doc.ic.ac.uk/resources/2nd-facial-landmark-tracking-competition-menpo-ben/

300W-Train

https://ibug.doc.ic.ac.uk/resources/300-W/

LFPW

https://neerajkumar.org/databases/lfpw/

Helen

http://www.ifp.illinois.edu/~vuongle2/helen/

AFW

AFLW

https://www.tugraz.at/institute/icg/research/team-bischof/learning-recognition-surveillance/downloads/aflw

FDDB

Face Synthetics

https://github.com/microsoft/FaceSynthetics

300W-LP (3D annotation)

http://www.cbsr.ia.ac.cn/users/xiangyuzhu/projects/3DDFA/main.htm

Test Datasets

300W-Test

https://ibug.doc.ic.ac.uk/resources/300-W/

COFW

http://www.vision.caltech.edu/xpburgos/ICCV13/#dataset

Menpo2D-Test

https://ibug.doc.ic.ac.uk/resources/2nd-facial-landmark-tracking-competition-menpo-ben/

AFLW2000-3D (3D annotation)

http://www.cbsr.ia.ac.cn/users/xiangyuzhu/projects/3DDFA/main.htm


File: alignment/synthetics/README.md

Introduction

We provide training and testing tools on synthetics data.

Dataset

Training dataset

Download Face Synthetics dataset from https://github.com/microsoft/FaceSynthetics and put it somewhere.

Then use tools/prepare_synthetics.py for training data preparation.

Testing dataset

300-W

Pretrained Model

ResNet50d

Train and Test

Prerequisites

  • pytorch_lightning
  • timm
  • albumentations

Training

python -u trainer_synthetics.py

which uses resnet50d as backbone by default, please check the code for detail.

Testing

Please check test_synthetics.py for detail.

Result Visualization(3D 68 Keypoints)


File: alignment/README.md

Face Alignment

Introduction

These are the face alignment methods of InsightFace

Datasets

Please refer to datasets page for the details of face alignment datasets used for training and evaluation.

Evaluation

Please refer to evaluation page for the details of face alignment evaluation.

Methods

Supported methods:

Contributing

We appreciate all contributions to improve the face alignment model zoo of InsightFace.


File: attribute/_datasets_/README.md

Face Attribute Datasets

(Updating)

Training Datasets

CelebA

https://mmlab.ie.cuhk.edu.hk/projects/CelebA.html

Test Datasets


File: attribute/README.md

Face Attribute

Introduction

These are the face attribute methods of InsightFace

Methods

Supported methods:

Contributing

We appreciate all contributions to improve the face attribute module of InsightFace.


File: challenges/mfr/README.md

MFR Ongoing

๐Ÿ’ก Due to GPU resource constraints, we are temporarily taking this service offline. If any companies or individuals are interested in hosting this service, please contact me via email: guojia AT insightface.ai

This is the ongoing version of ICCV-2021 Masked Face Recognition Challenge & Workshop(MFR). We also extend it to involve some public available and popular benchmarks such as IJBC, LFW, CFPFP and AgeDB.

(:bulb: :bulb: Once you find the name IFRT which is InsightFace Recognition Test in short anywhere, it is the same as MFR-Ongoing.)

For detail, please check our ICCV 2021 workshop paper.

More information about the workshop challenge can be found here, for reference.

MFR testset consists of non-celebrities so we can ensure that it has very few overlap with public available face recognition training set, such as MS1M and CASIA as they mostly collected from online celebrities. As the result, we can evaluate the FAIR performance for different algorithms.

In recent changes, we also add public available popular benchmarks such as IJBC, LFW, CFPFP, AgeDB into MFR-Ongoing.

Current submission server link: http://iccv21-mfr.com/

For any question, please send email to insightface.challenge AT gmail.com

Testsets

In MFR-Ongoing, we will evaluate the accuracy of following testsets:

  • Accuracy between masked and non-masked faces.
  • Accuracy among children(2~16 years old).
  • Accuracy of globalised multi-racial benchmarks.

We ensure that there's no overlap between the above testsets and public available training datasets, as they are not collected from online celebrities.

We also evaluate below public available popular benchmarks:

  • IJBC under FAR<=e-5 and FAR<=e-4.
  • Some 1:1 verification testsets, such as LFW, CFPFP, AgeDB-30.

``Mask test-set:``

Mask testset contains 6,964 identities, 6,964 masked images and 13,928 non-masked images. There are totally 13,928 positive pairs and 96,983,824 negative pairs.

Click to check the sample images(here we manually blur it to protect privacy)

``Children test-set:``

Children testset contains 14,344 identities and 157,280 images. There are totally 1,773,428 positive pairs and 24,735,067,692 negative pairs.

Click to check the sample images(here we manually blur it to protect privacy)

``Multi-racial test-set (MR in short):``

The globalised multi-racial testset contains 242,143 identities and 1,624,305 images.

Race-Set Identities Images Positive Pairs Negative Pairs
African 43,874 298,010 870,091 88,808,791,999
Caucasian 103,293 697,245 2,024,609 486,147,868,171
Indian 35,086 237,080 688,259 56,206,001,061
Asian 59,890 391,970 1,106,078 153,638,982,852
ALL 242,143 1,624,305 4,689,037 2,638,360,419,683

Click to check the sample images(here we manually blur it to protect privacy)

Evaluation Metric

For Mask set, TAR is measured on mask-to-nonmask 1:1 protocal, with FAR less than 0.0001(e-4).

For Children set, TAR is measured on all-to-all 1:1 protocal, with FAR less than 0.0001(e-4).

For multi-racial sets, TAR is measured on all-to-all 1:1 protocal, with FAR less than 0.000001(e-6).

For IJBC and verification test-set, we use the most common test protocal.

Participants are ordered in terms of highest scores across two datasets: TAR@Mask and TAR@MR-All, by the formula of 0.25 * TAR@Mask + 0.75 * TAR@MR-All.

Baselines

2021.04.25 We made a clean on East Asian subset, by removing children images.

2021.04.27 Add onnx download links.

Backbone Dataset Method Mask Children African Caucasian South Asian East Asian All size(mb) infer(ms) link
R100 Casia ArcFace 26.623 30.359 39.666 53.933 47.807 21.572 42.735 248.904 7.073 download
R100 MS1MV2 ArcFace 65.767 60.496 79.117 87.176 85.501 55.807 80.725 248.904 7.028 download
R18 MS1MV3 ArcFace 47.853 41.047 62.613 75.125 70.213 43.859 68.326 91.658 1.856 download
R34 MS1MV3 ArcFace 58.723 55.834 71.644 83.291 80.084 53.712 77.365 130.245 3.054 download
R50 MS1MV3 ArcFace 63.850 60.457 75.488 86.115 84.305 57.352 80.533 166.305 4.262 download
R100 MS1MV3 ArcFace 69.091 66.864 81.083 89.040 88.082 62.193 84.312 248.590 7.031 download
R18 Glint360K ArcFace 53.317 48.113 68.230 80.575 75.852 47.831 72.074 91.658 2.013 download
R34 Glint360K ArcFace 65.106 65.454 79.907 88.620 86.815 60.604 83.015 130.245 3.044 download
R50 Glint360K ArcFace 70.233 69.952 85.272 91.617 90.541 66.813 87.077 166.305 4.340 download
R100 Glint360K ArcFace 75.567 75.202 89.488 94.285 93.434 72.528 90.659 248.590 7.038 download
- Private insightface-000 of frvt 97.760 93.358 98.850 99.372 99.058 87.694 97.481 - - -

(MS1M-V2 means MS1M-ArcFace, MS1M-V3 means MS1M-RetinaFace).

Inference time in above table was evaluated on Tesla V100 GPU, using onnxruntime-gpu==1.6.

Rules

  1. We have two tracks, academic and unconstrained.
  2. Please DO NOT register the account with messy or random characters(for both username and organization).
  3. For academic submissions, we recommend to set the username as the name of your proposed paper or method. Orgnization hiding is not allowed(or the score will be banned) for this track but you can set the submission as private. You can also create multiple accounts, one account for one method.
  4. Right now we only support 112x112 input, so make sure that the submission model accepts the correct input shape(['*',3,112,112]), in RGB order. Add an interpolate operator into the first layer of the submission model if you need a different input resolution.
  5. Participants submit onnx model, then get scores by our online evaluation.
  6. Matching score is measured by cosine similarity.
  7. Online evaluation server uses onnxruntime-gpu==1.8, cuda==11.1, cudnn==8.0.5, GPU is RTX3090.
  8. Any float-16 model weights is prohibited, as it will lead to incorrect model size estimiation.
  9. Please use onnx_helper.py to check whether the model is valid.
  10. Leaderboard is now ordered in terms of highest scores across two datasets: TAR@Mask and TAR@MR-All, by the formula of 0.25 * TAR@Mask + 0.75 * TAR@MR-All.

Submission Guide

  1. Participants must package the onnx model for submission using zip xxx.zip model.onnx.
  2. Each participant can submit three times a day at most.
  3. Please sign-up with the real organization name. You can hide the organization name in our system if you like(not allowed for academic track).
  4. You can decide which submission to be displayed on the leaderboard by clicking 'Set Public' button.
  5. Please click 'sign-in' on submission server if find you're not logged in.

File: challenges/iccv21-mfr/README.md

InsightFace Track of ICCV21-MFR

NEWS

2021-11-30 MFR-Ongoing is now available.

2021-10-26 Please send the onnx models to us(insightface.challenge[at]gmail.com) if you want to test the MFR accuracy before our system rebooting(may be in Nov.).

2021-10-11 Final Leaderboard

2021-10-04 Please fix the public leaderboard scores before 2021-10-05 20:00(UTC+8 Time)

2021-07-16 Implicit batch inference is prohibited. For example, inserting some data-related OPs to onnx graph to enable automatic flip-test is not allowed(or similar ideas). We will check it after submission closed, to ensure fairness.

2021-06-17 Participants are now ordered in terms of highest scores across two datasets: TAR@Mask and TAR@MR-All, by the formula of 0.25 * TAR@Mask + 0.75 * TAR@MR-All.

Introduction

The Masked Face Recognition Challenge & Workshop(MFR) will be held in conjunction with the International Conference on Computer Vision (ICCV) 2021.

Workshop-Homepage.

There're InsightFace track here and Webface260M track(with larger training set) in this workshop.

Challenge Leaderboard

Submission server link: http://iccv21-mfr.com/

An alternative submission server for Non-Chinese users: http://124.156.136.55/

Discussion group:

WeChat:

QQ Group: 711302608, answer: github

Online issue discussion: https://github.com/deepinsight/insightface/issues/1564

Testsets for insightface track

In this challenge, we will evaluate the accuracy of following testsets:

  • Accuracy between masked and non-masked faces.
  • Accuracy among children(2~16 years old).
  • Accuracy of globalised multi-racial benchmarks.

We ensure that there's no overlap between these testsets and public available training datasets, as they are not collected from online celebrities.

Our test datasets mainly comes from IFRT.

``Mask test-set:``

Mask testset contains 6,964 identities, 6,964 masked images and 13,928 non-masked images. There are totally 13,928 positive pairs and 96,983,824 negative pairs.

Click to check the sample images(here we manually blur it to protect privacy)

``Children test-set:``

Children testset contains 14,344 identities and 157,280 images. There are totally 1,773,428 positive pairs and 24,735,067,692 negative pairs.

Click to check the sample images(here we manually blur it to protect privacy)

``Multi-racial test-set (MR in short):``

The globalised multi-racial testset contains 242,143 identities and 1,624,305 images.

Race-Set Identities Images Positive Pairs Negative Pairs
African 43,874 298,010 870,091 88,808,791,999
Caucasian 103,293 697,245 2,024,609 486,147,868,171
Indian 35,086 237,080 688,259 56,206,001,061
Asian 59,890 391,970 1,106,078 153,638,982,852
ALL 242,143 1,624,305 4,689,037 2,638,360,419,683

Click to check the sample images(here we manually blur it to protect privacy)

Evaluation Metric

For Mask set, TAR is measured on mask-to-nonmask 1:1 protocal, with FAR less than 0.0001(e-4).

For Children set, TAR is measured on all-to-all 1:1 protocal, with FAR less than 0.0001(e-4).

For other sets, TAR is measured on all-to-all 1:1 protocal, with FAR less than 0.000001(e-6).

Participants are ordered in terms of highest scores across two datasets: TAR@Mask and TAR@MR-All, by the formula of 0.25 * TAR@Mask + 0.75 * TAR@MR-All.

Baselines

Backbone Dataset Method Mask Children African Caucasian South Asian East Asian MR-All size(mb) infer(ms) link
R100 Casia ArcFace 26.623 30.359 39.666 53.933 47.807 21.572 42.735 248.904 7.073 download
R100 MS1MV2 ArcFace 65.767 60.496 79.117 87.176 85.501 55.807 80.725 248.904 7.028 download
R18 MS1MV3 ArcFace 47.853 41.047 62.613 75.125 70.213 43.859 68.326 91.658 1.856 download
R34 MS1MV3 ArcFace 58.723 55.834 71.644 83.291 80.084 53.712 77.365 130.245 3.054 download
R50 MS1MV3 ArcFace 63.850 60.457 75.488 86.115 84.305 57.352 80.533 166.305 4.262 download
R100 MS1MV3 ArcFace 69.091 66.864 81.083 89.040 88.082 62.193 84.312 248.590 7.031 download
R18 Glint360K ArcFace 53.317 48.113 68.230 80.575 75.852 47.831 72.074 91.658 2.013 download
R34 Glint360K ArcFace 65.106 65.454 79.907 88.620 86.815 60.604 83.015 130.245 3.044 download
R50 Glint360K ArcFace 70.233 69.952 85.272 91.617 90.541 66.813 87.077 166.305 4.340 download
R100 Glint360K ArcFace 75.567 75.202 89.488 94.285 93.434 72.528 90.659 248.590 7.038 download
- Private insightface-000 of frvt 97.760 93.358 98.850 99.372 99.058 87.694 97.481 - - -

(MS1M-V2 means MS1M-ArcFace, MS1M-V3 means MS1M-RetinaFace).

Inference time was evaluated on Tesla V100 GPU, using onnxruntime-gpu==1.6.

Rules

  1. We have two sub-tracks, determined by the size of training dataset and inference time limitation.
  • Sub-Track A: Use MS1M-V3 as training set, download: ref-link, feature length must <= 512, and the inference time must <= 10ms on Tesla V100 GPU.
  • Sub-Track B: Use Glint360K as training set, download: ref-link, feature length must <= 1024, and the inference time must <= 20ms on Tesla V100 GPU.
  1. Training set and testing set are both aligned to 112x112, re-alignment is prohibited.
  2. Mask data-augmentation is allowed, such as this. The applied mask augmentation tool should be reproducible.
  3. External dataset and pretrained models are both prohibited.
  4. Participants submit onnx model, then get scores by our online evaluation. Test images are invisible.
  5. Matching score is measured by cosine similarity.
  6. Model size must <= 1GB.
  7. The input shape of submission model should equal to 3x112x112 (RGB order).
  8. Online evaluation server uses onnxruntime-gpu==1.6, cuda==10.2, cudnn==8.0.5.
  9. Any float-16 model weights is prohibited, as it will lead to incorrect model size estimiation.
  10. Please use onnx_helper.py to check whether the model is valid.
  11. Participants are now ordered in terms of highest scores across two datasets: TAR@Mask and TAR@MR-All, by the formula of 0.25 * TAR@Mask + 0.75 * TAR@MR-All.
  12. Top-ranked participants should provide their solutions and codes to ensure their validity after submission closed.

Tutorial

  1. ArcFace-PyTorch (with Partial-FC), code, tutorial-cn
  2. OneFlow, code
  3. MXNet, code

Submission Guide

  1. Participants must package the onnx model for submission using zip xxx.zip model.onnx.
  2. Each participant can submit three times a day at most.
  3. Please sign-up with the real organization name. You can hide the organization name in our system if you like.
  4. You can decide which submission to be displayed on the leaderboard by clicking 'Set Public' button.
  5. Please click 'sign-in' on submission server if find you're not logged in.

Server link: http://iccv21-mfr.com/

Timelines

  • 1 June - Release of the training data, baseline solutions and testing leader-board
  • 1 October - Stop leader-board submission (11:59 PM Pacific Time)
  • 7 October - Winners notification

Sponsors

(in alphabetical order)

DeepGlint

Kiwi Tech

OneFlow

Zoloz

Bonus Share

Sub-Track A Sub-Track B
1st place 30% 30%
2nd place 15% 15%
3rd place 5% 5%