Permalink
Newer
Older
100644 54 lines (32 sloc) 3.16 KB
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
1 # EyeTab
2
Mar 26, 2014 @errollw README updates
3 _EyeTab_ is a __3D model-based gaze tracker__ that runs entirely on unmodified commodity tablet computers, taking their limited computational resources and low quality cameras into account.
4
Mar 26, 2014 @errollw README image edits
5 ![Image of EyeTab](https://raw.githubusercontent.com/errollw/EyeTab/master/EyeTab.jpg "Image of EyeTab")
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
6
Apr 7, 2014 @errollw Updated ReadMe
7 The code is available in three forms:
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
8
Mar 26, 2014 @errollw README updates
9 * `EyeTab` – A demonstration version which runs on a supplied example video file.
10 * `EyeTab_SP2` – An interactive version developed for a _Microsoft Surface Pro 2_. This should also work on other devices with small tweaks.
Apr 7, 2014 @errollw Updated ReadMe
11 * `EyeTab_Python` – A previous iteration of the system written in Python. This was developed rapidly as a prototype so is only included for your curiosity, it is not documented or supported.
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
12
Apr 7, 2014 @errollw Updated ReadMe
13 The project's webpage can be found [here](http://www.cl.cam.ac.uk/research/rainbow/projects/eyetab/).
14
15 A video of the system in action (Python version) can be seen [here](https://www.youtube.com/watch?v=lPcjQdSzKX4).
16
17 ### Publication
18
19 *Erroll Wood and Andreas Bulling. 2014. EyeTab: model-based gaze estimation on unmodified tablet computers. In Proceedings of the Symposium on Eye Tracking Research and Applications (ETRA '14)* [[available at ACM-DL]](http://dl.acm.org/citation.cfm?id=2578185&CFID=433705372&CFTOKEN=17651040)
20
21 If you use or extend EyeTab code in full or in part, please cite the paper above.
Mar 26, 2014 @errollw Added a link to the Rainbow Group project page
22
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
23 ## System overview
24
Mar 26, 2014 @errollw README updates
25 We track gaze by modelling the iris as a 2D ellipse in an image, and _back-projecting_ this to a 3D circle, getting the real-world position and orientation of the iris. We take the normal vector of this to be the gaze direction.
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
26
Mar 26, 2014 @errollw README updates
27 The system has three main components:
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
28
Mar 26, 2014 @errollw README updates
29 1. We first precisely find regions-of-interest for the eyes in an image.
30 2. Then we robustly fit a 2D ellipse to each _limbus_ – the boundary between iris and sclera.
Mar 26, 2014 @errollw README edits
31 3. We finally back-project these to 3D circles, and intersect their normals with the screen for a point-of-gaze.
Mar 26, 2014 @errollw README updates
32
33 # Deployment instructions
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
34
Mar 26, 2014 @errollw README updates
35 A rough guide for setting this code up from scratch:
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
36
Mar 26, 2014 @errollw README updates
37 1. Open the solution file `EyeTab.sln` in Visual Studio. I used VS2012.
38 2. Add dependencies to Visual Studio' _Additional include directories_ field, _Additional library directories_ field, and as _Additional input_ in the linker.
Apr 7, 2014 @errollw Updated ReadMe
39 3. Include the `EyeTab` header files in the `EyeTab_SP2` project.
40 4. Ensure the required `.dll`s can be found on your `PATH` or in Visual Studio's debugging environment.
41 5. Build and run the solution.
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
42
43 ## Dependencies
44
45 The system has several dependencies:
46
Mar 26, 2014 @errollw README updates
47 * [OpenCV](http://opencv.org/) – a multi-purpose computer vision library
48 * [TBB](https://www.threadingbuildingblocks.org/) – for parellization
49 * [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page) – provides vector maths
Mar 25, 2014 @errollw Updated SP2 version, started work on readme
50
Mar 26, 2014 @errollw README updates
51 In addition, the SP2 version of the system depends on [VideoInput](// see: http://www.codeproject.com/Articles/559437/Capturing-video-from-web-camera-on-Windows-and) for providing high-resolution access to the front-facing camera. OpenCV's camera API is broken and does not support this. This library `videoInput.lib` is supplied.
Mar 26, 2014 @errollw README edits
52
53 __NOTE:__ The VideoInput library only works when targeting 32-bit, but the rest of the system works fine with 64-bit.