All Projects β†’ david-wb β†’ Gaze Estimation

david-wb / Gaze Estimation

A deep learning based gaze estimation framework implemented with PyTorch

Projects that are alternatives of or similar to Gaze Estimation

Image classifier
CNN image classifier implemented in Keras Notebook πŸ–ΌοΈ.
Stars: ✭ 139 (+321.21%)
Mutual labels:  artificial-intelligence, jupyter-notebook, cnn
All Classifiers 2019
A collection of computer vision projects for Acute Lymphoblastic Leukemia classification/early detection.
Stars: ✭ 22 (-33.33%)
Mutual labels:  artificial-intelligence, jupyter-notebook, artificial-neural-networks
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (+490.91%)
Mutual labels:  artificial-intelligence, jupyter-notebook, cnn
Brihaspati
Collection of various implementations and Codes in Machine Learning, Deep Learning and Computer Vision ✨πŸ’₯
Stars: ✭ 53 (+60.61%)
Mutual labels:  artificial-intelligence, jupyter-notebook, artificial-neural-networks
100daysofmlcode
My journey to learn and grow in the domain of Machine Learning and Artificial Intelligence by performing the #100DaysofMLCode Challenge.
Stars: ✭ 146 (+342.42%)
Mutual labels:  artificial-intelligence, jupyter-notebook, artificial-neural-networks
Data Science Resources
πŸ‘¨πŸ½β€πŸ«You can learn about what data science is and why it's important in today's modern world. Are you interested in data science?πŸ”‹
Stars: ✭ 171 (+418.18%)
Mutual labels:  artificial-intelligence, jupyter-notebook, artificial-neural-networks
Tensorslow
Re-implementation of TensorFlow in pure python, with an emphasis on code understandability
Stars: ✭ 657 (+1890.91%)
Mutual labels:  artificial-intelligence, jupyter-notebook, artificial-neural-networks
Sincnet
SincNet is a neural architecture for efficiently processing raw audio samples.
Stars: ✭ 764 (+2215.15%)
Mutual labels:  artificial-intelligence, cnn
Basic reinforcement learning
An introductory series to Reinforcement Learning (RL) with comprehensive step-by-step tutorials.
Stars: ✭ 826 (+2403.03%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Tensorflow Tutorial
Some interesting TensorFlow tutorials for beginners.
Stars: ✭ 893 (+2606.06%)
Mutual labels:  jupyter-notebook, cnn
Machine Learning Experiments
πŸ€– Interactive Machine Learning experiments: πŸ‹οΈmodels training + 🎨models demo
Stars: ✭ 841 (+2448.48%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Machine learning refined
Notes, examples, and Python demos for the textbook "Machine Learning Refined" (published by Cambridge University Press).
Stars: ✭ 750 (+2172.73%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Gans In Action
Companion repository to GANs in Action: Deep learning with Generative Adversarial Networks
Stars: ✭ 748 (+2166.67%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Awesome Ai Ml Dl
Awesome Artificial Intelligence, Machine Learning and Deep Learning as we learn it. Study notes and a curated list of awesome resources of such topics.
Stars: ✭ 831 (+2418.18%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Imageai
A python library built to empower developers to build applications and systems with self-contained Computer Vision capabilities
Stars: ✭ 6,734 (+20306.06%)
Mutual labels:  artificial-intelligence, artificial-neural-networks
Easypr
An easy, flexible, and accurate plate recognition project for Chinese licenses in unconstrained situations.
Stars: ✭ 6,046 (+18221.21%)
Mutual labels:  artificial-intelligence, artificial-neural-networks
Daily Neural Network Practice 2
Daily Dose of Neural Network that Everyone Needs
Stars: ✭ 18 (-45.45%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Awesome Ai Books
Some awesome AI related books and pdfs for learning and downloading, also apply some playground models for learning
Stars: ✭ 855 (+2490.91%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Deep Learning Experiments
Notes and experiments to understand deep learning concepts
Stars: ✭ 883 (+2575.76%)
Mutual labels:  artificial-intelligence, jupyter-notebook
Pandas Profiling
Create HTML profiling reports from pandas DataFrame objects
Stars: ✭ 8,329 (+25139.39%)
Mutual labels:  artificial-intelligence, jupyter-notebook

Gaze Estimation with Deep Learning

This project implements a deep learning model to predict eye region landmarks and gaze direction. The model is trained on a set of computer generated eye images synthesized with UnityEyes [1]. This work is heavily based on [2] but with some key modifications. This model achieves ~14% mean angular error on the MPIIGaze evaluation set after training on UnityEyes alone.

Setup

NOTE: This repo has been tested only on Ubuntu 16.04 and MacOS.

First, create a conda env for your system and activate it:

conda env create -f env-linux.yml
conda activate ge-linux

Then download the pretrained model files. One is for detecting face landmarks. The other is the main pytorch model.

./scripts/fetch_models.sh

Finally, run the webcam demo. You will likely need a GPU and have cuda 10.1 installed in order to get acceptable performance.

python run_with_webcam.py

If you'd like to train the model yourself, please see the readme under datasets/UnityEyes.

Materials and Methods

Over 100k training images were generated using UnityEyes [1]. These images are each labeled with a json metadata file. The labels provide eye region landmark positions in screenspace, the direction the eye is looking in camera space, and other pieces of information. A rectangular region around the eye was extracted from each raw traing image and normalized to have a width equal to the eye width (1.5 times the distance between eye corners). For each preprocessed image, a set of heatmaps corresponding to 34 eye region landmarks was created. The model was trained to regress directly on the landmark locations and gaze direction in (pitch, yaw) form. The model was implemented in pytorch. The overall method is summarized in the following figure. alt text

The model architecture is based on the stacked hourglass model [3]. The main modification was to add a separate pre-hourglass layer for predicting the gaze direction. The output of the additional layer is concatenated with the predicted eye-region landmarks before being passed to two fully connected layers. This way, the model can make use of the high-level landmark features for predicting the gaze direction.

Demo Video

Watch the video

References

  1. https://www.cl.cam.ac.uk/research/rainbow/projects/unityeyes/
  2. https://github.com/swook/GazeML
  3. https://github.com/princeton-vl/pytorch_stacked_hourglass
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].