All Projects → foamliu → Insightface V2

foamliu / Insightface V2

Licence: apache-2.0
PyTorch implementation of Additive Angular Margin Loss for Deep Face Recognition.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Insightface V2

ArcfaceDemo Python 2.2
ArcSoft Face SDK Demo
Stars: ✭ 20 (-92.91%)
Mutual labels:  face-recognition
compreface-javascript-sdk
JavaScript SDK for CompreFace - free and open-source face recognition system from Exadel
Stars: ✭ 19 (-93.26%)
Mutual labels:  face-recognition
Gluon Face
An unofficial Gluon FR Toolkit for face recognition. https://gluon-face.readthedocs.io
Stars: ✭ 264 (-6.38%)
Mutual labels:  face-recognition
Music player with Emotions recognition
This program can recognize your mood by detecting your face and play song according your mood
Stars: ✭ 79 (-71.99%)
Mutual labels:  face-recognition
face-recognition
Face recognition using eigenfaces technique
Stars: ✭ 20 (-92.91%)
Mutual labels:  face-recognition
realtime-facereccpp
Real time face recognition with tracking (mtcnn detection, kcf tracker, arcface loss)
Stars: ✭ 32 (-88.65%)
Mutual labels:  face-recognition
easy-real-time-face-recognition-python
No description or website provided.
Stars: ✭ 30 (-89.36%)
Mutual labels:  face-recognition
Arcface Caffe
insightface-caffe
Stars: ✭ 275 (-2.48%)
Mutual labels:  face-recognition
Face-Mask-Detection-PyTorch
A real-time face mask detector based on computer vision and deep learning, created using Pytorch and OpenCV
Stars: ✭ 12 (-95.74%)
Mutual labels:  face-recognition
Face Everthing
face detection alignment recognition reconstruction ...
Stars: ✭ 257 (-8.87%)
Mutual labels:  face-recognition
face unlock
We can lock and unlock our Ubuntu system using face recognition(currently only on Ubuntu).
Stars: ✭ 48 (-82.98%)
Mutual labels:  face-recognition
MaskedFaceRepresentation
Masked face recognition focuses on identifying people using their facial features while they are wearing masks. We introduce benchmarks on face verification based on masked face images for the development of COVID-safe protocols in airports.
Stars: ✭ 17 (-93.97%)
Mutual labels:  face-recognition
vignette
The open source VTuber software. ❤
Stars: ✭ 330 (+17.02%)
Mutual labels:  face-recognition
ofFaceRecognition
simple example face recognition with deep metric learning to dlib
Stars: ✭ 20 (-92.91%)
Mutual labels:  face-recognition
Cavaface.pytorch
🍻 🚀 🌆 face recognition project(pytorch)
Stars: ✭ 271 (-3.9%)
Mutual labels:  face-recognition
FaceRecognition
Face Recognition in real-world images [ICASSP 2017]
Stars: ✭ 36 (-87.23%)
Mutual labels:  face-recognition
awesome-face-recognition
this repo include paper review, code in face recognition
Stars: ✭ 16 (-94.33%)
Mutual labels:  face-recognition
Meglass
An eyeglass face dataset collected and cleaned for face recognition evaluation, CCBR 2018.
Stars: ✭ 281 (-0.35%)
Mutual labels:  face-recognition
Vggface2 Pytorch
PyTorch Face Recognizer based on 'VGGFace2: A dataset for recognising faces across pose and age'
Stars: ✭ 271 (-3.9%)
Mutual labels:  face-recognition
Get Me Through
A Free, Offline, Real-Time, Open-source web-app to assist organisers of any event in allowing only authorised/invited people using Face-Recognition Technology or QR Code.
Stars: ✭ 255 (-9.57%)
Mutual labels:  face-recognition

InsightFace

apm

PyTorch implementation of Additive Angular Margin Loss for Deep Face Recognition. paper.

@article{deng2018arcface,
title={ArcFace: Additive Angular Margin Loss for Deep Face Recognition},
author={Deng, Jiankang and Guo, Jia and Niannan, Xue and Zafeiriou, Stefanos},
journal={arXiv:1801.07698},
year={2018}
}

