Skip to content

Official Implementation of the paper "μPEWFace: Parallel Ensembling Weighted Deep Convolutional Neural Networks with Novel Adaptive Loss Functions for Face-based Authentication"

Notifications You must be signed in to change notification settings

ewigspace1910/PEWFace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

μPEWFace

The official implementation for the "μPEWFace: Parallel Ensembling Weighted Deep Convolutional Neural Networks with Novel Adaptive Loss Functions for Face-based Authentication"

We firstly investigate and analyzes the effect of several effective loss functions based on softmax on DCNN with the ResNet50 architecture. We then propose a parallel ensemble learning, namely μPEWFace, by taking advantage of recent novel face recognition methods: AdaFace, MagFace, ElasticFace. μPEWFace elaborates on the weighted-based voting mechanism that utilizes non-optimal pre-trained models to show the proposed method’s massive potential in improving face-based authentication performa. In addition, we propose to perform the matching phase for each μPEWFace model in parallel on both GPU and CPU. The results of our experiments achieve state-of-the-art figures, which show the proposed method’s massive potential in improving face recognition performance.

What's New

Getting Started

Installation

git clone https://github.com/ewigspace1910/PEWFace.git
cd PEWFace
pip install -r requirements.txt

Prepare Datasets

  • We use CASIA-Webface for training and some available test sets including LFW, CFP-FP, AgeDB, CALFW, CPLFW for benchmark. All datasets is contributed from Insightface

  • Download and extract into data folder. Please unzip data and prepare like

PEWFace/data
├── casia-webface
│   └── 00000
│   └── 00001
│   └...
├── lfw
│   └── 00001.jpg
│   └...
├── cfp_fp
│   └── 00001.jpg
│   └...
├── ...
│
├── images_lists.txt
├── lfw_pair.txt
├── cfp_fp_pair.txt
└── ...

Training

  • We re-implement MagFace, ElasticFace, AdaFace on 1 Tesla T4 GPU. We use 112x112 sized images and adopt only resnet50 architecture(with BN-Dropout-FC-BN header) for training. Because of 16G GPU Ram, we set batch size to 128 instead of 512 like others.

    bash script/train.sh

Evaluation

In this stage, we will conduct an ensemble from trained models by Weight-based Voting mechanism. Then, we apply parallel processing to the inference processing of the ensemble.

  1. Evaluate the effectiveness of Ensemble.

    • Test the individual trained model (optional):
    python examples/test.py --c configs/softmax.yaml --p ./save/softmax/ckpt/checkpoint.pth
    • Test the Ensemble:
    bash script/test_ensemble.sh
  2. Evaluate the effectiveness of parallel processing on both GPU and CPU.

    • Test performance of parallel processing:
    bash script/test_parallel.sh

Citation

@article{DU2023104819,
title = {μPEWFace: Parallel ensemble of weighted deep convolutional neural networks with novel loss functions for face-based authentication},
journal = {Image and Vision Computing},
volume = {139},
pages = {104819},
year = {2023},
issn = {0262-8856},
doi = {https://doi.org/10.1016/j.imavis.2023.104819},
url = {https://www.sciencedirect.com/science/article/pii/S0262885623001932},
author = {Hanh P. Du and Anh D. Nguyen and Dat T. Nguyen and Hoa N. Nguyen},
keywords = {Parallel ensemble learning, Deep learning, Deep convolutional neural network, Adaptive margin loss function, Face-based authentication},
abstract = {Training Deep Convolutional Neural Networks (DCNN) with large-scale face images takes a significant amount of processing resources and the tuning/optimization time cost for face-based authentication. It must continue to improve its accuracy and speed during the matching phase. In this study, we propose a method, μPEWFace, that inherits not only the benefits of recent DCNNs with adaptive loss functions, such as MagFace, ElasticFace, and AdaFace, for boosting accuracy but also the means to reduce matching time. Consequently, our method expands on the weighted voting mechanism that leverages suboptimal trained models to improve the discriminative capabilities of face-based authentication, as opposed to searching for the best optimal model. In order to boost the efficiency of face-based authentication, we also propose performing the matching phase for each model in parallel. To demonstrate the speed and accuracy of our method, we conduct exhaustive experiments using a variety of well-known benchmarks, including LFW, CFP-FP, AgeDB-30, CALFW, CPLFW, and IJB-B. The experimental findings demonstrate that the proposed method for face-based authentication achieves state-of-the-art results and exhibits remarkable performance. © 2023 Published by Elsevier Ltd.}
}

About

Official Implementation of the paper "μPEWFace: Parallel Ensembling Weighted Deep Convolutional Neural Networks with Novel Adaptive Loss Functions for Face-based Authentication"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published