Skip to content

ksasi/face-recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Face-Recognition

This repository consists of code to fine-tune popular face-recognition architectures with LFW and QMUL-Survface datasets for evaluationg Low Resolution Face Recognition. This project is carried out as part of my Masters Thesis - "Bias and Fairness in Low Resolution Image Recognition" under the guidance of Dr. Mayank Vatsa and Dr. Richa Singh

Apace2 License Made With python 3.8.2 Pytorch

Requirements:

Clone the repository

git clone https://github.com/ksasi/face-recognition.git

Install using pip

pip install -r requirements.txt

Datasets:

Dataset Description
LFW Labeled Faces in the Wild is a public benchmark that can be used for face recognition and verification.LFW deep funneled imagesconsists of LFW images aligned using deep funneling.
QMUL-SurvFace This consists of native low-resolution face images. These are not synthesised by artificial down-sampling of high-resolution face images.

Architectures:

Fine-tuning - Contrastive Loss
Fine-tuning - Contrastive Loss
(LightCNN29, ArcFace, VGGFace2)
Architecture Description
LightCNN29 This is a 29 layer CNN model, where a variation of maxout activation known as Max- Feature-Map (MFM) is introduced in each convolution layer. This is trained with large scale noisy face datasets such as CASIA-WebFace and MS-Celeb-1M in gray-scale.
VGGFace2 This is a resnet50 backbone trained with MS-Celeb-1M and the fine-tuned with VG- GFace2 dataset.
ArcFace This is a resnet18 backbone pre-trained with MS1MV3 dataset with Arcface i.e. Additive angular margin loss for deep face recognition.
Inference
Inference
(LightCNN29, ArcFace, VGGFace2)

Experimental Setup:

  • Download pretrained model checkpoints for LightCNN29, VGGFace2 and ArcFace
  • Place the checkpoint files in the "models" folder
  • Download the Processed LFW and QMUL-SurvFace datasets
  • Uncompress the downloaded lfw-deepfunneled_processed.tar.gz and QMUL-SurvFace-v1.zip into the data folder
  • Download and uncompress processed mated_probe.zip and processed gallery.zip into "data/QMUL-SurvFace/Face_Identification_Test_Set" location from here

Fine-tuning and Evaluation Scripts:

fine_tune.sh script in scripts folder can be executed as shown below:

Fine-tuning with LFW dataset

  1. Fine-tune and Evaluate pretrained LightCNN29 model with LFW dataset

    sh fine_tune.sh LightCNN29 LFW

  2. Fine-tune and Evaluate pretrained VGGFace2 model with LFW dataset

    sh fine_tune.sh VGGFace2 LFW

  3. Fine-tune and Evaluate pretrained ArcFace model with LFW dataset

    sh fine_tune.sh ArcFace LFW

Fine-tuning with QMUL-SurvFace dataset

  1. Fine-tune and Evaluate pretrained LightCNN29 model with QMUL-SurvFace dataset

    sh fine_tune.sh LightCNN29 SurvFace

  2. Fine-tune and Evaluate pretrained VGGFace2 model with QMUL-SurvFace dataset

    sh fine_tune.sh VGGFace2 SurvFace

  3. Fine-tune and Evaluate pretrained ArcFace model with QMUL-SurvFace dataset

    sh fine_tune.sh ArcFace SurvFace

Results:

Identification Accuracy:

Model Rank1 Rank1 Rank10 Rank10
Dataset LFW SurvFace LFW SurvFace
LightCNN29 96.8 6.3 98.6 15.2
VGGFace2 95.6 1.6 99.7 5.7
ArcFace 80.7 1.8 89.6 5.8

CMC Curves:

LightCNN29_CMC Inference
LightCNN29 - LFW LightCNN29 - QMUL-SurvFace
VGGFace2_CMC Inference
VGGFace2 - LFW VGGFace2 - QMUL-SurvFace
ArcFace_CMC Inference
ArcFace - LFW ArcFace - QMUL-SurvFace

Contact:

For questions and clarifications, please contact @ksasi or raise an issue on GitHub.

References:

The code is adapted from the following repositories:

  1. Light CNN for Deep Face Recognition, in PyTorch
  2. VGGFace2 Dataset for Face Recognition
  3. InsightFace: 2D and 3D Face Analysis Project
  4. PyTorch Metric Learning

How to cite this repository

If you used this repository in your work, please cite it as below:

@software{face-recognition,
  author = {Sasikanth, Kotti},
  title = {{face-recognition}},
  year = {2022},
  url = {https://github.com/ksasi/face-recognition}
}

About

Fine-Tune popular face-recognition architectures with LFW and QMUL-Survface datasets for evaluating Low Resolution Face Recognition

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors