shoeffner / gaze Goto Github PK
View Code? Open in Web Editor NEWGaze tracking using ordinary webcams (eye tracking works, gaze tracking not). My master's thesis project.
Home Page: https://shoeffner.github.io/gaze
License: MIT License
Gaze tracking using ordinary webcams (eye tracking works, gaze tracking not). My master's thesis project.
Home Page: https://shoeffner.github.io/gaze
License: MIT License
This will allow to accurately project the detected pupil into 3D space to eventually cast a ray onto the screen.
E.g. Vatahska et al. (2007): Feature-based Head Pose Estimation from Images.
https://www.hrl.uni-bonn.de/papers/vatahska07humanoids.pdf
However, this paper uses some trained classifiers which are not available online (maybe they were in the past, see http://hrl.informatik.uni-freiburg.de/publications/archive/ which links to the dead http://planning.cs.cmu.edu/humanoids07/index.shtml (Archive's 2011 version https://web.archive.org/web/20110612050832/http://planning.cs.cmu.edu:80/humanoids07/papers.shtml does not have links to the models either, it seems). The conference website is also missing (https://www.ieee.org/conferences_events/conferences/conferencedetails/index.html?Conf_ID=13447 links to humainoids2007.org ).
Create Python bindings to use gaze within Python scripts.
As a start I shall focus on a 4x3 grid or similar.
Dependencies:
Build steps:
./configure.sh
make install
Usage instructions:
Explanations:
Other:
Known issues:
GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
-> seems to be unimportantobjc[52475]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fffb5c01a70) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x128c08cd8). One of the two will be used. Which one is undefined.
Might be fixed (2017-12-28)Make it possible to configure how the camera is positioned in relation to the screen.
First step might be to hard-code a macbook's camera position.
With the version from 7a20c35 onwards, video files will never end.
Implement a reader to read the data from #8. This should allow for offline debugging. (Just use visualization steps and no processing steps).
Configuration file:
Optional:
Stretch:
In general:
In this issue I will write down some notes for the thesis, especially decisions during the implementation process.
Use the following to keep up with changes in APIs automatically:
for (auto i = decltype(boundary_var){0}; i < boundary_var; ++i) {
}
This will avoid having to figure out what type boundary_var has (int
, unsigned long
, unsigned int
, ...) and in case of const
decltypes drop the const due to moving to an auto type. See https://stackoverflow.com/a/19236169/3004221 and the interesting post linked there: http://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/ .
Timm and Barth (2011): Accurate eye centre localisation by means of gradients.
See for an implementation e.g. https://github.com/trishume/eyeLike .
Libraries not covered yet:
CMake's configure_file can change the Doxyfile already. Currently (d5ea815) the docs
target uses a Python script and multiple generated Doxyfiles to achieve the same.
http://dlib.net/imaging.html#get_frontal_face_detector seems to be a good option for face pose tracking (thanks to @ahoereth and Jonas Kindler.) Evaluate its usability.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.