Eye Tracking. Contents

Similar documents
Multi-Modal User Interaction. Lecture 3: Eye Tracking and Applications

Tools for a Gaze-controlled Drawing Application Comparing Gaze Gestures against Dwell Buttons

CSE Thu 10/22. Nadir Weibel

Measuring immersion and fun in a game controlled by gaze and head movements. Mika Suokas

EyeChess: A Tutorial for Endgames with Gaze Controlled Pieces

CSE Tue 10/23. Nadir Weibel

The purpose of this document is to outline the structure and tools that come with FPS Control.

Electronic Research Archive of Blekinge Institute of Technology

USB PWM Motor 8810-D. Manual. Date : July, 2013 Version :1.0

Feedback for Smooth Pursuit Gaze Tracking Based Control

Calibration check of dosimeters measuring whole body vibrations. Calibration check bench user manual

INTRODUCTION Welcome to this guide on how to use the Extension Manager built into Clickteam Fusion 2.5.

Martin Tall, Video demonstration at

Sudoku Tutor 1.0 User Manual

Oculus Rift Getting Started Guide

Using Audacity to make a recording

Virtual Flight Academy - Quick Start Guide

Next Back Save Project Save Project Save your Story

CONTENTS INTRODUCTION ACTIVATING VCA LICENSE CONFIGURATION...

Webcam Based Image Control System

Development of a Dual-Extraction Industrial Turbine Simulator Using General Purpose Simulation Tools

AreaSketch Pro Overview for ClickForms Users

DESIGNING AND CONDUCTING USER STUDIES

INSTRUCTION MANUAL FOR ULTRASONIC/MICROWAVE SENSORS

Chanalyzer Lab. Chanalyzer Lab by MetaGeek USER GUIDE page 1

Quick Start Guide for the PULSE PROFILING APPLICATION

M-16DX 16-Channel Digital Mixer

Using low cost devices to support non-visual interaction with diagrams & cross-modal collaboration

Haptic Feedback of Gaze Gestures with Glasses: Localization Accuracy and Effectiveness

RECOGNITION OF EMERGENCY AND NON-EMERGENCY LIGHT USING MATROX AND VB6 MOHD NAZERI BIN MUHAMMAD

Getting Started with EAA Virtual Flight Academy

EyeDROID: Android eye tracking system

I2C8 MIDI Plug-In Documentation

Garageband. For. Teachers

An Escape Room set in the world of Assassin s Creed Origins. Content

Keeping an eye on the game: eye gaze interaction with Massively Multiplayer Online Games and virtual communities for motor impaired users

Sudoku Mock Test 5. Instruction Booklet. 28 th December, IST (GMT ) 975 points + Time Bonus. Organized by. Logic Masters: India

Digital Microscope. User Manual

OPERATION MANUAL MIMAKI ENGINEERING CO., LTD.

- applications on same or different network node of the workstation - portability of application software - multiple displays - open architecture

Oculus Rift Getting Started Guide

Allows user to monitor the exact usage and plan test requirements accordingly.

The introduction and background in the previous chapters provided context in

SourceXpress Waveform Creation Application Printable Help Document

USB Line Camera 8M. Coptonix GmbH

Development Kit for the Kodak Dental Imaging Software Programmer's guide

www. riseeyetracker.com TWO MOONS SOFTWARE LTD RISEBETA EYE-TRACKER INSTRUCTION GUIDE V 1.01

Copyright 2014 SOTA Imaging. All rights reserved. The CLIOSOFT software includes the following parts copyrighted by other parties:

BacklightFly Manual.

Easy Input Helper Documentation

LESSON ACTIVITY TOOLKIT 2.0

Ideal for high dynamic range measurements from compression to noise floor

Filter1D Time Series Analysis Tool

Text Input Methods for Eye Trackers Using Off-Screen Targets

Kodiak Corporate Administration Tool

Gaze-controlled Driving

AirScope Spectrum Analyzer User s Manual

User s Manual. Your Gateway to Machine Vision

Context-Aware Planning and Verification

ARCHICAD Introduction Tutorial

LV-Link 3.0 Software Interface for LabVIEW

Manual. Cell Border Tracker. Jochen Seebach Institut für Anatomie und Vaskuläre Biologie, WWU Münster

Aimetis Outdoor Object Tracker. 2.0 User Guide

Tobii Pro VR Analytics User s Manual

