Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Face Anti-Spoofing Detection using Deep Learning

A comprehensive computer vision project for multi-class face anti-spoofing detection using deep learning, texture analysis, frequency-domain analysis, explainable AI, and robust evaluation techniques.


see the deployment in: https://github.com/Asalulzy/Face-anti-spoofing-service

Overview

Face recognition systems have become an essential component of modern authentication technologies, powering applications such as smartphone unlocking, digital identity verification, attendance systems, financial services, and physical access control.

Despite their widespread adoption, conventional face recognition systems remain vulnerable to presentation attacks (spoofing attacks), where attackers attempt to impersonate legitimate users using artificial facial representations.

Common spoofing attacks include:

  • Printed photographs
  • Smartphone or monitor replay attacks
  • 3D masks
  • Silicone masks
  • Mannequin faces
  • Other unknown spoofing media

These attacks often introduce subtle visual artifacts such as:

  • Paper boundaries
  • Screen edges
  • Reflection patterns
  • Moiré effects
  • Texture inconsistencies
  • Artificial surface structures

This project develops a multi-class face anti-spoofing system capable of distinguishing genuine faces from multiple spoofing attack categories using modern deep learning techniques combined with extensive visual analysis and explainability methods.


Problem Statement

Traditional face recognition systems primarily focus on identity matching and often lack mechanisms to verify whether the presented face originates from a live human subject.

As a result, authentication systems may incorrectly accept spoofed facial representations, creating significant security vulnerabilities.

A robust anti-spoofing solution is therefore required to improve the reliability, security, and trustworthiness of biometric authentication systems.


Project Objectives

The project aims to:

  • Detect face spoofing attacks from image inputs
  • Classify images into multiple authenticity categories
  • Analyze texture and frequency-domain spoof artifacts
  • Improve robustness against unseen spoofing patterns
  • Enhance model generalization under varying conditions
  • Provide explainable predictions using visual interpretation techniques
  • Develop a production-oriented computer vision pipeline

Dataset Description

The dataset contains facial images categorized into six authenticity classes.

Class Description
realperson Genuine human face
fake_printed Printed photograph attack
fake_screen Screen replay attack
fake_mask Mask-based spoofing attack
fake_mannequin Mannequin or facial replica attack
fake_unknown Unknown or miscellaneous spoofing attack

The dataset contains variations in:

  • Illumination conditions
  • Facial poses
  • Camera quality
  • Image resolution
  • Spoofing media
  • Environmental backgrounds

These variations help improve model robustness and real-world applicability.


Methodology

The proposed pipeline consists of the following stages:

1. Dataset Audit & Preprocessing

Dataset quality validation including:

  • Dataset integrity checking
  • Corrupted image detection
  • Duplicate image detection
  • Image quality assessment
  • Brightness analysis
  • Blur analysis
  • Metadata generation
  • Leakage prevention

2. Texture-Based Analysis

Investigation of spoof-related texture characteristics through:

  • Edge Density Analysis
  • Local Binary Pattern (LBP) Analysis
  • Texture distribution comparison

3. Frequency-Domain Analysis

Analysis of spectral artifacts commonly associated with spoof attacks using:

  • FFT Spectrum Analysis
  • Frequency distribution inspection
  • Spoof artifact visualization

4. Data Augmentation

Generation of robust training samples using:

  • Geometric transformations
  • Brightness adjustments
  • Contrast modifications
  • Rotation and scaling
  • Noise injection
  • Generalization-focused augmentation

5. Deep Learning Training

Feature learning and classification using:

  • Transfer Learning
  • ConvNeXt Architectures
  • Ensemble Classification Strategies
  • Multi-class Prediction

6. Explainability Analysis

Model interpretation using Explainable AI techniques such as:

  • Grad-CAM
  • Activation Visualization
  • Attention Region Analysis

7. Anti-Spoofing Evaluation

Comprehensive evaluation using:

  • Accuracy
  • Precision
  • Recall
  • F1-Score
  • Confusion Matrix
  • Class-wise Performance Analysis

System Pipeline

Input Image
      ↓
Dataset Audit & Cleaning
      ↓
Texture Analysis
      ↓
Frequency Analysis
      ↓
Data Augmentation
      ↓
ConvNeXt Transfer Learning
      ↓
Ensemble Classification
      ↓
Explainability Analysis
      ↓
Authenticity Prediction

Key Features

  • Multi-Class Face Anti-Spoofing Detection
  • Dataset Audit & Quality Assessment Pipeline
  • Texture-Based Artifact Analysis
  • Frequency-Domain Spoof Analysis
  • ConvNeXt Transfer Learning
  • Ensemble Deep Learning Architecture
  • Explainable AI Integration
  • Robust Data Augmentation Strategy
  • Production-Oriented Workflow
  • Comprehensive Model Evaluation

Technologies Used

Programming Language

  • Python

Deep Learning

  • TensorFlow / PyTorch
  • ConvNeXt

Computer Vision

  • OpenCV
  • Scikit-Image

Data Science

  • NumPy
  • Pandas
  • Scikit-Learn

Visualization

  • Matplotlib
  • Seaborn

Explainable AI

  • Grad-CAM

Repository Structure

face-anti-spoofing-detection/
│
├── dataset/
│
├── notebooks/
│   └── Anti_spoofing.ipynb
│
├── outputs/
│
├── models/
│
├── src/
│
├── assets/
│
├── requirements.txt
│
├── README.md
│
└── .gitignore

Installation

Clone the repository:

git clone https://github.com/your-username/face-anti-spoofing-detection.git

cd face-anti-spoofing-detection

Install dependencies:

pip install -r requirements.txt

Usage

Run preprocessing:

jupyter notebook notebooks/01_dataset_audit_preprocessing.ipynb

Run texture and frequency analysis:

jupyter notebook notebooks/02_texture_frequency_analysis.ipynb

Train the model:

jupyter notebook notebooks/04_deep_learning_training.ipynb

Evaluate performance:

jupyter notebook notebooks/06_anti_spoofing_evaluation.ipynb

Results

Model training and evaluation results will include:

  • Classification Accuracy
  • Precision
  • Recall
  • Macro F1-Score
  • Confusion Matrix
  • ROC Curves
  • Explainability Visualizations
  • Grad-CAM Interpretations

Performance metrics will be updated after completion of training experiments.


Future Improvements

Potential future developments include:

  • Real-Time Webcam Anti-Spoofing
  • Video-Based Liveness Detection
  • Temporal Feature Modeling
  • Vision Transformer Architectures
  • Cross-Dataset Generalization
  • Domain Adaptation Techniques
  • Edge AI Deployment
  • Mobile Inference Optimization

Visualization Examples

Repository outputs may include:

  • Dataset Statistics
  • Texture Analysis Results
  • FFT Spectrum Visualization
  • Training Curves
  • Confusion Matrices
  • Grad-CAM Visualizations
  • Prediction Examples

Acknowledgement

This project was developed for research, experimentation, and educational purposes in the fields of computer vision, deep learning, and biometric security.


Author

Asalul Musaffa

Interests:

  • Artificial Intelligence
  • Machine Learning
  • Deep Learning
  • Computer Vision
  • Explainable AI
  • AI Engineering
  • Data Science

About

Face anti-spoofing detection using YOLO + ConvNeXt — 96% F1-score across 5 attack categories, optimized for CPU inference and containerized with Docker

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages