johwconst / FaceQualityAssurance

✨FaceQualityAssurance is a tool to validate the quality of faces images for registration on devices that use facial recognition

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Image

FaceQualityAssurance

FaceQualityAssurance is a tool to validate the quality of faces images for registration on devices that use facial recognition

GitHub Contributors Issues GitHub pull requests

Why did you do that? . How Run . Request Improvement . Report Bugs . Contributing


Why did you do that?

The effectiveness of face registration in systems or devices utilizing facial recognition is crucial to ensure accurate user recognition. Currently, the lack of straightforward tools for face validation in this context necessitates the manual compilation of desired parameters and requirements.

The aim of this project is to create a tool for validating the quality of these images before they are sent to the facial recognition device or system.

Image Image Image

Verified Features

  • Verify if there is a face in the image ✔️
  • Verify if there is more than one face in the image ✔️
  • Check if the face is well-lit ✔️
  • Check if the face is centered ✔️
  • check whether the face is illuminated ✔️
  • Ensure there is a neutral expression (Smile detection) ✔️
  • Verify if the eyes are present and open ✔️

Classificators Used

Check Classificator
Face HeerCascade or MediaPipe
Smile HeerCascade
Eyes HeerCascade

Interface Demo

Download .EXE Interface Demo

Install

Is necessary Python=3.8+

  1. Clone repo
git clone https://github.com/johwconst/FaceQualityAssurance
  1. Go to folder:
cd ./FaceQualityAssurance
  1. Install requeriments:
pip install -r requeriments.txt

Tip

Tip: Recommend installing dependencies in an isolated environment, such as using the virtualenv or conda!

How Run

Create a python file in the project folder and add face_qa to the image you want to validate:

from face_qa.face_qa import FaceQA

image_path = 'images/image_2.jpg'

face_qa = FaceQA(image_path, 1)

result = face_qa.check_face()

The result will be the following:

{
"face_detected": True, // Returns true if a face is detected
"more_than_one_face": False, // Returns true if more than one face is detected
"eyes_is_good": True, // Returns true if the quality of the eyes is good
"is_smiling": True, // Returns true if a smile is detected
"contrast_is_good": True, // Returns true if the contrast is good
"brightness_is_good": True, // Returns true if the brightness is good
"face_is_centralized": True // Returns true if the face is centralized
}

Support or study materials

Contributing!

Contributions are welcome! If you want to add a tool, fix a bug or improve the documentation, feel free to open an issue and/or make a pull request.

About

✨FaceQualityAssurance is a tool to validate the quality of faces images for registration on devices that use facial recognition


Languages

Language:Python 100.0%