Skip to main content Link Menu Expand (external link) Document Search Copy Copied

BQAT Framework

The BQAT (Biometric Quality Assessment Tool) framework consists of the core algorithm component, a command line user interface, convenience web page for the API and web API.

---
title: Biometric Quality Assessment Tool
---
graph TD
    subgraph BQAT
        core((BQAT Core)) --> cli(BQAT CLI)
        core((BQAT Core)) --> api(BQAT API)
        core((BQAT Core)) --> gui(BQAT GUI)
    end

BQAT Core

The core component of BQAT is implemented as a Python package, which links vendor algorithms together, including face, fingerprint, and iris modules.

It will process the input biometric samples using the corresponding modality engine selected and will produce the quality assessment metrics as Python dict.

---
title: BQAT Core
---
graph LR
    input(Biometric samples) --> core{Core}
    core{Core} --> face(Face)
    core{Core} --> finger(Fingerprint)
    core{Core} --> iris(Iris)
    core{Core} --> speech(Speech)

Interfaces

The different interface wrappers take care of the image loadings and then send them to the core component for processing. When the task is done, load the raw outputs and save them in their respective formats.


---
title: BQAT CLI
---
graph LR
    input(Input Folder) --> cli{Command Line}
    cli{Command Line} --> report(Report)
    cli{Command Line} --> output(CSV)
    cli{Command Line} --> log(Log)

BQAT CLI takes a folder in your file system as input and produces the raw output in CSV along with a brief statistic report.


---
title: BQAT API
---
graph LR
    file(File System) --> api{Endpoints}
    upload(HTTP) --> api{Endpoints}
    api{Endpoints} --> db[(Database)]
    db[(Database)] --> report(Report)
    db[(Database)] --> output(JSON)
    db[(Database)] --> log(Log)

BQAT API adds task management and storage on top of basic BQAT functionalities. It handles inputs in bulk as separate tasks, and saves the output into a backend database which can be accessed via RESTful API. It was designed to work as a backend container.


---
title: BQAT Stateless
---
graph LR
    upload(HTTP) --> api{Endpoints}
    api{Endpoints} --> output(JSON Response)

BQAT Stateless is a simplified version of BQAT API. Removing the task management and storage, it will return the raw output as standard JSON responses. It handles biometric samples one by one, either in raw file or base64 string.


---
title: BQAT GUI
---
graph LR
    upload(Upload) --> gui{Web}
    gui{Web GUI} --> api(BQAT-API)
    api(Backend) --> db[(Database)]
    db[(Database)] --> report(Quality Report)
    db[(Database)] --> output(Raw CSV)
    db[(Database)] --> outlier(Outlier Report)

BQAT GUI is a simple frontend version of BQAT API as an example project.