Giter Site home page Giter Site logo

yu9s / pewface Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ewigspace1910/pewface

0.0 0.0 0.0 1.54 MB

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

Shell 11.66% Python 88.34%

pewface's Introduction

μ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

Reported Results

  • we will upload when the paper is published

Citation


pewface's People

Contributors

ewigspace1910 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.