This project implements a secure, face-based biometric authentication system designed for banking transactions. It utilizes deep learning for facial feature extraction and verification, combined with an active liveness detection mechanism to prevent spoofing attacks.
- Deep Learning Authentication: Leverages the ArcFace model (ResNet50 backbone) for high-precision facial feature extraction (512-dimensional embeddings).
- Active Liveness Detection: Implements a defense mechanism against spoofing (photo/video playback attacks) using Eye-blink dynamics via MediaPipe Face Mesh.
- High Performance: Demonstrated a verification accuracy of 99.83% under experimental conditions.
- Microservice Design: Built as a Python-based microservice for seamless integration into banking infrastructures.
The system operates on a multi-stage pipeline to ensure both security and speed:
- Face Acquisition: Captures real-time frames from a camera feed.
- Liveness Verification: Calculates the Eye Aspect Ratio (EAR) to detect natural blinking patterns.
- Feature Extraction: Generates unique facial signatures using ArcFace.
- Matching: Compares live signatures against the database using Cosine Similarity.
- Decision: Grants or denies access based on a predefined similarity threshold.
The methodology and experimental results of this project are detailed here :
Face-Based Biometric Authentication for Secure Banking Transactions Using Deep Learning
- Python 3.8
- OpenCV
- MediaPipe
- TensorFlow (ARCFACE)
- NumPy
a) Face Capture: Real-time acquisition via camera.
b) Liveness Detection: Verification of a live user through eye-blink detection.
c) Feature Extraction: Processing the face through ArcFace to create a unique embedding.
d) Identity Matching: Comparing the live embedding with stored data using Cosine Similarity.
e) Transaction Authorization: Approving or rejecting the transaction based on the similarity score.
- Soumyadeep Basu
- Sarthik Dasgupta
- Ankit Das
- Sourasish Biswas