DID++ is a multi-modal identity verification system combining:
- Face biometrics (MediaPipe)
- Voice biometrics (MFCC)
- Document verification (OCR)
- Weighted score fusion
Designed for Self-Sovereign Identity (SSI) with future blockchain integration.
- Face recognition using MediaPipe landmarks
- Voice verification using MFCC embeddings
- Document OCR verification using EasyOCR
- Multi-modal score fusion
- Privacy-preserving design (no raw biometric storage)
- Python 3.11.9
-
Install Python 3.11.9
- Download Python 3.11.9 from the official Python website.
- Follow the instructions for your operating system.
- Verify the installation:
Expected output:
python --version pip --version
Python 3.11.9
-
Install dependencies
- It is recommended to use a virtual environment:
python -m venv .venv # On Windows: .venv\Scripts\activate # On Linux/macOS: source .venv/bin/activate
- Install required packages:
pip install -r requirements.txt
- It is recommended to use a virtual environment:
To run all tests:
pytest tests/To generate a PDF report for the LFW face verification test, set the environment variable LFW_PDF_REPORT=1 before running tests. You can do this in two ways:
Recommended: Create a .env file in the project root with:
LFW_PDF_REPORT=1
The project uses python-dotenv to automatically load this variable.
Or, set it in your shell:
- PowerShell:
$env:LFW_PDF_REPORT=1; pytest tests/
- Command Prompt:
set LFW_PDF_REPORT=1 && pytest tests/
The PDF report will be saved as lfw_face_verification_report.pdf in the project directory.
To see detailed output in the terminal, use:
pytest tests/ -sThe -s flag ensures all print output is shown.
To start the Flask app, set the following environment variables and use the Flask CLI:
Required:
FLASK_APP=app.pyFLASK_ENV=development(optional, enables debug mode)
On Windows (PowerShell):
$env:FLASK_APP="app.py"
flask runOn Windows (Command Prompt):
set FLASK_APP=app.py
flask runThe app will be available at http://127.0.0.1:5000/
LFW_PDF_REPORT=1— Enables PDF report generation for LFW face verification tests.FLASK_APP=app.py— Required forflask run.FLASK_ENV=development— (Optional) Enables debug mode for Flask.
If using a .env file, all variables will be loaded automatically if python-dotenv is installed (already in requirements).