Využití časových řad v analýze dat z eye tracking systému
Autor: Bc. Jan Procházka | Vedoucí práce: Doc. Mgr. Jiří Dvorský, Ph.D. |
Po seznámení se s problematikou eye-tracking systému a nastudování principu fungování algoritmů pracujících s časovými řadami, především pak Voting Experts a DTW (Borcení časové osy) algoritmu, včetně jejich nejrůznějších modifikací bylo definovat vhodné úlohy, nad kterými by bylo prováděno testování eye-tracking systémem.
Jelikož již dříve bylo Mgr. Stanislavem Popelkou a Mgr. Alžbětou Brychtovou řešeno na Katedře geoinformatiky Univerzity Palackého v Olomouci testování zkoumající rozdílnosti vnímání mezi 2D a 3D mapami, bylo se svolením autorů testů rozhodnuto, že bude k potřebám práce využito část těchto naměřených dat.
Pro potřeby pozdější práce bylo však nutné tyto experimentální data předzpracovat a upravit je do potřebné podoby. V programu MATLAB byl tedy vytvořen skript, který nejprve načte potřebné hodnoty z dat neměřených eye-trackingem pro libovolně zvoleného uživatele nad vybraným stimulem (zkoumaným obrazem). Vzhledem k tomu, že data obsahují přesný záznam toho, kam všude se uživatel díval, jedná se o velmi složitou a často nepřehlednou křivku. Aby bylo možné následně porovnávat jednotlivé segmenty této křivky bylo třeba záznam zjednodušit. K tomuto účelu byla použita dolní propust (Low-pass filter). Skript následně vykreslil graf a obrázek jak data vypadaly před a po použití filtru. Další součástí skriptu bylo rozdělení vstupních dat na fixace a sakády. Toho bylo docíleno metodou, kdy na základě výpočtu hodnot délek mezi dvěma sousedními body křivky byla rovněž vypočtena průměrná hodnota těchto délek a ta byla definována jako prahová hodna. Potom všechny body křivky nad touto hodnotou byly označeny za sakády a body křivky pod prahovou hodnotou za fixace. Aby bylo i lépe graficky názorné, jak uživatel vnímal předloženou mapu bylo použito jedné z klasických vizualizačních metod nad daty eye-tracking systému - HeatMap. HeatMapa byla vypočtena konvolucí s Gaussovou funkcí. Jelikož bylo rozhodnuto, že hledání podobných segmentů bude následně prováděno pouze nad sakádama, poněvadž v místech fixací by nalezené segmenty příliš nevypovídaly o komplexním principu čtení mapy, byly rovněž vykresleny tyto sakády nad danou mapou. Poslední součástí skriptu bylo vypočítání polárních souřadnic a euklidovské vzdálenosti dvou sousedních bodů každému bodu definujícímu polohu sakád (důvod bude uveden níže). Tyto hodnoty byly společně s X a Y souřadnicemi bodů zapsány do samostatných textových souborů.
Pro názornou ukázku toho, kam všude a jak dlouho se uživatel na předkládanou mapu díval byl vytvořen další skript, který generuje videozáznam s těmito informacemi. Bylo použito podobné metodiky jako při vykreslování HeatMap.
Jako zvolená implementace Voting Experts algoritmu byl použit program vytvořený Ing. Tomášem Kocyanem. Jedná se o program jenž využívá Voting Experts algoritmus obohacený o oboustranný průchod a tzv. DTW postproces. Aby zde byly vhodně nastaveny parametry, byly v Inkscapu vytvořeny vzorové obrázky, na kterých bylo nastavení těchto parametrů testováno.
Jelikož zmíněný program je primárně vytvořen pro vstupu dat v jedno-číselném, případně textovém formátu bylo potřeba vymyslet, jak do něj nahrát data ve dvou-číselném zápise (poloha oka X a Y). Prvotním pokusem bylo využít Mortonova rozkladu (Z-order), což se ovšem nakonec ukázalo jako ne příliš vhodná varianta. Proto bylo vytvořeno pět dříve zmíněných textových souborů - poloha X, poloha Y, poloha ϕ, poloha r a poloha euklidovské vzdálenosti. Tyto soubory následně vstupovaly do programu samostatně výstupem bylo opět pět souborů, kde každý obsahoval počty hlasů od hlasujících expertů.
Pro konečné rozhodnutí, kde budou sakády rozděleny na kratší segmenty byl vytvořen třetí skript. Ten sečetl hlasy ze všech pěti textových souborů a na základě zadané prahové hodnoty provedl řezy nad křivkou, výsledné segmenty graficky zvizualizoval a uložil do textového souboru.
Aby bylo možné výsledné segmenty mezi sebou vzájemně porovnat, byla vymyšlena metodika, kdy se nad každým segmentem vypočítalo těžiště a se středem v tomto těžišti se vytvořil šestnácti-dílný prostor. Následně bylo vypočteno kolik bodů daného segmentu spadá do každého dílu takto vzniklého prostoru, čímž byly vytvořeny tzv. histogramy četností bodů, příslušných k danému rozdělení prostoru. Na závěr byly dle těchto hodnot histogramů určeny podobnosti jednotlivých segmentů.
© 2013 Jan Procházka, Katedra geoinformatiky, Přírodovědecká fakulta, Univerzita Palackého v Olomouci, honzaproch@centrum.cz |