PredictingSmileTypes

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  1. Python 3. We're using 3.6.2. You can get it here: https://www.python.org/downloads/
  2. Dlib.
  3. OpenCV(cv2).
  4. Pandas, NumPy and scikit-learn.
  5. PyTorch. We're using 0.3.0. You can get it here: https://pytorch.org/get-started/locally/

facial_landmarks_dection

We applied openCV(cv2) and dlib to fetch 68 landmarks( the predictor was trained on iBUG 300-W dataset).
The whole methodology followed the idea from Adrian Rosebrock(Here is the link:).

We generated the data for traditional ML models and LSTM models during processing frames.
Basicly, traditional Ml models needed me calculate mean and standard deviation values for every 30 frames while we feeded LSTM model raw data (a good boy, right?).

If you don't understand the code, feel free to contact me:)

human-level_performance_feedback_collection

We chose FLASK as our framework. It's simple and elegant. We used a Bootstrap template for front-end. You can google and use any template you like:)
Here are screenshots how we collect human-level-performance feedback. login page login page
submit result submit result
rest page rest page

traditional_ML

We apply different traditional ML models here.

useful_facial_landmarks

LSTM

LSTM model is deployed here.

Built With

  • Flask - An web framework used
  • OpenCV - An open source computer vision and machine learning software library.
  • Dlib - The C++ toolkit containing machine learning algorithms and tools used.
  • Scikit-learn - A free software machine learning library for the Python programming language used.
  • [PyTorch] (https://pytorch.org) - An open source machine learning library based on the Torch library used.

Authors

Acknowledgments

  • Beste Yuksel
  • Adrian Rosebrock