Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Facial Recognition System using Siamese CNN

A full-stack facial recognition system built using a Siamese Convolutional Neural Network (CNN) in PyTorch.
The system performs face verification by learning embeddings and comparing similarity scores.
It is served through a FastAPI backend, connected to a Next.js frontend, and fully containerized using Docker Compose for reproducible deployment.

Demo

Watch the application in action: View Demo Video


Installation & Setup

1. Frontend Setup

2. Backend & Model Setup

The backend is served via FastAPI and runs inside a Docker container.

cd Backend
docker compose up --build

This command builds the backend image and starts the inference service at http://127.0.0.1:8000.


Tech Stack

  • Frontend: Next.js, React, Tailwind CSS
  • Backend: FastAPI (Python)
  • Machine Learning: XGBoost, Scikit-learn, Pandas, Numpy
  • DevOps: Docker, Docker Compose

Machine Learning Workflow

The system uses a Siamese Neural Network for face verification based on similarity learning.

  1. Data Collection: Face image pairs for similarity learning
  2. Preprocessing: Resize, normalization, augmentation
  3. Model: Siamese CNN for embedding generation
  4. Distance Metric: Euclidean or Cosine similarity
  5. Inference: Compare embeddings for match / no-match decision

Project Structure

├── Frontend/           # Next.js application
├── Backend/            # FastAPI, Model logic, and Dockerfile
│   ├── facial_recognition_model.py       # Trained Siamese CNN model
│   └── facial_api.py         # API endpoints


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages