Skip to content

Biometix/bqat-cli

Repository files navigation

Biometric Quality Assessment Tool (BQAT) - CLI

Contributor Covenant GitHub tag (latest by date) GitHub last commit GitHub issues GitHub commit activity GitHub

PyPI - Version PyPI - Downloads PyPI - Format PyPI - Python Version PyPI - License

BQAT is a biometric quality assessment tool for generating and analysing biometric sample quality to international standards and supporting customized metrics. It takes as input directory of biometric images/data in standard formats (e.g. wsq,png,jpg) and output both the raw quality information as well as an analysis report.

biometix.github.io

Modalities

Fingerprint

The analysis of fingerprint engine based on NIST/NFIQ2 quality features. The quality score links image quality of optical and ink 500 PPI fingerprints to operational recognition performance.

Face

The face image assessment provides metrics includes head pose, smile detection, inter-eye-distance, closed eyes, etc.

Iris

The iris sample assessment module provides various quality attributes, features, and ISO metrics.

Speech

The speech assessment provides various quality metrics, including naturalness, coloration, noisiness, etc.

pip install bqat

Example Usage:

# Print help information
bqat --help

# Print version information
bqat --version

# Run benchmarking task
bqat --benchmark

# Run samples in `data` with fingerprint mode as default
bqat --input data

# Run samples in `data` with iris mode
bqat --input data --mode iris

# Run samples in `data` with iris mode and generate EDA report
bqat --input data --mode iris --report

# Search the file with name pattern in the input folder
bqat --input data --mode iris --filename "*FINGER*"

# Search the file with specific format in the input folder
bqat --input data --mode iris --type "jp2,pgm,bmp"

# Convert the files with specific formats before scanning
bqat --input data --mode fingerprint --convert "jp2,jpeg"

# Specify the file format to convert to
bqat --input data --mode fingerprint --target wsq

# Run samples in `data` with face mode, extension function enabled, limit to 100k scan
bqat --input data --mode face --extension --limit 100000

Optional Flags

You can append optional flags as follows:

  • -M, --mode (REQUIRED) Specify assessment mode (Fingerprint, Face, Iris).
  • -I, --input (REQUIRED) Specify input directory
  • -O, --output (OPTIONAL) Specify output csv file or directory
  • -B, --benchmark (OPTIONAL) Run system benchmarking analysis
  • -L, --limit (OPTIONAL) Set a limit for number of files to scan
  • -F, --filename (OPTIONAL) Specify filename pattern for searching in the folder
  • -S, --search (OPTIONAL) Specify file types to search within the input folder
  • -C, --convert (OPTIONAL) Specify file types to convert before processing
  • -T, --target (OPTIONAL) Specify target type to convert to
  • -E, --extension (OPTIONAL) Enable customized extension function
  • --help Show a help message

If the output or log options are not specified then the tool will use a default value.

Input & Output

Input Format

For fingerprints the tool works with image formats WSQ and PNG. For both of these formats the image will be run directly through NFIQ2. The image formats JPG and BMP are also supported but will be converted to WSQ first before being run through NFIQ2.

NFIQ2 expects images to have a resolution of at least 500 PPI. The tool will force NFIQ2 to run on images of lower resolution but the result may be inaccurate.

Output Format

The tool will produce a csv with all the quality scores generated by the engines and some additional columns.

Fingerprint

Column Name Description
Filename Filename of the image, including the directory path
FingerCode NFIQ2 Output
QualityScore NFIQ2 Output
OptionalError NFIQ2 Output
Quantized NFIQ2 Output
Resampled NFIQ2 Output
UniformImage NFIQ2 Output
EmptyImageOrContrastTooLow NFIQ2 Output
FingerprintImageWithMinutiae NFIQ2 Output
SufficientFingerprintForeground NFIQ2 Output
EdgeStd Metric to identify malformed images
Width Width of the image in pixels
Height Height of the image in pixels
uuid The unique id assigned to this image

Face

Column Name Description
Filename Filename of the image, including the directory path
IPD Inter-pupillary distance
Closed eye left Bool value
Closed eye right Bool value
Head pose yaw Direction and degree
Head pose pitch Direction and degree
Head pose roll Direction and degree
Expression smile Bool value
Face recognition confidence level Percentage

Iris

Column Name Description
quality An overall quality score that leverages several statistics together
contrast Raw score quantifying overall image contrast
sharpness Raw score quantifying the sharpness of the image
iris_diameter Raw diameter of the iris measured in pixels
percent_visible_iris Percentage of visible iris area
iris_pupil_gs Raw measure quantifying how distinguishable the boundary is between the pupil and the iris
iris_sclera_gs Raw measure quantifying how distinguishable the boundary is between the iris and the sclera

Report

A overview statistical report on each of the column.

About

BQAT CLI brings biometric quality assessment functionalities to your terminal.

Topics

Resources

License

Stars

Watchers

Forks

Packages