Emotion Mini Utility - simple API for recognizing human emotions on picture.
This project's goal is to quickly classify 7 basic human emotions (anger, contempt, fear, disgust, happiness, sadness, surprise) by picture of a human face. Our main goal is to help in research and treatment of autism, but possible applications of Emu in industry are endless.
|-- app
|-- model
|-- data
| |-- cascades
| |-- dataset
| |-- logs
|-- emu.py
|-- preprocess.py
|-- train.py
app
- package for GUI appmodel
- package for building and training modeldata/cascades
- directory for OpenCV cascade needed for face detectiondata/dataset
- directory where the you should unpack FER-2013 datasetdata/logs
- directory for all outputs of trainingemu.py
- main GUI application scriptpreprocess.py
- main data preprocessing scripttrain.py
- main training script
First make sure you have Python 3.5 or newer.
Install required packages.
pip3 install tensorflow-gpu numpy PyQt5
If your machine does not support CUDA.
pip3 install tensorflow numpy PyQt5
In case of trouble with installation of Tensorflow go here.
The application also requires cv2 module. Refer to these tutorials for guidelines regarding the OpenCV installation.
If you want to quickly launch gui application.
python3 emu.py
If you want to train your own model.
-
Download and unpack FER-2013 database to /data/dataset directory.
-
Before you run the training for the first time, remember to preprocess the data.
python3 preprocess.py
- Run the script to train the model.
python3 train.py
Project in progress. Feedback welcome. Still improving neural net. Don't mind the labels in GUI yet, they are in a wrong order.