The goal of this project is to develop a system that can recognize human emotions in real-time by analyzing both facial expressions (visual data) and voice tone (audio data). By fusing these two modalities, the system aims to achieve enhanced accuracy in emotion detection and classification.
- Detect faces in real-time using a connected camera.
- Classify facial expressions into categories such as happy, sad, angry, and neutral using a pre-trained or custom deep learning model.
- Capture audio input via a microphone.
- Extract features like pitch, tone, and intensity to classify emotions.
- Combine visual and audio data using a fusion algorithm to improve emotion recognition accuracy.
- Display the detected emotion on a screen or send it to a mobile app.
- Provide real-time feedback through visual or audio cues.
- Python (primary)
- C/C++ (for embedded optimization)
- Computer Vision: OpenCV, MediaPipe, Dlib
- Audio Processing: Librosa, PyAudio, SpeechRecognition
- Machine Learning: TensorFlow, Keras, PyTorch
- Data Fusion: NumPy, Pandas, Scikit-learn
- Raspberry Pi 4 or NVIDIA Jetson Nano (for embedded deployment)
- Camera module (e.g., Pi Camera or USB webcam)
- Microphone (USB microphone or built-in mic)
- Display (optional for real-time visualization)
- Visual: FER-2013 (Facial Expression Recognition), CK+ (Extended Cohn-Kanade)
- Audio: RAVDESS (Ryerson Audio-Visual Database of Emotional Speech and Song), CREMA-D (Crowd-Sourced Emotional Multimodal Actors Dataset)
- Explore the communication between multiple embedded devices (e.g., Raspberry Pi or Jetson Nano) to create a network of neural devices that collaborate for enhanced emotion recognition and processing.
- Implement machine learning models directly on edge devices to minimize dependency on a larger central system.
- Optimize models to run efficiently on low-resource hardware while maintaining real-time performance.
- Apply machine learning on embedded devices for data preprocessing.
- Transmit preprocessed data to a central, high-capacity machine learning system for further analysis and decision-making.
- Suspicious Activity Detection: Identify abnormal or suspicious behavior in security-sensitive environments by monitoring emotional states.
- Mental Health Monitoring: Provide real-time emotional feedback to assist in tracking and managing mental health issues.
This project focuses on the synergy of embedded systems, machine learning, and multimodal fusion techniques to create a highly effective emotion recognition system that can function efficiently in real-world applications.