The University of Algarve Informatics Laboratory

SCD-0017 Firegrab Documentation

EPSON GT Scanner Parts. Scanner Specifications. Maximum document size

Getting Started. with Easy Blue Print

Capture One 4 is designed with an easy workflow in mind, and the simplified new user interface leaves more of the screen area to your images.

BrainMaster Interactor Cushion Or Vibrotactile Toy. Installation and Operation Manual

The editor was built upon.net, which means you need the.net Framework for it to work. You can download that here:

Getting Started with Kurzweil 3000 for Macintosh

Blackfin Online Learning & Development

AR Cannon. Multimodal Interfaces. Students: Arnaud Durand 1, Léonard Stalder 2, Thomas Rouvinez 3 Professors: Dr. Denis Lalane 4, May 23, 2014

Wearable Computing. Toward Mobile Eye-Based Human-Computer Interaction

WHITE PAPER Need for Gesture Recognition. April 2014

Owner s Manual. Page 1 of 23

Accuracy and precision of fixation locations recorded with the low-cost Eye Tribe tracker in different experimental setups

Recodring a Video In Youtube

RESNA Gaze Tracking System for Enhanced Human-Computer Interaction

TPADANA 2.0: DRAFT USER S MANUAL OF TPAD DATA ANALYSIS SOFTWARE

Rubik s Cube Trainer Project

Remote Sensor Manual. User Guide. Revision A.0

AWG70000A Series Arbitrary Waveform Generators Printable Help Document

LIGHT-SCENE ENGINE MANAGER GUIDE

Welcome to the Word Puzzles Help File.

Microsoft Scrolling Strip Prototype: Technical Description

Simtools - Installation

Agilent ParBERT Measurement Software. Fast Eye Mask Measurement User Guide

Quick Start Guide. RSP-Z2 Dual Channel Analog-IP Interface

Meteor Game for Multimedia Fusion 1.5

Head Tracker Range Checking

truepixa Chromantis Operating Guide

Exploration of Smooth Pursuit Eye Movements for Gaze Calibration in Games

Tobii T60XL Eye Tracker. Widescreen eye tracking for efficient testing of large media

Start Here. Installing your Microtek ScanMaker 9800XL Plus PC:

Capture One 4 is designed with an easy workflow in mind, and the simplified new user interface leaves more of the screen area to your images.

LincView OPC USER GUIDE. Enhanced Diagnostics Utility INDUSTRIAL DATA COMMUNICATIONS

Humera Syed 1, M. S. Khatib 2 1,2

Marco Cavallo. Merging Worlds: A Location-based Approach to Mixed Reality. Marco Cavallo Master Thesis Presentation POLITECNICO DI MILANO

Transcription:

Implementation of New Interaction Techniques: Eye Tracking Päivi Majaranta Visual Interaction Research Group TAUCHI Contents Part 1: Basics Eye tracking basics Challenges & solutions Example applications Programming basics Part 2: Beyond the basics Advanced examples Tips for specific cases Programming tools & APIs Project topics 1

Part 2: Beyond the Basics Eye Tracker Components Daunys et al. 2007. Eye Tracking Hardware Issues http://www.cogain.org/results/reports/cogain-d5.3.pdf Daunys et al 2006: New Approaches to Eye Tracking http://www.cogain.org/results/reports/cogain-d5.2.pdf 2

Open source & low cost solutions Opengazer (video) open-source gaze tracker for ordinary webcams http://www.inference.phy.cam.ac.uk/opengazer openeyes open-source open-hardware toolkit for (mobile) low-cost real-time eye tracking http://thirtysixthspan.com/openeyes/ http://www.cogain.org/eyetrackers/low-cost-eye-trackers UI Designs for low-cost trackers Solution Examples - Thinking outside of the box Dasher http://www.inference.phy.cam.ac.uk/dasher http://www.youtube.com/watch?v=wpoxbesrnbc EyeWrite (run) http://depts.washington.edu/ewrite/eyewrite.html peyewrite (video) http://gonzo.uni-weimar.de/~urbina/ Research/EyeTyping/English/eyetyping_en.html Stargazer http://www.itu.dk/research/inc/?p=171 3

