All Projects → mpatacchiola → Deepgaze

mpatacchiola / Deepgaze

Licence: mit
Computer Vision library for human-computer interaction. It implements Head Pose and Gaze Direction Estimation Using Convolutional Neural Networks, Skin Detection through Backprojection, Motion Detection and Tracking, Saliency Map.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deepgaze

Deepface
Deep Learning Models for Face Detection/Recognition/Alignments, implemented in Tensorflow
Stars: ✭ 409 (-73.65%)
Mutual labels:  convolutional-neural-networks, cnn, face-detection
Cnn Paper2
🎨 🎨 深度学习 卷积神经网络教程 :图像识别,目标检测,语义分割,实例分割,人脸识别,神经风格转换,GAN等🎨🎨 https://dataxujing.github.io/CNN-paper2/
Stars: ✭ 77 (-95.04%)
Mutual labels:  cnn, face-detection
Cnn Interpretability
🏥 Visualizing Convolutional Networks for MRI-based Diagnosis of Alzheimer’s Disease
Stars: ✭ 68 (-95.62%)
Mutual labels:  convolutional-neural-networks, cnn
Tf Mobilenet V2
Mobilenet V2(Inverted Residual) Implementation & Trained Weights Using Tensorflow
Stars: ✭ 85 (-94.52%)
Mutual labels:  convolutional-neural-networks, cnn
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (-96.39%)
Mutual labels:  convolutional-neural-networks, cnn
Convisualize nb
Visualisations for Convolutional Neural Networks in Pytorch
Stars: ✭ 57 (-96.33%)
Mutual labels:  convolutional-neural-networks, cnn
Recursive Cnns
Implementation of my paper "Real-time Document Localization in Natural Images by Recursive Application of a CNN."
Stars: ✭ 80 (-94.85%)
Mutual labels:  convolutional-neural-networks, cnn
Svhn Cnn
Google Street View House Number(SVHN) Dataset, and classifying them through CNN
Stars: ✭ 44 (-97.16%)
Mutual labels:  convolutional-neural-networks, cnn
Fast Autoaugment
Official Implementation of 'Fast AutoAugment' in PyTorch.
Stars: ✭ 1,297 (-16.43%)
Mutual labels:  convolutional-neural-networks, cnn
Pytorch Learners Tutorial
PyTorch tutorial for learners
Stars: ✭ 97 (-93.75%)
Mutual labels:  convolutional-neural-networks, cnn
Mobilenet Yolo
MobileNetV2-YoloV3-Nano: 0.5BFlops 3MB HUAWEI P40: 6ms/img, YoloFace-500k:0.1Bflops 420KB🔥🔥🔥
Stars: ✭ 1,566 (+0.9%)
Mutual labels:  cnn, face-detection
Deepseqslam
The Official Deep Learning Framework for Route-based Place Recognition
Stars: ✭ 49 (-96.84%)
Mutual labels:  convolutional-neural-networks, cnn
Tensorflow Cnn Time Series
Feeding images of time series to Conv Nets! (Tensorflow + Keras)
Stars: ✭ 49 (-96.84%)
Mutual labels:  convolutional-neural-networks, cnn
Gtsrb
Convolutional Neural Network for German Traffic Sign Recognition Benchmark
Stars: ✭ 65 (-95.81%)
Mutual labels:  convolutional-neural-networks, cnn
Keras Sincnet
Keras (tensorflow) implementation of SincNet (Mirco Ravanelli, Yoshua Bengio - https://github.com/mravanelli/SincNet)
Stars: ✭ 47 (-96.97%)
Mutual labels:  convolutional-neural-networks, cnn
Pcn Ncnn
PCN based on ncnn framework.
Stars: ✭ 78 (-94.97%)
Mutual labels:  cnn, face-detection
Tiny Faces Pytorch
Finding Tiny Faces in PyTorch
Stars: ✭ 105 (-93.23%)
Mutual labels:  convolutional-neural-networks, face-detection
Deepmodels
TensorFlow Implementation of state-of-the-art models since 2012
Stars: ✭ 33 (-97.87%)
Mutual labels:  convolutional-neural-networks, cnn
Yann
This toolbox is support material for the book on CNN (http://www.convolution.network).
Stars: ✭ 41 (-97.36%)
Mutual labels:  convolutional-neural-networks, cnn
Tensorflow Cifar 10
Cifar-10 CNN implementation using TensorFlow library with 20% error.
Stars: ✭ 85 (-94.52%)
Mutual labels:  convolutional-neural-networks, cnn

Updates

Update 22/01/2020 You may be interested in following my new Youtube channel for weekly videos about Computer Vision, Machine Learning, Deep Learning, and Robotics.

Update 16/07/2019 Stable version of Deepgaze 2.0 is available on branch 2.0.

Update 20/03/2019 Started the porting on Python/OpenCV 3.0, check the branch 2.0 for a preliminary version.

Update 10/06/2017 The PDF of the article "Head pose estimation in the wild using Convolutional Neural Networks and adaptive gradient methods" is available for free download in the next 50 days using this special link

Update 04/06/2017 Article "Head pose estimation in the wild using Convolutional Neural Networks and adaptive gradient methods" have been accepted for publication in Pattern Recogntion (Elsevier). The Deepgaze CNN head pose estimator module is based on this work.

Update 31/05/2017 Implementation of the new package saliency_map.py. The package contains an implementation of the FASA algorithm for saliency detection [example] [wiki]

Update 22/03/2017 Fixed a bug in mask_analysis.py and almost completed a more robust version of the CNN head pose estimator.

What is Deepgaze?

Deepgaze is a library for human-computer interaction, people detection and tracking which uses Convolutional Neural Networks (CNNs) for face detection, head pose estimation and classification. The focus of attention of a person can be approximately estimated finding the head orientation. This is particularly useful when the eyes are covered, or when the user is too far from the camera to grab the eye region with a good resolution. When the eye region is visible it is possible to estimate the gaze direction, which is much more informative and can give a good indication of the FOA. Deepgaze contains useful packages for:

  • Head pose estimation (Perspective-n-Point, Convolutional Neural Networks)
  • Face detection (Haar Cascade)
  • Skin and color detection (Range detection, Backprojection)
  • Histogram-based classification (Histogram Intersection)
  • Motion detection (Frame differencing, MOG, MOG2)
  • Motion tracking (Particle filter)
  • Saliency map (FASA)

Deepgaze is based on OpenCV and Tensorflow, some of the best libraries in computer vision and machine learning. Deepgaze is an open source project and any contribution is appreciated, feel free to fork the repository and propose integrations.

This library is the result of a recent work, if you use the library in academic work please cite the following paper:

Patacchiola, M., & Cangelosi, A. (2017). Head pose estimation in the wild using Convolutional Neural Networks and adaptive gradient methods. Pattern Recognition, http://dx.doi.org/10.1016/j.patcog.2017.06.009.

Why should I use Deepgaze?

Because Deepgaze makes your life easier! The implementation of many algorithms such as face detectors, pose estimators and object classificators can be painful. Deepgaze has been designed to implement those algorithms in a few lines of code. Deepgaze is helpful for both beginners and advanced users who want to save time. All the code contained in Deepgaze is optimised and it is based on state-of-the-art algorithms.

What is a Convolutional Neural Network?

A convolutional neural network (CNN, or ConvNet) is a type of feed-forward artificial neural network in which the connectivity pattern between its neurons is inspired by the organization of the animal visual cortex, whose individual neurons are arranged in such a way that they respond to overlapping regions tiling the visual field. Convolutional networks were inspired by biological processes and are variations of multilayer perceptrons designed to use minimal amounts of preprocessing. They have wide applications in image and video recognition, recommender systems and natural language processing [wiki]

Main contributors

This is an updated list of the main contributors of the project. We are looking for contributors! If you want to contribute adding a new module or improving an existing one, send an email to our team!

Prerequisites

The current version of Deepgaze is based on Python 2.7, a porting for Python 3.0 has been scheduled for the next year.

To use the libray you have to install:

sudo pip install numpy
  • OpenCV 2.x (not compatible with OpenCV >= 3.x) [link]
sudo apt-get install libopencv-dev python-opencv
sudo pip install tensorflow

Some examples may require additional libraries:

Installation

ATTENTION: this version is obsolete, please check the branch 2.0 on this repository

Download the repository from [here] or clone it using git:

git clone https://github.com/mpatacchiola/deepgaze.git

To install the package you have to enter in the Deepgaze folder and run the setup.py script (it may require root privileges):

cd deepgaze
sudo python setup.py install

If you want to track all the installed files you can record the installation process in a text file using the --record flag:

sudo python setup.py install --record record.txt

Done! Now give a look to the examples below.

Examples

  • Head Pose Estimation using the Perspective-n-Point algorithm in OpenCV [code] [video]

  • Head Pose Estimation in-the-wild using Perspective-n-Point and dlib face detector [code] [video]

  • Head Pose Estimation in images using Convolutional Neural Networks [code]

  • Color detection using the Histogram Backprojection algorithm [blog] [code]

  • Skin detection using the HSV range color detector [code]

  • Face detection using the HSV range color detector [code]

  • Corner detection comparison of four algorithms on a video streaming [code] [video]

  • Motion detection and tracking using frame differencing on a video streaming [code]

  • Motion detection and tracking comparison of three algorithms on a video streaming [code] [video]

  • Motion tracking with unstable measurements using Particle Filter [code] [video]

  • Motion tracking with multiple backprojection for playing chrome's dinosaur game [blog] [code] [video]

  • Classify object using their colour fingerprint (histogram intersection) [blog] [code]

  • Implementation of the FASA (Fast, Accurate, and Size-Aware Salient Object Detection) algorithm [code] [wiki] [link]

Acknowledgements

  • The example "head pose estimation using Perspective-n-Point" is partially based on the C++ version you can find here, and on the workshop "Developing an attention system for a social robot" which was part of the 2nd International Summer School on Social Human-Robot Interaction.

  • To implement the Bayes and Particle Filters I followed the great repository of rlabbe which you can find here

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].