Fixačný filter Implementácia I-VT Martin Konôpka
Analýza dát sledovania pohľadu Zaznamenávame pohyby oka Sledujeme záujem používateľa, načo sa pozerá Aké informácie prijal a spracoval pomocou zraku Hlavné typy pohybu očí Fixácie – krátka stabilizácia pohľadu Sakády – rýchly prechod medzi fixáciami Smooth pursuit – sledovanie
Pohyby očí Sakády Fixácie Vizualizácia, metriky, v spojení s AOI... Balistický pohyb, prestrelenia Aj 300-600°/s, 80-150ms Saccadic suppression – mozog odmieta informácie z očí Fixácie Stabilizácia – oko je stále v pohybe, inak rozmazanie obrazu Vizualizácia, metriky, v spojení s AOI...
Metóda sledovania pohľadu Video záznam používateľa Infračervené svetlo, odraz od rohovky Pozícia oka v priestore (trackbox) Tobii Analytics SDK: Developer’s Guide.
Metóda sledovania pohľadu (2) Vytvorenie matematického modelu oka Naučenie sa tvaru odrazu rohovky Vektor pohľadu Pretnutie s plochou 2D pozícia na obrazovke Tobii Analytics SDK: Developer’s Guide.
Dáta zo sledovača pohľadu 60/120/300/500 Hz frekvencia 2D pozícia na obrazovke, 3D vektor pohľadu, 3D pozícia očí { "TobiiTicks": 1512567268378446, "Validity": "Both", "LeftEye": { "Validity": "Valid", "GazePoint2D": { X, Y }, "GazePoint3D": { X, Y, Z }, "EyePosition3D": { X, Y, Z }, "EyePosition3DRelative": { X, Y, Z }, "PupilDiameter": 4.47697 }, “RightEye” : { … }, }
Identifikácia fixácií – rozptyl bodov Stabilizácia v pohybe – stabilizácia bodu pohľadu (gaze point) Vzdialenosti bodov pohľadu – Krátka vzdialenosť? Fixácia! Zhlukovanie I-DT Dispersion fixation filter Rozlíšenie obrazovky a DPI Veľkosť displeja a PPI Vzdialenosť od displeja https://www.tobiipro.com/learn-and-support/learn/steps-in-an-eye-tracking-study/data/how-are-fixations-defined-when-analyzing-eye-tracking-data/
Identifikácia fixácií – rýchlosť oka Fixácie a sakády vyplývajú zo zmien v rýchlosti oka Uhlová rýchlosť oka nad prahovú hodnotu – Fixácia! I-VT Velocity-threshold fixation filter Teoreticky vyhodnocuje v reálnom čase, „najľahší na implementáciu“ Olsen. 2012. The Tobii I-VT Fixation Filter. Tobii Pro.
I-VT fixačný filter V Tobii Studio, parametrizovateľná Kód od Andrewa Duchowskeho (PeWe repo) I-VT filter je „on-line“ filter Vlastná implementácia podľa Tobii špecifikácie Integrovanie do GazeHooku Zdrojový kód + knižnica + cmd line https://www.tobiipro.com/learn-and-support/learn/steps-in-an-eye-tracking-study/data/how-are-fixations-defined-when-analyzing-eye-tracking-data/
Fixačný filter v GazeHook Identifikácia fixácií a sakád pre nahrávanie 1 nastavenie, 1 vyhodnotenie, 1 výsledok Možnosť vyhodnotiť fixácie po nahrávaní Mať kontrolu nad nastavením parametrov Uviesť v práci a prezentácií výsledkov Algoritmus, zdroj, nastavenia, surové dáta
Kroky Tobii I-VT filtra
Pseudokód „Velocity-threshold fixation identification (I-VT) is the simplest of the identification methods to understand and implement.“ Salvucci & Goldberg. 2000. Identifying Fixations and Saccades in Eye-Tracking Protocols. Proceedings of the Eye Tracking Research and Applications Symposium. ACM, NY, USA, pp. 71-78.
1. Doplnenie chýbajúcich dát Eye tracker stratil oči, žmurknutie Používateľ sa pozrel mimo obrazovku, nekvalitné dáta...
1. Doplnenie chýbajúcich dát Okrem žmurknutí, prahová hodnota (75 ms) Lineárna interpolácia
2. Výber oka Pre použitie v ďalších krokoch Výber podľa surových dát Ľavé Pravé Priemer – priemer, ak obe, inak ľavé alebo pravé Striktný priemer – musia byť obe Výber podľa surových dát
3. Odstránenie šumu Vyhladenie dát Moving average – okno veľkosti 5 vzoriek Median – 5 vzoriek Exponential – alpha ~ 0.3
4. Výpočet uhlovej rýchlosti oka Pre každú vzorku podľa krajných vzoriek v okne (20 ms) Počet vzoriek v okne závisí od frekvencie eye trackera (60 Hz vs 300 Hz) Uhlová rýchlosť pre každú vzorku [°/s] Kosínusová veta
4. Výpočet uhlovej rýchlosti oka
4. Výpočet uhlovej rýchlosti oka
5. Klasifikácia vzoriek na fixácie/sakády Porovnanie rýchlosti oka v každej vzorke voči prahovej hodnote „Velocity threshold“ >30ms – sakáda, inak fixácia Ak vzorka nie je platná, tak ju neklasifikujeme (neznámy pohyb)
5. Klasifikácia vzoriek na fixácie/sakády
5. Klasifikácia vzoriek na fixácie/sakády
5. Klasifikácia vzoriek na fixácie/sakády Agregácia vzoriek s rovnakou triedou Výpočet priemernej vzorky – centroid - miesto fixácie Začiatok, koniec a trvanie fixácie
5. Klasifikácia vzoriek na fixácie/sakády
5. Klasifikácia vzoriek na fixácie/sakády
6. Zlúčenie fixácií tesne po sebe 7. Odstránenie krátkych fixácií Krátke sakády medzi fixáciami – spoločná fixácia Maximálny čas medzi fixáciami – 75ms Maximálny uhol medzi fixáciami – 0,5° Odstránenie krátkych fixácií Minimálne trvanie fixácie 60ms
K implementácii C#, Reactive Extensions
„On-line“ filter Dáta pohľadu – prúd dát Každý zo 7 krokov môžeme vyhodnocovať priebežne Opozdenie kvôli oknám pre vypĺňanie medzier, zlučovanie vzoriek Pipes and filters Implementácia v C# pomocou Reactive Extensions Spracovanie dát v reálnom čase, vizualizácia v GazeHook http://reactivex.io/
Použitie Integrované do GazeHook Len s reálnym trackerom (simulátor čaká aktualizácia) Vstup dáta z GazeHook (UXC), dáta z Tobii Studio Pomocou cmd line nástrojov pre každý krok algoritmu fillingaps data.json --max-gap 75 | select --select Average | denoise exponential --alpha 0.3 | velocity --frequency 60 -w 20 | vt-classify --threshold 30 | merge -g 75 -a 0.5 | discard -d 60 > fix.json Použitie iba niektorých krokov, debug, vizualizácia
Kde to nájdem a čo s tým GitHub Máte chuť... Skutočne on-line Čoskoro, pôjde e-mail (chce to len readme a code review) Máte chuť... Webová služba Python port / použitie v Jupyter Porovnať voči Tobii Studiu Skutočne on-line
Smooth pursuit