Fixation Algorithms Dispersion based Max. area (/ distance / deviation) Min duration Velocity based Max velocity for a fixation Exceeding max saccade Salvucci and Goldberg 2000 http://doi.acm.org/10.1145/355017.355028 Example: Fixation algorithm by LC Technologies Source code available online: http://www.eyegaze.com/doc/fixationsourcecode.htm Dispersion based Gaze deviation threshold Min. number of samples (default: 3) Outlier handling Noise ignored, fixation not ended if the subsequent sample falls within threshold Blink (lost data) does not end fixation if next sample falls within the threshold 4

Context-aware fixation detection gaze point + language model gaze point + task context Salvucci 1999; Salvucci & Anderson 2000 http://www.mcs.drexel.edu/~salvucci/publications.html Expanding Targets Invisible Visible (left) Miniotas et al. 2004. http://doi.acm.org/10.1145/985921.986037 (right) Spakov & Miniotas 2005. http://doi.acm.org/10.1145/1088463.1088486 5

Example: MyTobii Web Browsing http://www.tobii.com/assistive_technology/products/mytobii_p10.aspx Drift Correction Included in modern eye trackers Dynamic drift correction Context/task dependent correction Recalculate at successful selection (note: cancel on error) Combining information from several channels User-initiated drift correction Typically 1-point recalibration Picture: Metrovision VISIOBOARD recalibration target (initiated by extra long dwell at any location) 6

Smoothing Simple averaging Averaging by n consecutive samples Weighted/evaluative averaging Take account the previous samples / average Restart/reset thresholds (distance, velocity) Outliers and data gaps (blink) Level of Smoothing Depends on application! e.g. Dasher requires fast response no/little smoothing Click by eye mouse requires stable fixation on an icon benefits from smoothing (combined with sticky fixation similar to snap-to-grid ) Context dependent averaging Snap to grid, snap to nearest object (& grab-and-hold) 7

Attentive application Example: idict & sticky, magnetic lines Filtered feedback to the user (a red dot below the text line): - y = line - x = fixation x centre Hyrskykari 2006. http://acta.uta.fi/pdf/951-44-6643-8.pdf Gaze-aware multimedia application Example: eyebook by Ralf Biedert (run) Illustrations, colors, music and sound effects change to support the reading experience 8

EyeScroll Kumar et al. 2007. http://hci.stanford.edu/research/guide/index.html See also: Numajiri et al. 2002: Speed Browser Controlled by Eye Movements Misc UI Ideas GUIDe: Gaze-enhanced User Interface Design http://www.youtube.com/watch?v=mofa9q5oc3m Kumar et al. 2007. http://hci.stanford.edu/research/guide/index.html 9

Misc UI Ideas Example: Eye-controlled Sudoku (Left) Sudoku/Road to Santiago by Javier Hernandez Sanchiz, for information & download: http://www.cogain.org/downloads/leisure-applications/road-to-santiago (Right) Sudoku by Petr Novak & Vratislav Fabian (http://cyber.felk.cvut.cz/i4c/) Tobii Programming Tobii SDK Tobii Eye Tracker Components API (COM) Tobii Eye Tracking Low Level API (DLL) Protocol API (access via TCP/IP from any OS) SDK package includes examples for C#, VC++ & VB6 Requirements Windows XP + service pack 2 (recommended) Microsoft.NET 1.1. or later Tobii Eye Tracker Server software 2.x MyTobii Partner Application SDK MPA Interface, with examples for C++ and VB6 (ETU Driver developed at UTA) 10

Tobii Eye Tracker Server TETServer Software controlling the eye tracker hardware Runs as a Windows service application Buffer for last calibration Saves last calibration on exit Tobii Eye Tracker Components API (TetComp) COM Objects Capsules Tobii low level API Provides GUI tools (activex) E.g. Calibration tools Component installation TetComp.dll, tet.dll, ttime.dll Requires Microsoft Winsock 2 library (ws2_32.dll) GdiPlus.dll, msvcp71.dll, msvcr71.dll For detailed instructions, see User s Guide to Tobii Programming Interfaces 11

TETComp Basics TetClient: get gaze data TetTrackStatus: check tracking ability TetCalibProc: calibration window TetCalibPlot: calibration result TetClient Methods User s Guide to Tobii Programming Interfaces 1.0 12

