Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prem-ium/metahuman-emotion-recognition
Emotionally responsive Virtual Metahuman CV with Real-Time User Facial Emotion Detection (Unreal Engine 5).
https://github.com/prem-ium/metahuman-emotion-recognition
computer-vision emotion emotion-classification emotion-detection emotion-recognition emotions facial-expression-recognition machine-learning metahuman metahumans opencv opencv-python unreal-engine unreal-engine-4 unreal-engine-5 virtual-human-agent virtual-humans
Last synced: about 2 months ago
JSON representation
Emotionally responsive Virtual Metahuman CV with Real-Time User Facial Emotion Detection (Unreal Engine 5).
- Host: GitHub
- URL: https://github.com/prem-ium/metahuman-emotion-recognition
- Owner: Prem-ium
- License: mit
- Created: 2023-02-21T01:21:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-12T23:38:08.000Z (5 months ago)
- Last Synced: 2024-10-12T20:06:27.184Z (2 months ago)
- Topics: computer-vision, emotion, emotion-classification, emotion-detection, emotion-recognition, emotions, facial-expression-recognition, machine-learning, metahuman, metahumans, opencv, opencv-python, unreal-engine, unreal-engine-4, unreal-engine-5, virtual-human-agent, virtual-humans
- Language: Python
- Homepage:
- Size: 30.6 MB
- Stars: 40
- Watchers: 0
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
π§ π» Real-Time Emotion Recognition Metahuman π§ π»
Creating real-time facial and emotion recognition software to pair with Unreal Engine 5 Metahuman to predict and mimic user emotions.
Our objective is to develop a 3D Virtual Human (3DVH) prototype that can mirror a userβs emotional reaction. The user emotional reaction is captured using a computer vision-based technique and a camera system. The virtual human will mimic user emotions in real-time.
# Contributors π
- **Python Scripting:** Prem Patel ([@Prem-ium](https://github.com/Prem-ium))
- **Unreal Engine Integration:** Gabe Vindas ([@GabeV95](https://github.com/GabeV95)) & Dustin Lynn ([@Onemorehell](https://github.com/Onemorehell))
- **Emotion Animations in Unreal Engine:** Matthew Goetz## Supported Emotions π:
- Anger π‘
- Fear π¨
- Happy π
- Neutral π
- Sad π’
- Surprised π²## Our Virtual Humans π
![image](https://user-images.githubusercontent.com/80719066/229881331-faa04b08-8524-4901-9398-e8b927542c98.png)
They're terrifying, we know.## Example Results π―
![image](https://user-images.githubusercontent.com/80719066/229880499-9b973ded-d2ea-453f-8590-f873696ad039.png)
(Showcasing Happy & Surprised)## Features π
- Emotion Recognition
- Age & Gender Prediction
- Enviornmental Variables Customization
- Headless mode
- Flexible Emotion Selection: Choose between the most common emotion every X captured emotions or the latest emotion.## Installation Process & Setup Process βοΈοΈ
Run locally:
1. Clone this repository, cd into it, and install dependancies:
```sh
git clone https://github.com/Prem-ium/Metahuman-Emotion-Recognition.git
cd EmotionDetection
pip install -r requirements.txt
```
2. Configure your `.env` file (See below and example for options)
3. Run the main script:
```sh
python emotional-detection-main.py
```
4. Open Unreal Engine Project & Run the Blueprint
5. Click the button to trigger the text reader to process the most common emotion recorded.
6. The Metahuman mimics the user's most common emotion.
7. Repeat Steps 5-6 until desired termination### Enviornmental Variables π οΈ
Configure your variables in a .env file within the same directory. All .env variables are optional and have default values if not specified.| Variable | Description | Default Value |
|--------------|--------------------------------------------------------------------|---------------|
| HEADLESS | True or False. Whether to open a GUI for testing webcam accuracy. | True |
| PRODUCTION | True or False. Whether the program is running in Unreal Engine. | False |
| DELAY | Integer value of how many seconds the program will wait before starting the next iteration | - |
| FILE_PATH | Path of directory containing the model and weights | - |
| WEIGHTS | Name of the model being used | - |## Need Help? π€
I regret to inform you that I'm currently unable to respond to any issues for this repository. I have disabled the ability to start an issue in this repository. Please refrain from contacting me regarding any issues at this time.## License
[MIT](https://choosealicense.com/licenses/mit/)