Dataset

Function Dataset
Train MS-Celeb-1M
Test-1 LFW
Test-2 MegaFace

Introduction

MS-Celeb-1M dataset for training, 3,804,846 faces over 85,164 identities.

Dependencies

  • Python 3.6.8
  • PyTorch 1.3.0

Usage

Data wrangling

Extract images, scan them, to get bounding boxes and landmarks:

$ python extract.py
$ python pre_process.py

Image alignment:

  1. Face detection(MTCNN).
  2. Face alignment(similar transformation).
  3. Central face selection.
  4. Resize -> 112x112.
Original Aligned & Resized Original Aligned & Resized
image image image image
image image image image
image image image image
image image image image
image image image image

Train

$ python train.py

To visualize the training process:

$ tensorboard --logdir=runs

Performance evaluation

LFW

Introduction

Use Labeled Faces in the Wild (LFW) dataset for performance evaluation:

  • 13233 faces
  • 5749 identities
  • 1680 identities with >=2 photo

Download

Download LFW database put it under data folder:

$ wget http://vis-www.cs.umass.edu/lfw/lfw-funneled.tgz
$ wget http://vis-www.cs.umass.edu/lfw/pairs.txt
$ wget http://vis-www.cs.umass.edu/lfw/people.txt

Start evaluation

$ python lfw_eval.py

Results

Backbones LFW(%) Inference speed(*)
SE-LResNet101E-IR 99.83% 46.63 ms
SE-LResNet50E-IR 99.75% 27.30 ms
SE-LResNet18E-IR 99.65% 17.53 ms

Note(*): with 1 Nvidia Tesla P100.

theta j Distribution

image

Error analysis

See also LFW Face Database Errata

False Positive

2 false positives:

1 2 1 2
image image image image
image image image image
False Negative

8 false negative:

1 2 1 2
image image image image
image image image image
image image image image
image image image image
image image image image
image image image image
image image image image
image image image image

MegaFace

Introduction

MegaFace dataset includes 1,027,060 faces, 690,572 identities. Link

Challenge 1 is taken to test our model with 1 million distractors.

image

Download

  1. Download MegaFace and FaceScrub Images
  2. Download Linux DevKit from MagaFace WebSite then extract to megaface folder:
$ tar -vxf linux-devkit.tar.gz

Generate features

  1. Crop MegaFace.
  2. Generate features for FaceScrub and MegaFace.
  3. Remove noises. Note: we used the noises list proposed by InsightFace, at https://github.com/deepinsight/insightface.
$ python3 megaface.py --action crop_megaface

$ find megaface/facescrub_images -name "*.bin" -type f -delete
$ find megaface/MegaFace_aligned/FlickrFinal2 -name "*.bin" -type f -delete

$ python3 megaface.py --action gen_features

Evaluation

Start MegaFace evaluation through devkit:

$ cd megaface/devkit/experiments
$ python run_experiment.py -p /dev/code/mnt/InsightFace-v2/megaface/devkit/templatelists/facescrub_uncropped_features_list.json /dev/code/mnt/InsightFace-v2/megaface/MegaFace_aligned/FlickrFinal2 /dev/code/mnt/InsightFace-v2/megaface/facescrub_images _0.bin results -s 1000000

Results

Curves

Draw curves with matlab script @ megaface/draw_curve.m.

CMC ROC
image image
image image
Textual results
Done matching! Score matrix size: 3379 972313
Saving to results/otherFiles/facescrub_megaface_0_1000000_1.bin
Computing test results with 1000000 images for set 1
Loaded 3379 probes spanning 80 classes
Loading from results/otherFiles/facescrub_facescrub_0.bin
Probe score matrix size: 3379 3379
distractor score matrix size: 3379 972313
Done loading. Time to compute some stats!
Finding top distractors!
Done sorting distractor scores
Making gallery!
Done Making Gallery!
Allocating ranks (972393)

Rank 1: 0.964733
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].