Skip to content

VR Tool to Test the Accuracy of the Pupil Labs Eye Tracking Devices (Unity 2018.2.7f1)

License

Notifications You must be signed in to change notification settings

med-material/VREyeTrackingAccuracyTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VR Eye Tracking Accuracy Test

VR Eye Tracking Accuracy Test is a Unity App to measure eye tracking accuracy in a VR headset.

VR Eye Tracking Accuracy Test Screen

About

VR accuracy test is used to determine accuracy of eye tracking devices. It includes features...

  • Integration for Pupil Labs Eye Trackers.
  • User interface for person in non-VR (facilitator), to control the test.
  • Shows results of the test, after the test has finished.
  • Ability to upload data to database and visualize with R Shiny.

VR Eye Tracking Accuracy Test was made with Unity and use C# scripts.
VR Tool to Test the Accuracy of the Pupil Labs Eye Tracking Devices mounted in a VR Headset (Tested for HTC Vive).

Why use this project?

This test can be run before use eye tracking into an other project and know exactly if eye tracking work good or not. So after you run this test, you can know if the patient sees correctly or if you have any imprecision with the eye tracking.

Who can use this project?

Anyone want to know the accuracy from his vr eye tracking stuff, can use this project to know it before run an other program.
It can be a doctor to test the view of a patient, and detect any potential disease.


Pupil Lab plugin

Pupil plugin picture
Integrate an open source eye tracking platform, with an active community to always maintain new features and improve the system.
Find the pupil plugin version used in this project here: Pupil plugin installed

UI to control the test

User interface for person in non-VR (facilitator), to control the test is implemented. So the facilitator can follow all the test in real time, show the results at the end and configure it.
UI configuration screen

Show results immediately

At the end of test, you cah show directly in the app, the results of the participant. We can show the eye tracking stuff accuracy and the gaze of participant.
UI results screen

RShiny App

A RShiny App was made in parallel of this project to visualize the data collected in the database. The current App show you the eye tracking accuracy of a selected participant or all participant. You can also choose the target.
RShiny App UI Find the RShiny App in this repository: VREyeTrackingAccuracyShinyApp

Contributors

Done at Aalborg University.

  • Bastian ILSO - Owner - MED Material
  • Yohann NERAUD - Developer - Git
  • Romain JUNCA - Developer - Git
  • Arthur SALVAT - Developer - Git
  • Tanguy BLOCHET - Developer - Git
  • Alexandre MONNIER - Developer

Technical details

Getting started

To use this project on your computer, just check releases and find the App to run it or UnityPackage to add it into your Unity project.
Releases VREyeTrackingAccuracyTest page

Eye Tracker Data Collection in the Accuracy Test

With this package you’re going to have logs saved in your “My Documents” file, “_GazeData” and then the file at the current date (e.g. 01-29-19) and finally the .csv file with the time where you started the application + the id (e.g. 02-43-00_id-778899.csv).
Logs the accuracy for each circle and how much time the participant had to diminish it.

  • User ID: user's ID letters / numbers included, some special char that can't be saved as filename won't be saved (e.g. User123)
  • Date - Time: date and time you started the application (e.g. 01/29/19 - 03:01:17)
  • Wearing make-up: Is the user wearing make-up (e.g. Yes or No)
  • Wearing glasses: Is the user wearing glasses (e.g. Yes or No)
  • Gaze dot displayed: Is the gaze dot displayed or not (e.g. Yes or No)
  • Grid displayed: Is the grid displayed or not in the accuracy test, the grid where the target (circles) appear (e.g. Yes or No)
  • Using input: Is the user using input (spacebar) to switch targets in accuracy test scene (e.g. Yes or No)
  • Target lifespan (ms): Lifespan of the targets if the input mode is off (e.g. 4500)
  • Session Time: sessions timer, application running since, in seconds (e.g. 58.432)
  • Scene Name: current Unity scene's name
  • Event Name: current event running during the calibration and accuracy test (e.g. Calibration is running, Accuracy Test is counting down, Accuracy Test is running, Accuracy Test ended)
  • Scene Timer: current Unity scene's timer, Unity scene running since, in seconds (e.g. 58.432)
  • framerate: current framerate fps (e.g. 60)
  • circle_pos_x: target's x position on the accuracy test on the grid (-30 left 0 middle 30 right)
  • circle_pos_y: target's y position on the accuracy test on the grid (-30 down 0 middle 30 up)
  • pupilData_gaze_x: viewport x position
  • pupilData_gaze_y: viewport y position
  • gaze_on_grid_x: gaze point x position on the grid on the accuracy test scene (e.g. 28)
  • gaze_on_grid_y: gaze point y position on the grid on the accuracy test scene (e.g. 16)
  • Left_eye_conf: left eye confidence (0 to 1 => 0 to 100%)
  • Right_eye_conf: right eye confidence (0 to 1 => 0 to 100%)
  • gaze_confidence: both eyes confidence (0 to 1 => 0 to 100%)
  • circle_radius: targets current radius on the accuracy test scene (e.g. 8.6)
  • Offset X: current offset on X axis from the center of the current target in circle test scene (e.g. 45)
  • Offset Y: current offset on Y axis from the center of the current target in circle test scene (e.g. 38)
  • Time_To_First_Fix: time to first fix on the current target, NaN until we look at the current target and stay at the same time in seconds (e.g. 4.889)