All Projects → thiagomarquesrocha → Kaio-machine-learning-human-face-detection

thiagomarquesrocha / Kaio-machine-learning-human-face-detection

Licence: MIT License
Machine Learning project a case study focused on the interaction with digital characters, using a character called "Kaio", which, based on the automatic detection of facial expressions and classification of emotions, interacts with humans by classifying emotions and imitating expressions

Programming Languages

Jupyter Notebook
11667 projects
HTML
75241 projects

Projects that are alternatives of or similar to Kaio-machine-learning-human-face-detection

imbalanced-ensemble
Class-imbalanced / Long-tailed ensemble learning in Python. Modular, flexible, and extensible. | 模块化、灵活、易扩展的类别不平衡/长尾机器学习库
Stars: ✭ 199 (+1005.56%)
Mutual labels:  scikit-learn, sklearn
sklearn-pmml-model
A library to parse and convert PMML models into Scikit-learn estimators.
Stars: ✭ 71 (+294.44%)
Mutual labels:  scikit-learn, sklearn
hub
Public reusable components for Polyaxon
Stars: ✭ 8 (-55.56%)
Mutual labels:  notebook, scikit-learn
Python Clustering Exercises
Jupyter Notebook exercises for k-means clustering with Python 3 and scikit-learn
Stars: ✭ 153 (+750%)
Mutual labels:  notebook, scikit-learn
sklearn-audio-classification
An in-depth analysis of audio classification on the RAVDESS dataset. Feature engineering, hyperparameter optimization, model evaluation, and cross-validation with a variety of ML techniques and MLP
Stars: ✭ 31 (+72.22%)
Mutual labels:  scikit-learn, sklearn
Data Science Notebook
📖 每一个伟大的思想和行动都有一个微不足道的开始
Stars: ✭ 196 (+988.89%)
Mutual labels:  notebook, sklearn
R-CNN LIGHT
Regional-Convolution Neural Network for blink detection based on contouring.
Stars: ✭ 66 (+266.67%)
Mutual labels:  detection, blink
Shallowlearn
An experiment about re-implementing supervised learning models based on shallow neural network approaches (e.g. fastText) with some additional exclusive features and nice API. Written in Python and fully compatible with Scikit-learn.
Stars: ✭ 196 (+988.89%)
Mutual labels:  scikit-learn, supervised-learning
playground
A Streamlit application to play with machine learning models directly from the browser
Stars: ✭ 48 (+166.67%)
Mutual labels:  scikit-learn, sklearn
mloperator
Machine Learning Operator & Controller for Kubernetes
Stars: ✭ 85 (+372.22%)
Mutual labels:  notebook, scikit-learn
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+10277.78%)
Mutual labels:  notebook, scikit-learn
textlytics
Text processing library for sentiment analysis and related tasks
Stars: ✭ 25 (+38.89%)
Mutual labels:  scikit-learn, supervised-learning
Sklearn Classification
Data Science Notebook on a Classification Task, using sklearn and Tensorflow.
Stars: ✭ 518 (+2777.78%)
Mutual labels:  notebook, sklearn
notebooks
A docker-based starter kit for machine learning via jupyter notebooks. Designed for those who just want a runtime environment and get on with machine learning. Docker tags:
Stars: ✭ 29 (+61.11%)
Mutual labels:  notebook, scikit-learn
Igel
a delightful machine learning tool that allows you to train, test, and use models without writing code
Stars: ✭ 2,956 (+16322.22%)
Mutual labels:  scikit-learn, sklearn
Breast-cancer-risk-prediction
Classification of Breast Cancer diagnosis Using Support Vector Machines
Stars: ✭ 143 (+694.44%)
Mutual labels:  notebook, supervised-learning
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (+677.78%)
Mutual labels:  scikit-learn, supervised-learning
Imodels
Interpretable ML package 🔍 for concise, transparent, and accurate predictive modeling (sklearn-compatible).
Stars: ✭ 194 (+977.78%)
Mutual labels:  scikit-learn, supervised-learning
KMeans elbow
Code for determining optimal number of clusters for K-means algorithm using the 'elbow criterion'
Stars: ✭ 35 (+94.44%)
Mutual labels:  scikit-learn, sklearn
scikit-learn
به فارسی، برای مشارکت scikit-learn
Stars: ✭ 19 (+5.56%)
Mutual labels:  scikit-learn, sklearn

Kaio: face detection predicting emotion

Machine Learning project a case study focused on the interaction with digital characters, using a character called "Kaio", which, based on the automatic detection of facial expressions and classification of emotions, interacts with humans by classifying emotions and imitating expressions. As a result the tool is able to classify three emotions (sadness, anger and happiness). The project was made with Android Mobile Vision, Django, Scikit Learn, Pharser JS and Jquery.

Overview

Demo

Animation states

Kaio has 4 states

Animation

How to learning and detecting human face emotion

Kaio need to learn how humans interact then detect the facial expression in real time

Smile

Architecture

The architecture was divided by three components:

  • Cellphone: face expression detector;
  • Server: Emotion classifier;
  • Web: Character digital.

Architecture

Data exploration:

  • 4264 face expressions
  • 5 features
  • 12 distinct users

Install

This project requires Python 2.7 and the following Python libraries installed:

You will also need to have software installed to run and execute a Jupyter Notebook

If you do not have Python installed yet, it is highly recommended that you install the Anaconda distribution of Python, which already has the above packages and more included. Make sure that you select the Python 2.7 installer and not the Python 3.x installer.

Code

Template code is provided in the kaio/kaio.ipynb notebook file. You will also be required to use the included visuals.py Python file and the detect.csv, training.csv, and training_wo_outliers.csv dataset file to complete your work.

Run

In a terminal or command window, navigate to the project sub directory server/ or kaio/ and run one of the following commands:

ANALYSIS

In kaio/ execute:

ipython notebook kaio.ipynb

or

jupyter notebook kaio.ipynb

This will open the Jupyter Notebook software and project file in your browser.

TEST

In server/ execute:

Front

Run the emotion classify server/front

python manage.py runserver [IP]:[PORT]

Server

Run the socket.io server to connect front and server

python server.py

Data

The Kaio dataset consists of 4264 data points, with each datapoint having 5 features.

  • training.csv - Without preprocessing
  • training_wo_outliers.csv - With preprocessing where was removed outliers

Features

  1. user: user id

  2. rate_blink_left: percentage the user blinked left eye (0.0 until 1.0)

  3. rate_blink_right: percentage the user blinked right eye (0.0 until 1.0)

  4. rate_smile_or_not: percentage the user smile (0.0 until 1.0)

Target Variable

  1. feel: emotion (0-sadness | 1-angry | 2-happiness)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].