README.md 5.6 KB

Here we provide 15 360-degree equirectangular videos, togeher with eye tracking recordings of 13 subjects and a manually labelled ground-truth subset of all gaze recordings. Finally we also provide a algorithmic implemetntation of the the process that was followed during manual labelling.

1. CONTENT

Before starting using the provided algorithms of this repository you should first clone (or download) the matlab_utils repository that offers utilities for mainly handling ARFF files from here. We also need to clone the matlab_360_utils repository that offers utilities for handling 360-degree data from here. Then add the previous folders to the search path of Matlab with the pathtool or addpath commands.

1.1 Video Stimuli

We used as an approximation to naturalistic stimuli 14 Youtube videos from diverse contexts. The videos were published under the Creative Commons license and we give attribution to the original creators by attaching the Youtude IDS at the end of each video clip.

A single syntetic stimulus was created by the authors and comprises of a moving target, which tries to elicit many different kinds of eye motion (i.e. fixations, saccade, SP, head pursuit, VOR, OKN).

Files found in videos.

1.2 Gaze Recordings

In total 13 subjects participated in our study, which amounts to ca. 3.5 hours of eye tracking data. Information about the participants can be found here.

Gaze files are found in gaze folder.

1.3 Ground Truth

we manually labelled part of the full data set accroding to the rules presented in our paper. The labelled gaze recordings were split in two non overlapping (subject wise) subsets, where one can be use as training and the other as testing. In total the hand-lablled portion comprise of 2 labelled gaze files per video stimulus and about 16 % of the data.

Manually annotated ground-truthf files are found in ground_truth folder.

1.4 Algorithmic Implemetation

We provide an algorithmic implementation for eye movement classification based on the definitions that we provied in our paper. The resulting eye movements adter applying our algorithms to ground truth files can be foundin the relevant files.

Algorithms and their output are found in em_algorithms, output_I-S5T_combined, output_I-S5T_FOV, output_I-S5T_E+H folders.

2. DATA FORMAT

All the function use the ARFF data format for input and output to the disk. The initial ARFF format was extended as described in Agtzidis et al. (2016) and was further expanded for 360-degree gaze data.

Here the "@RELATION" is set to gaze_360 to distinguish the recordings from plain gaze recordings. We also make use of the "%@METADATA" special comments which describe the field of view of the used headset. Apart from the default metadata width_px, height_px, distance_mm, width_mm, height_mm we also use the extra metadata fov_width_px, fov_width_deg, fov_height_px, fov_height_deg that describe the headset properties.

The "@ATTRIBUTE" x and y represent the gaze coordinates in the equirectangular space (i.e. the head and eye position together). The x_head and y_head attributes represent head coordinates in the equirectangular space. The angle_deg_head attribute is equivalent to the roll principal axis.

2.1 ARFF Example

@RELATION gaze_360

%@METADATA distance_mm 0.00
%@METADATA height_mm 0.00
%@METADATA height_px 1080
%@METADATA width_mm 0.00
%@METADATA width_px 1920

%@METADATA fov_height_deg 100.00
%@METADATA fov_height_px 1440
%@METADATA fov_width_deg 100.00
%@METADATA fov_width_px 1280

@ATTRIBUTE time INTEGER
@ATTRIBUTE x NUMERIC
@ATTRIBUTE y NUMERIC
@ATTRIBUTE confidence NUMERIC
@ATTRIBUTE x_head NUMERIC
@ATTRIBUTE y_head NUMERIC
@ATTRIBUTE angle_deg_head NUMERIC
@ATTRIBUTE labeller_1 {unassigned,fixation,saccade,SP,noise,VOR,OKN}


@DATA
0,960.00,540.00,1.00,960.00,540.00,1.22,fixation
5000,959.00,539.00,1.00,959.00,539.00,1.23,fixation
13000,959.00,539.00,1.00,959.00,539.00,1.23,fixation
18000,959.00,539.00,1.00,959.00,539.00,1.23,fixation
29000,959.00,539.00,1.00,959.00,539.00,1.24,fixation
34000,959.00,539.00,1.00,959.00,539.00,1.24,fixation
45000,959.00,539.00,1.00,959.00,539.00,1.24,fixation
49000,959.00,539.00,1.00,959.00,539.00,1.24,fixation
61000,959.00,539.00,1.00,959.00,539.00,1.24,fixation
66000,959.00,539.00,1.00,959.00,539.00,1.24,fixation
77000,959.00,539.00,1.00,959.00,540.00,1.24,fixation
82000,959.00,539.00,1.00,959.00,540.00,1.24,fixation
94000,959.00,539.00,1.00,960.00,540.00,1.24,fixation
99000,959.00,539.00,1.00,960.00,540.00,1.24,fixation
110000,959.00,539.00,1.00,960.00,540.00,1.25,fixation
114000,959.00,539.00,1.00,960.00,540.00,1.25,fixation
125000,958.00,538.00,1.00,960.00,540.00,1.26,saccade
129000,956.00,537.00,1.00,960.00,540.00,1.27,saccade
141000,948.00,530.00,1.00,960.00,540.00,1.28,saccade

2.2 Recovery of HMD Pose

The x_head, y_head, angle_deg_head allow us to recover the headset pose because we use 360-degree equirectangular videos and therefore exist no translations during video presentation. For understanding the process take a look at functions HeadToVideoRot.m and YZXrotation.m in the matlab_360_utils repository.

3. General Information

Author: Ioannis Agtzidis

Contact: ioannis.agtzidis@tum.de