Skip to content

Beginner-Mon/face-verification-system

Repository files navigation

Face Verification System

Overview

This face verification system authenticates users by comparing facial features using deep learning models. The system provides both a GUI application and REST API for face recognition with high accuracy across various conditions.

Features

  • Real-time face verification
  • User-friendly GUI interface
  • RESTful API for integration
  • High accuracy face recognition

Technologies Used

Python TensorFlow Keras scikit-learn FastAPI Tkinter

Requirements

tensorflow>=2.10.0
keras>=2.10.0
scikit-learn>=1.1.0
fastapi>=0.95.0
tkinter>=8.6
opencv-python>=4.7.0
numpy>=1.21.0
pillow>=9.0.0
uvicorn>=0.20.0

Installation

# Clone the repository
git clone https://github.com/yourusername/face-verification-system.git
cd face-verification-system

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Usage

GUI Application

python GUI.py

API Server

uvicorn server:app --reload

GUI Overview

The application features a user-friendly graphical interface built with Tkinter that allows users to:

  • Image Upload: Browse and select images for face verification
  • Real-time Camera: Capture photos directly from webcam for instant verification
  • Verification Results: Display match confidence scores and authentication status
  • Database Management: Add new faces to the recognition database

The interface is designed with intuitive controls and clear visual feedback to ensure smooth user experience.

API Endpoints

  • GET /api/metrics - Get system performance metrics
  • POST /api/predictions - Perform face verification prediction

Model Performance

ROC Curve

The ROC curve demonstrates the system's performance with an AUC score indicating excellent classification accuracy between genuine and imposter face pairs.

Contact

Tran Buu Duc Tri - yductri02lt2@gmail.com

Project Link: https://github.com/yourusername/face-verification-system

About

this is an assignment from COS30082, the task is to create a model using Siamese network, classificaiton model, and compare the performance. Furthermore, create a GUI to display the verification task.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors