FaceQgen: Semi-Supervised Deep Learning for Face Image Quality Assessment

Related tags

Deep LearningFaceQgen
Overview

FaceQgen

FaceQgen: Semi-Supervised Deep Learning for Face Image Quality Assessment

This repository is based on the paper: "FaceQgen: Semi-Supervised Deep Learning for Face Image Quality Assessment" presented in the IEEE International Conference on Automatic Face and Gesture Recognition 2021.

FaceQgen is a a face quality assessment method based on GANs capable of inferring quality directly from face images. It avoids using any type of numerical labelling of the training images thanks to following a semi-supervised learning approach without the need of a specific measurement of quality for its groundtruth apart from selecting a single high quality image per subject.

FaceQgen performs face image restoration, returning a high quality image (frontal pose, homogeneous background, etc.) when receiving a face image of unknown quality. We use three different similarity measures between the original and the restored images as quality measures: SSIM,MSE, and the output of the Discriminator of FaceQgen. Faces of high quality will experience less transformations during restoration, so the similarity values obtained in those cases will be higher than the ones obtained from low quality images.

The training of FaceQgen was done using the SCFace database.

-- Configuring environment in Windows:

  1. Installing Conda: https://conda.io/projects/conda/en/latest/user-guide/install/windows.html

Update Conda in the default environment:

conda update conda
conda upgrade --all

Create a new environment:

conda create -n [env-name]

Activate the environment:

conda activate [env-name]
  1. Installing dependencies in your environment:

Install Tensorflow and all its dependencies:

pip install tensorflow

Install Keras:

pip install keras

Install OpenCV:

conda install -c conda-forge opencv
  1. If you want to use a CUDA compatible GPU for faster predictions:

You will need CUDA and the Nvidia drivers installed in your computer: https://docs.nvidia.com/deeplearning/sdk/cudnn-install/

Then, install the GPU version of Tensorflow:

pip install tensorflow-gpu

-- Using FaceQgen for predicting scores:

  1. Download or clone the repository.
  2. Due to the size of the video example, please download one of the the FaceQgen pretrained model and place the downloaded .h5 file it in the /src folder:
  1. Edit and run the FaceQgen_obtainscores_Keras.py script.
    • You will need to change the folder from which the script will try to charge the face images. It is src/Samples_cropped by default.
    • The best results will be obtained when the input images have been cropped just to the zone of the detected face. In our experiments we have used the MTCNN face detector from here, but other detector can be used.
    • FaceQgen will ouput a quality score for each input image. All the scores will are saved in a .txt file into the src folder. This file contain each filename with its associated quality metric.
Owner
Javier Hernandez-Ortega
M.Sc. in Computer Science & Electrical Engineering from Universidad Autonoma de Madrid. PhD student.
Javier Hernandez-Ortega
Safe Control for Black-box Dynamical Systems via Neural Barrier Certificates

Safe Control for Black-box Dynamical Systems via Neural Barrier Certificates Installation Clone the repository: git clone https://github.com/Zengyi-Qi

Zengyi Qin 3 Oct 18, 2022
ML for NLP and Computer Vision.

Sparrow is our open-source ML product. It runs on Skipper MLOps infrastructure.

Katana ML 2 Nov 28, 2021
No-Reference Image Quality Assessment via Transformers, Relative Ranking, and Self-Consistency

This repository contains the implementation for the paper: No-Reference Image Quality Assessment via Transformers, Relative Ranking, and Self-Consiste

Alireza Golestaneh 75 Dec 30, 2022
Reinfore learning tool box, contains trpo, a3c algorithm for continous action space

RL_toolbox all the algorithm is running on pycharm IDE, or the package loss error may exist. implemented algorithm: trpo a3c a3c:for continous action

yupei.wu 44 Oct 10, 2022
A Sign Language detection project using Mediapipe landmark detection and Tensorflow LSTM's

sign-language-detection A Sign Language detection project using Mediapipe landmark detection and Tensorflow LSTM. The project is built for a vocabular

Hashim 4 Feb 06, 2022
The implementation of FOLD-R++ algorithm

FOLD-R-PP The implementation of FOLD-R++ algorithm. The target of FOLD-R++ algorithm is to learn an answer set program for a classification task. Inst

13 Dec 23, 2022
A computational optimization project towards the goal of gerrymandering the results of a hypothetical election in the UK.

A computational optimization project towards the goal of gerrymandering the results of a hypothetical election in the UK.

Emma 1 Jan 18, 2022
😇A pyTorch implementation of the DeepMoji model: state-of-the-art deep learning model for analyzing sentiment, emotion, sarcasm etc

------ Update September 2018 ------ It's been a year since TorchMoji and DeepMoji were released. We're trying to understand how it's being used such t

Hugging Face 865 Dec 24, 2022
GANmouflage: 3D Object Nondetection with Texture Fields

GANmouflage: 3D Object Nondetection with Texture Fields Rui Guo1 Jasmine Collins

29 Aug 10, 2022
PyTorch Implementation of Exploring Explicit Domain Supervision for Latent Space Disentanglement in Unpaired Image-to-Image Translation.

DosGAN-PyTorch PyTorch Implementation of Exploring Explicit Domain Supervision for Latent Space Disentanglement in Unpaired Image-to-Image Translation

40 Nov 30, 2022
Reference implementation for Deep Unsupervised Learning using Nonequilibrium Thermodynamics

Diffusion Probabilistic Models This repository provides a reference implementation of the method described in the paper: Deep Unsupervised Learning us

Jascha Sohl-Dickstein 238 Jan 02, 2023
Classify the disease status of a plant given an image of a passion fruit

Passion Fruit Disease Detection I tried to create an accurate machine learning models capable of localizing and identifying multiple Passion Fruits in

3 Nov 09, 2021
Few-Shot Object Detection via Association and DIscrimination

Few-Shot Object Detection via Association and DIscrimination Code release of our NeurIPS 2021 paper: Few-Shot Object Detection via Association and DIs

Cao Yuhang 49 Dec 18, 2022
Dynamic vae - Dynamic VAE algorithm is used for anomaly detection of battery data

Dynamic VAE frame Automatic feature extraction can be achieved by probability di

10 Oct 07, 2022
[ICCV 2021] Official Pytorch implementation for Discriminative Region-based Multi-Label Zero-Shot Learning SOTA results on NUS-WIDE and OpenImages

Discriminative Region-based Multi-Label Zero-Shot Learning (ICCV 2021) [arXiv][Project page coming soon] Sanath Narayan*, Akshita Gupta*, Salman Kh

Akshita Gupta 54 Nov 21, 2022
Fang Zhonghao 13 Nov 19, 2022
Deep and online learning with spiking neural networks in Python

Introduction The brain is the perfect place to look for inspiration to develop more efficient neural networks. One of the main differences with modern

Jason Eshraghian 447 Jan 03, 2023
RAMA: Rapid algorithm for multicut problem

RAMA: Rapid algorithm for multicut problem Solves multicut (correlation clustering) problems orders of magnitude faster than CPU based solvers without

Paul Swoboda 60 Dec 13, 2022
Self-Supervised Image Denoising via Iterative Data Refinement

Self-Supervised Image Denoising via Iterative Data Refinement Yi Zhang1, Dasong Li1, Ka Lung Law2, Xiaogang Wang1, Hongwei Qin2, Hongsheng Li1 1CUHK-S

Zhang Yi 72 Jan 01, 2023
Algebraic effect handlers in Python

PyEffect: Algebraic effects in Python What IDK. Usage effects.handle(operation, handlers=None) effects.set_handler(effect, handler) Supported effects

Greg Werbin 5 Dec 27, 2021