Project Description: an Andorid and PC App that translates user's expression into emojis.
Our application can detect 6 basic human expressions: happy, sad, surprise, neutral, fear, angry.
Project traits:
-
PC real-time expression detection
-
multiple faces expression detection both on PC and Android
-
image expression detection on Android
-
multiple expressions emoji matching (combination emojis like happy-surprise, angry-surprse) or sigle(happy) expression matching
-
our model architecture:
gray-scale 48x48 image (cropped) >> 3 sequential conv.layers (32 feat. maps per layer) >> maxpool >> 3 sequential conv.layers (64 feat. maps per layer) >> maxpool >> 3 sequential conv.layers (128 feat. maps per layer) >>maxpool >> 2 sequential dense layers (20% dropout) >> softmax output
Authors:
Minghe Ren ([email protected])
Simin Zhai ([email protected])
Tianhen Hu ([email protected])
Xueying Pan ([email protected])
emojis : pngs of emojis (we're updating more)
model: training models and opencv models (Models with various combinations were trained and evaluated using GPU computing g2.2xlarge on AWS)
datasets: training datasets and codes we used
emojime_app -- android application
-
The haar-cascade_frontalface_default.xml in OpenCV contains pre-trained filters and uses Adaboost to quickly find and crop the face.
-
real-time.py allows you to run real-time face and expression detection and save the predection values into emotion.txt
-
live-plotting.py allows you to draw data saved in emotion.txt
-
emojis.py -- This is our core code which finishes the expression detection and emojis matching.
-
model.h5 and model.json -- our trained model and all kinds of model parameters like weights
-
my_model.pb -- for android implantation
-
Nariz.xml -- open source 25x15 Nose detector computed with 7000 positive samples
-
feedback of our colleagues -- the feedback summary of our colleagues
-
Emoji App Test based on Android.pdf and testemoji.xlsx are our test files
10.app-debug.apk -- our android test app
11.Map user's expressions into emojis.pdf -- our poster
In this directory, try:
python real-time.py haar-cascade_frontalface_default.xml
python emojis.py haar-cascade_frontalface_default.xml
-
"Dataset: Facial Emotion Recognition (FER2013)" ICML 2013 Workshop in Challenges in Representation Learning, June 21 in Atlanta, GA.
-
"Andrej Karpathy's Convolutional Neural Networks (CNNs / ConvNets)" Convolutional Neural Networks for Visual Recognition (CS231n), Stanford University.
-
Srivastava et al., 2014. "Dropout: A Simple Way to Prevent Neural Networks from Overfitting", Journal of Machine Learning Research, 15:1929-1958.
-
Duncan, D., Shine, G., English, C., 2016. "Report: Facial Emotion Recognition in Real-time" Convolutional Neural Networks for Visual Recognition (CS231n), Stanford University.
-
Jostine Ho, "mememoji", Interactive Web App Mememoji is an interactive emotion recognition system that detects emotions based on facial expressions.