Thameur Portfolio

Face Recognition System using MTCNN and Facenet πŸ€–

June 15, 2022 (2y ago)

πŸ” A face recognition system powered by MTCNN for face detection and Facenet for encoding faces into unique vectors to perform accurate recognition.

πŸ’» Source CodeΒ Β β€’Β 
Face Recognition System using MTCNN and Facenet
Face Recognition System using MTCNN and Facenet

πŸ“ Abstract

This Face Recognition System uses MTCNN for detecting faces in images and Facenet for encoding the detected faces into unique vectors that can be compared to others for identification and verification. The system can be extended for more complex applications, including security systems and personalized experiences.

🌟 Features

  • Face Detection: MTCNN is used for detecting faces in images.
  • Face Encoding: Facenet encodes faces into unique vectors for recognition.
  • Face Comparison: The system compares the encoded vectors to identify the closest match.
  • Real-time Recognition: The system can process images in real-time for face identification.
  • Database Integration: Add images of people to the face recognition database for comparison.

πŸš€ Getting Started

Prerequisites

Before you can run this project, ensure the following packages are installed:

  • TensorFlow
  • MTCNN
  • Keras
  • OpenCV
  • scikit-learn

Installation

  1. Clone the repository:
git clone https://github.com/verus56/face-recognition-based-sur-mtcnn-facenet.git cd face-recognition-based-sur-mtcnn-facenet
  1. Install the required dependencies:
pip install tensorflow mtcnn keras opencv-python scikit-learn

Running the App

Run the main file to start the face recognition application:

python main.py

The application will start, and you can begin adding images to the face recognition database and use them for recognition.

πŸ€– How It Works

  1. Face Detection: MTCNN detects faces in images added to the database.
  2. Face Encoding: Facenet encodes the detected faces into unique vectors.
  3. Recognition: When a new image is submitted, it is processed in the same way, and the resulting vector is compared with stored vectors in the database.
  4. Match Identification: The system identifies the closest match based on vector comparison.

πŸ“Š Technical Stack

  • AI Engine: MTCNN (for face detection), Facenet (for face encoding)
  • Image Processing: OpenCV
  • Data Processing: scikit-learn
  • Deep Learning: TensorFlow, Keras

πŸ› οΈ Deployment

This system can be run locally for individual face recognition or extended for integration into larger security systems.

πŸ“ License

Released under the MIT License.

πŸ“² Contact

Made with ❀️ by Hamzaoui Thameur

πŸ“š Resources

Contributors:

  1. Hamzaoui Thameur
  2. Omari Hamza
  3. Hadad Sarah
  4. Elfecih Sarah