A deep learning-based face recognition system developed using TensorFlow/Keras and the Yale Faces Dataset. The project detects faces, preprocesses facial images, trains a Convolutional Neural Network (CNN), and recognises individuals from unseen images.
Face recognition is one of the most widely used computer vision applications, with use cases ranging from security systems to biometric authentication.
This project demonstrates an end-to-end face recognition pipeline using the Yale Faces Dataset, covering everything from data preprocessing to model evaluation and prediction.
- Face detection using MTCNN
- Image preprocessing and normalisation
- CNN model built using TensorFlow/Keras
- Model training and validation
- Accuracy and loss visualisation
- Classification report
- Single image prediction
- Python
- TensorFlow / Keras
- OpenCV
- MTCNN
- NumPy
- Pandas
- Matplotlib
- Scikit-learn
The project uses the Yale Faces Dataset.
After extracting the dataset, the folder structure should be:
yalefaces/
├── train/
└── test/
The dataset README inside the data/ folder contains additional setup instructions.
Face-Recognition/
│
├── main.ipynb
├── data/
│ ├── archive.zip
│ └── README.md
- Load the Yale Faces dataset
- Detect faces using MTCNN
- Preprocess and resize images
- Create training and validation datasets
- Train a Convolutional Neural Network
- Evaluate model performance
- Predict identities from unseen images
The model is evaluated using:
- Training Accuracy
- Validation Accuracy
- Training Loss
- Validation Loss
- Classification Report
- Confusion Matrix
Clone the repository
git clone https://github.com/NitishW27/Face-Recognition.gitInstall dependencies
pip install -r requirements.txtOpen the notebook
jupyter notebook main.ipynbRun all cells sequentially.
- Improve recognition accuracy using transfer learning
- Compare CNN performance with FaceNet and VGGFace
- Deploy as a web application using Streamlit
- Add webcam-based real-time face recognition
- Support larger face datasets
Nitish Wadpally
Master of Data Science & Decisions
UNSW Sydney
- GitHub: https://github.com/NitishW27
This project is licensed under the MIT License.