TetClient Events GazeDataDelivery - TetGazeDataDelivery_RealTime OnGazeData - TetGazeDataDelivery_Post OnPostGazeData User s Guide to Tobii Programming Interfaces 1.0 Gaze Data typedef struct TetGazeData { LONG timestamp_sec; LONG timestamp_microsec; FLOAT x_gazepos_lefteye; FLOAT y_gazepos_lefteye; FLOAT x_camerapos_lefteye; FLOAT y_camerapos_lefteye; FLOAT diameter_pupil_lefteye; FLOAT distance_lefteye; LONG validity_lefteye; FLOAT x_gazepos_righteye; FLOAT y_gazepos_righteye; FLOAT x_camerapos_righteye; FLOAT y_camerapos_righteye; FLOAT diameter_pupil_righteye; FLOAT distance_righteye; LONG validity_righteye; } TetGazeData HRESULT GetGazeData(TetGazeData* pgazedata); /* Note: */ Gaze point coordinates go from top-left (0,0) to bottom-right (1,1) Distance is measured in mm. It should be used as relative measure (e.g. glasses cause errors) User s Guide to Tobii Programming Interfaces 1.0 13

Tobii Low Level API tet.dll & ttime.dll Requires TCP/IP and UDP/IP connectivity between the application and TETServer See SDK manual for port numbers DLL function calls How to link a DLL (static at compile with.lib or dynamically during runtime using LoadLibrary()): http://en.wikipedia.org/wiki/dynamic-link_library Callbacks / threads Pay attention to timing & synchronization No GUI tools MyTobii Partner Application SDK MPA Interface For interfaces with button-like objects Gaze data filtering, focus estimation, visual feedback handled by MyTobii Implemented via Callbacks & control array MPACI RegisterMessageCallback() RegisterControls(hContainer) controldata[controlcount].hwnd = (long) hwnd; For each: x, y, width, height 14

MyTobii Emulator for Testing SMI EyeLink Programming DLL library eyelink_exptkit.dll UTA s version may be a bit outdated In-house made C++ class PIEyelink (by Poika Isokoski) Handles dynamic loading of DLL functions as needed (during runtime) 15

SMI iviewx Programming EyeMouseDrv.dll & EyeMouseConfig.dll Custom tailored for UTA s needs by SMI (in a joint project) In-house made C++ class wrapper for essential DLL function calls Handles dynamic loading of DLL functions as needed (during runtime) Misc. Implementation Tools: Grid-based Frameworks Work with any pointing device (& various other devices) Require no programming skills Example: SAW Special Access to Windows Free download: http://ace-centre.hostinguk.com Ready-made example grids See e.g. EyeMusic: http://www.cogain.org/media/videos/darteyemusic 16

Suggested project topics: Gaze + vision Topic: Gaze-enhanced First Person Shooter (FPS) Game (Aim the gun or control movements by gaze and manual gestures) Modalities: Gaze (combined with mouse and/or keyboard), computer vision Equipment: Tobii (or EyeLink) eye tracker Advisor: Päivi Majaranta, Erno Mäkinen (& Poika Isokoski) Suggested project topics: Gaze Topic: Gaze-controlled crossword puzzle (Design an interface for filling in crosswords with gaze) Modalities: Gaze (alone) Equipment: Tobii eye tracker (with MyTobii interface) Advisor: Päivi Majaranta 17

Suggested project topics: Gaze + speech Topic: Speaking with Gaze (Add speech output to eye typing, design interface for voice phone call by gaze) Modalities: Gaze input + speech output Equipment: Tobii (& SAPI) Advisor: Päivi Majaranta Suggested project topics: Gaze + speech Topic: Look-and-Speak (Point by gaze, initiate the action by voice; target application to be decided together with the students) Modalities: Gaze + speech Equipment: Tobii (& SAPI) Advisor: Päivi Majaranta (gaze) & Markku Turunen (speech) 18

Suggested project topics: Gaze Topic: Gaze-Controlled Game Classics (Take any classic game & make it more fun by adding gaze input -- or make it totally controlled by gaze to make it possible to play by a disabled person, see http://en.wikipedia.org/wiki/list_of_open_source_games) Modalities: Gaze (alone or combined with any other modality) Equipment: Tobii eye tracker (with MyTobii interface) Advisor: Päivi Majaranta See also: http://www.cogain.org/links/gaze-controlled-games Suggested project topics: Gaze +? You are free to invent a topic of your own! Especially, good ideas for gaze-aware (attentive) applications are welcome! 19

Thank you for your attention! Have fun with the project work! 20