A face recognition system using Multi-Layer Perceptron (MLP) neural networks.
This project implements a face recognition system using MLP classifier along with Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA) for dimensionality reduction. The system can identify faces from a dataset of Bollywood celebrities with good accuracy.
- Face detection and recognition using MLP neural network
- Dimensionality reduction using PCA and LDA
- Dataset of Bollywood celebrity faces
- Interactive visualization of eigenfaces
- Model training with loss tracking
- Prediction probability scores
- Accuracy evaluation
- Python
- Jupyter Notebook
- Libraries:
- scikit-learn (MLPClassifier, PCA, LDA)
- OpenCV (cv2)
- NumPy
- Matplotlib
- MLP Neural Network with:
- Input layer: 150 PCA components
- Hidden layers: (10, 10) neurons
- Output layer: Number of classes
- Maximum iterations: 1000
faces/
├── Aamir/
├── Ajay/
├── Akshay/
├── Alia/
├── Amitabh/
├── Deepika/
├── Disha/
├── Farhan/
└── Ileana/
- Achieved accuracy: ~77.88%
- Model convergence with decreasing loss values
- Early stopping when loss improvement < 0.0001
- Clone the repository
- Install required dependencies:
pip install numpy opencv-python scikit-learn matplotlib jupyter
- Open MLP_Face_Recognition.ipynb in Jupyter Notebook
- Run all cells sequentially
.
├── faces/ # Dataset directory
├── MLP_Face_Recognition.ipynb # Main notebook
└── README.md # Project documentation
- Successful face recognition with probability scores
- Visualization of eigenfaces
- Loss tracking during training
- Test set predictions with confidence scores
Chhagan Ram Choudhary