Cephei18/MambaVision-Based-Biometric-Verification

Python

2

0 commits

updated Apr 15, 2026

See the code

README

๐Ÿง  MambaVision-Based Biometric Verification & Vulnerability Analysis

๐Ÿ“Œ Overview

This project implements a biometric identity verification system using a MambaVision backbone trained on forehead images. The system evaluates identity similarity using cosine similarity of learned embeddings and analyzes robustness against adversarial (E-dataset) inputs.


๐Ÿš€ Key Features

  • MambaVision-based feature learning (fallback mode)
  • Embedding-based identity representation (640-D vectors)
  • Cosine similarity for verification
  • Genuine vs Imposter comparison
  • Attack (E-dataset) vulnerability analysis
  • End-to-end pipeline: training -> feature extraction -> evaluation

๐Ÿ“‚ Dataset Structure

Each subject contains 20 images:

Subject_i/
  โ”œโ”€โ”€ 1.jpg
  โ”œโ”€โ”€ ...
  โ”œโ”€โ”€ 10.jpg   -> Gallery (reference)
  โ”œโ”€โ”€ 11.jpg
  โ”œโ”€โ”€ ...
  โ”œโ”€โ”€ 20.jpg   -> Probe (query)
  • Total subjects: 290
  • Total images: 5800

โš™๏ธ Pipeline

1) Model Training

  • Backbone: MambaVision (fallback mode)
  • Input: 224x224 images
  • Epochs: 25
  • Optimizer: Adam
  • Scheduler: Learning rate decay applied

Output:

  • Trained model: best_mamba_model.pth

2) Feature Extraction

Each image is converted into a:

640-dimensional embedding vector

Command:

python extract_features.py

Output:

features.pt

3) Similarity Computation

Cosine similarity is computed between:

  • Genuine pairs (same subject)
  • Imposter pairs (different subjects)

Pairing strategy:

Gallery (1-10) vs Probe (11-20)

Command:

python similarity.py

4) Attack Evaluation (E-dataset)

Evaluate robustness using modified images:

Real Gallery vs E-dataset Probe

Command:

python extract_features_e.py
python attack_similarity.py

๐Ÿ“Š Results

TypeAvg Similarity
Genuine~0.681
Imposter~0.0108
Attack~0.340

๐Ÿ“ˆ Plots

Loss Curve

Loss Curve

Validation Accuracy Curve

Accuracy Curve

Similarity Comparison

Similarity Comparison


๐Ÿ“ˆ Interpretation

  • High genuine similarity -> strong identity representation
  • Low imposter similarity -> good class separation
  • Moderate attack similarity -> partial vulnerability

The model remains robust but is not fully resistant to adversarial inputs.


๐Ÿง  Key Insights

  • Embedding-based verification is more flexible than classification
  • Cosine similarity effectively separates identities
  • Attack data reduces similarity but does not collapse identity recognition
  • Verification requires full subject data, not split datasets

๐Ÿ”ฎ Future Work

  • ROC / FAR / FRR analysis
  • Threshold-based decision system
  • Grad-CAM visualization
  • Robust training against adversarial samples
  • Deployable verification system

๐Ÿ’ก How to Run

# Train model
python train.py

# Extract features (real dataset)
python extract_features.py

# Compute similarity
python similarity.py

# Extract features (E-dataset)
python extract_features_e.py

# Attack evaluation
python attack_similarity.py

๐Ÿ“ฌ Contact / Notes

This project is part of a Deep Learning study on biometric verification systems. Feedback and suggestions are welcome.

Cephei18/MambaVision-Based-Biometric-Verification

Python

2

0 commits

updated Apr 15, 2026

See the code

README

๐Ÿง  MambaVision-Based Biometric Verification & Vulnerability Analysis

๐Ÿ“Œ Overview

This project implements a biometric identity verification system using a MambaVision backbone trained on forehead images. The system evaluates identity similarity using cosine similarity of learned embeddings and analyzes robustness against adversarial (E-dataset) inputs.


๐Ÿš€ Key Features

  • MambaVision-based feature learning (fallback mode)
  • Embedding-based identity representation (640-D vectors)
  • Cosine similarity for verification
  • Genuine vs Imposter comparison
  • Attack (E-dataset) vulnerability analysis
  • End-to-end pipeline: training -> feature extraction -> evaluation

๐Ÿ“‚ Dataset Structure

Each subject contains 20 images:

Subject_i/
  โ”œโ”€โ”€ 1.jpg
  โ”œโ”€โ”€ ...
  โ”œโ”€โ”€ 10.jpg   -> Gallery (reference)
  โ”œโ”€โ”€ 11.jpg
  โ”œโ”€โ”€ ...
  โ”œโ”€โ”€ 20.jpg   -> Probe (query)
  • Total subjects: 290
  • Total images: 5800

โš™๏ธ Pipeline

1) Model Training

  • Backbone: MambaVision (fallback mode)
  • Input: 224x224 images
  • Epochs: 25
  • Optimizer: Adam
  • Scheduler: Learning rate decay applied

Output:

  • Trained model: best_mamba_model.pth

2) Feature Extraction

Each image is converted into a:

640-dimensional embedding vector

Command:

python extract_features.py

Output:

features.pt

3) Similarity Computation

Cosine similarity is computed between:

  • Genuine pairs (same subject)
  • Imposter pairs (different subjects)

Pairing strategy:

Gallery (1-10) vs Probe (11-20)

Command:

python similarity.py

4) Attack Evaluation (E-dataset)

Evaluate robustness using modified images:

Real Gallery vs E-dataset Probe

Command:

python extract_features_e.py
python attack_similarity.py

๐Ÿ“Š Results

TypeAvg Similarity
Genuine~0.681
Imposter~0.0108
Attack~0.340

๐Ÿ“ˆ Plots

Loss Curve

Loss Curve

Validation Accuracy Curve

Accuracy Curve

Similarity Comparison

Similarity Comparison


๐Ÿ“ˆ Interpretation

  • High genuine similarity -> strong identity representation
  • Low imposter similarity -> good class separation
  • Moderate attack similarity -> partial vulnerability

The model remains robust but is not fully resistant to adversarial inputs.


๐Ÿง  Key Insights

  • Embedding-based verification is more flexible than classification
  • Cosine similarity effectively separates identities
  • Attack data reduces similarity but does not collapse identity recognition
  • Verification requires full subject data, not split datasets

๐Ÿ”ฎ Future Work

  • ROC / FAR / FRR analysis
  • Threshold-based decision system
  • Grad-CAM visualization
  • Robust training against adversarial samples
  • Deployable verification system

๐Ÿ’ก How to Run

# Train model
python train.py

# Extract features (real dataset)
python extract_features.py

# Compute similarity
python similarity.py

# Extract features (E-dataset)
python extract_features_e.py

# Attack evaluation
python attack_similarity.py

๐Ÿ“ฌ Contact / Notes

This project is part of a Deep Learning study on biometric verification systems. Feedback and suggestions are welcome.