GithubHelp home page GithubHelp logo

personalrobotics / eyerectoo_pupil Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tcsantini/eyerectoo

2.0 3.0 1.0 75.3 MB

PRL Fork of https://atreus.informatik.uni-tuebingen.de/santini/EyeRecToo

License: Other

QMake 1.59% C++ 98.41%

eyerectoo_pupil's Introduction

EyeRecToo

Original GitLab link: https://atreus.informatik.uni-tuebingen.de/santini/EyeRecToo

This is the PRL fork of EyeRecToo, a gaze tracking software suite. This software, along with the UVC Engine, enables eye and gaze tracking with the Pupil Labs headset. Changes have been made to allow building and running on Ubuntu 14.04. This repo assumes use of the Pupil Labs headset.

Dependencies and Building

Running EyeRecToo on Ubuntu with the Pupil Labs headset requires the following dependencies:

  1. openCV 3.2.0
  2. libjpeg-turbo
  3. uvcengine

To run the Pupil Labs headset, you will need to install the UVC Engine plugin first : https://github.com/personalrobotics/uvc_engine_pupil. This is dependency 3 listed above.

Note: Building the UVC Engine from the above repo will install it as a Qt plugin. If the make process finishes, you’re probably good to go.

Also remember that you’ll need Qt 5.7.0 to actually build and run EyeRecToo, just like the UVC Engine. Make sure to build everything (EyeRecToo and UVC Engine) in release mode with Qt.

Both Release and Debug versions are functional although the latter may run at a low sampling rates.

Installing OpenCV 3.2.0

This can be a little tricky. EyeRecToo requires OpenCV to be built and installed with the extra modules like Aruco. In addition, building with the extra modules seems to be broken on Master for OpenCV at the time of writing (10/4/17).

First, download version 3.2.0 of OpenCV and the extra modules from these URLs:

OpenCV 3.2.0: https://github.com/opencv/opencv/releases/tag/3.2.0

OpenCV 3.2.0 Extra Modules: https://github.com/opencv/opencv_contrib/releases/tag/3.2.0

Now extract both zip files in the same location (i.e. your home folder). After that, follow these steps:

cd opencv-3.2.0

mkdir build

cd build

cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules/ -D CMAKE_BUILD_TYPE=RELEASE ..

make

sudo make install

sudo ldconfig

This will build and install OpenCV 3.2.0 with the extra modules.

Installing libjpeg-turbo

Much simpler. From the Pupil Linux docs:

wget -O libjpeg-turbo.tar.gz https://sourceforge.net/projects/libjpeg-turbo/files/1.5.1/libjpeg-turbo-1.5.1.tar.gz/download

tar xvzf libjpeg-turbo.tar.gz

cd libjpeg-turbo-1.5.1

./configure --with-pic --prefix=/usr/local

sudo make install

sudo ldconfig

Note: You may need to edit the .pro file to point to the install locations of these dependencies. Assuming you start from scratch and follow these directions, you shouldn't have to (unless they somehow end up in wierd locations).

Running

Now, actually build EyeRecToo (qmake with QT and the .pro file, and then the standard make command).

Once you’ve finished the above, you just need to add the locations of your openCV and libjpeg-turbo to your $LD_LIBRARY_PATH environment variable. You also need to run the built EyeRecToo executable with sudo so libusb can actually read the USB device names- otherwise, things won’t work.

The following command should work if you've followed this guide (it's a bit hacky though):

sudo LD_LIBRARY_PATH=/usr/local/lib/ ./EyeRecToo

Also, you might see two entries for each Pupil Camera (so 6 total). Don’t freak over this. One of the two entries uses GStreamer, and will probably crash. The other one is using the UVC Engine. Pick that one.

Questions

Email [email protected].

eyerectoo_pupil's People

Contributors

tcsantini avatar evil-sherdil avatar

Stargazers

Calvin Kam avatar LiuBo avatar

Watchers

Michael Koval avatar Siddhartha Srinivasa avatar  avatar

Forkers

stefanos19

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.