Face Comparison & Recognition System
Overview
A Python-based AI module designed to perform face comparison and recognition. The system utilizes Cascade Classifiers to detect faces within images, crops them, and then employs FaceNet to calculate image embeddings. By comparing these embeddings and applying a similarity threshold, the system determines if two faces belong to the same person. It supports comparing a single face against a database of many faces to identify individuals.
Objectives
- Develop a system to accurately detect faces in images.
- Implement logic to compare one face against a database of many.
- Calculate similarity scores to verify identity.
- Create a command-line interface for easy usage.
Key Features
Face Detection
Uses Cascade Classifiers to locate and crop faces from input images.
Embedding Calculation
Generates unique vector embeddings for each face using FaceNet.
Identity Verification
Compares embeddings to determine if faces match based on a confidence threshold.
Database Management
Scripts included to load and organize images into a recognition database.
Challenges & Solutions
Ensuring accurate detection across different lighting and angles.
Utilized robust pre-trained models (FaceNet) and preprocessing steps like cropping to focus on facial features.