Fingerprint Blood Group Detection
EfficientNet-B3 with CBAM attention, eight classes
Python · PyTorch · EfficientNet-B3 · CBAM · Grad-CAM · FastAPI · React · Git LFS
An EfficientNet-B3 backbone enhanced with CBAM — a Convolutional Block Attention Module — giving dual channel-and-spatial attention so the network concentrates on discriminative ridge and pattern features rather than the whole frame.
Handling the imbalance
Blood groups are not evenly distributed, and neither was the dataset. Training uses focal loss to stop majority classes dominating the gradient, plus MixUp and CutMix augmentation. Grad-CAM makes a prediction interpretable rather than a black box — which, for anything touching a clinical decision, is the difference between a demo and a tool.
Training ran on two NVIDIA T4s under Ubuntu 24.04, with checkpoints versioned through Git LFS and the run emitting training curves, an 8×8 confusion matrix, per-class ROC curves and per-class precision/recall/F1. It is productionised behind a FastAPI service with a React and Tailwind frontend.
Built at CMR College of Engineering & Technology under the guidance of Dr. P. Senthil, alongside D. Saketh Reddy, G. Surya Kiran and G. Bhavana Reddy.