TL;DR — Tuned Ridge Enhancement Beats Raw Fingerprints, but Over-Tuning Hurts
An undergraduate thesis proving that Gabor filter preprocessing measurably improves CNN-based gender classification from fingerprints — but only when tuned correctly. A controlled comparison of three Gabor configurations vs a raw baseline, evaluated with 5-fold cross-validation on two datasets, found the default parameter set wins (up to 73.46% weighted F1), while more aggressive enhancement degrades results — enhancement helps, but is sensitive to over-tuning.
WEIGHTED F1 BY GABOR CONFIG (best = Default)
Default ████████████████████ 73.5% ◀ winner
Low ████████████████ ~
High ███████████████ ~ over-amplified, weaker
Raw █████████████ baseline
The Problem
Fingerprint images contain rich ridge structure, but raw scans vary widely in quality and contrast. The central question: can Gabor filter enhancement — which amplifies ridge patterns via oriented frequency-selective filters — give a CNN more discriminative texture features for soft-biometric (gender) classification, and which filter configuration strikes the optimal balance?
The Approach — Three-Parameter Comparative Study
Rather than treating Gabor filtering as a binary on/off choice, the study swept three distinct parameter regimes and compared each against the raw baseline across both datasets:
- Default: Balanced configuration (block size 16, kx/ky 0.65, angle increment 3°). Moderate ridge enhancement preserving fine detail.
- High: Stronger enhancement (block size 20, kx/ky 0.80, angle increment 4°). Wider filter kernels, more aggressive ridge amplification.
- Low: Subtle enhancement (block size 12, kx/ky 0.50, angle increment 2°). Finer-grained orientation sampling, lower amplification.
The Gabor pipeline itself — implemented in FingerprintImageEnhancer — runs four stages per image: ridge segmentation (block-wise standard deviation thresholding), local orientation estimation (gradient of Gaussian), ridge frequency estimation (column-projection peak detection), and finally oriented Gabor filter convolution to produce a binary ridge map.
CNN Architecture & Training
A custom CNN was built in TensorFlow/Keras with four convolutional blocks (16 → 32 → 64 → 128 filters, 3×3 kernels, ReLU), each followed by Batch Normalization, Max Pooling (2×2), and Dropout (0.2). A Global Max Pooling layer feeds into a Dense(128) + Dropout(0.5) head, terminating in a sigmoid output for binary male/female classification.
Training used Adam with ReduceLROnPlateau (patience 20, factor 0.1) and balanced class weights to handle the uneven gender distribution in both datasets. Performance was assessed via 5-fold stratified cross-validation (100 epochs per fold, batch size 16), with weighted F1-score and AUC as the primary metrics.
Datasets
- SOCOFing (Sokoto Coventry Fingerprint Dataset): Preprocessed from raw BMP scans (90×97 px); Gabor-enhanced outputs at 180×194 px.
- Family Fingerprint Dataset: Higher-resolution source images (512×512 px); Gabor-enhanced outputs resized to 256×256 px.
Results & Impact
- Best configuration: Default Gabor parameters outperformed both raw baseline and the high/low variants on both datasets, confirming that the enhancement is beneficial but sensitive to over-tuning.
- SOCOFing (default): Mean weighted F1-score of 73.46% and AUC of 69.72% across 5 folds.
- Family (default): Mean weighted F1-score of 70.1% and AUC of 74.41% across 5 folds.
- Results provide empirical evidence that Gabor-based ridge enhancement is a meaningful preprocessing step for fingerprint soft-biometric classification, with the filter parameterization meaningfully affecting model outcomes.