Facial Recognition System for Online Examination Authentication
A facial recognition system to authenticate students for online examinations
Project Screenshots
Project Overview
During my time at university, I noticed that our online examination system relied only on email and password, which made it easy for someone else to impersonate a student. To solve this real-world security problem, I built this facial recognition system using Python, TensorFlow, Tkinter and OpenCV. The system's front end was built using Tkinter which is a lightweight python GUI library because of it lets me quickly build desktop interfaces without needing seperate web frameworks . When a student registers, the system captures multiple photos and stores the best one in a database along with their details like name, matriculation number, and course information. During login, the system matches the live camera feed with the stored image using a CNN(Convolutional Neural Network) model trained on over 13,000 images. If the face matches, the student is granted access; if not, an alert email with the attempted matriculation number and impostor image is sent to the admin for investigation. This project shows how I apply machine learning to strengthen security for real-life use cases.
Key Features
- Built with Python (TensorFlow, Keras, OpenCV)
- Frontend was built using Tkinter
- Uses a CNN (Convolutional Neural Network) trained with over 13,000 images
- Implements Triplet Loss for accurate face matching
- Uses LabelEncoder (Scikit-learn) and Pickle for label management
- Stores student data and images securely in MySQL
- Captures and compares student faces in real time during login
- Sends an alert email to the admin if an impostor attempt is detected
- Includes a quiz front-end built with HTML, CSS, and JavaScript