The Facial Emotion Recognition System is a machine learning-based project designed to detect human emotions from facial expressions. It leverages deep learning techniques to analyze facial features and classify emotions such as happiness, sadness, anger, surprise, fear, and neutrality.
- Detects and classifies facial emotions in real-time
- Uses deep learning models (CNN, OpenCV, TensorFlow/Keras)
- Can be integrated with applications like chatbots, security systems, and user experience enhancements
- Supports real-time webcam input and image processing
Facial-Emotion-Recognition-System/
│-- dataset/ # Training and testing images
│-- models/ # Pre-trained models and saved weights
│-- accuracy.png # Visualization of model performance
│-- emotion.py # Main script for detecting emotions
│-- emotions images.webp # Reference images related to emotions
│-- haarcascade_frontalface_default.xml # Pre-trained Haar Cascade model for face detection
│-- requirements.txt # Required dependencies
│-- README.md # Project documentation
Ensure you have Python installed (preferably Python 3.8+). Install required dependencies using:
pip install -r requirements.txt
- Train the Model (if not using a pre-trained model):
python src/train.py
- Run Emotion Detection:
python src/detect.py
- Python
- OpenCV
- TensorFlow/Keras
- NumPy
- Matplotlib
The system is trained using the FER-2013 dataset, which contains labeled images of human facial expressions. The dataset is publicly available in Kaggle.
The model achieves high accuracy on the test dataset and can be improved by fine-tuning hyperparameters and using a larger dataset.
- Implementing a more robust deep learning model for better accuracy
- Deploying as a web or mobile application
- Enhancing real-time detection speed
This project is open-source and available under the MIT License.