BAKALÁRSKA PRÁCA

Využitie eyetrackingu vo Virtuálnej terapii

Anotácia
Práca je zadávaná v spolupráci s FSEV UK. Pôjde o doplnenie funkcionality eyetrackingu do virtuálnej terapie, zber dát, analýzu dát a preskúmanie metód na vizualizáciu týchto dát pre spolupracujúce psychologičky.
Autor: Zuzana Matúšková
Akademický rok: 2024/2025
Kontakt: matuskova87@uniba.sk
Názov práce: Využitie eyetrackingu vo Virtuálnej terapii
Meno školiteľa: RNDr. Zuzana Berger Haladová, PhD.

Denník

Tyzden 0

Oboznámenie sa s existujúcim projektom virtuálna terapia a s nástrojmi pre nadchádzajúcu prácu (eyetracker HTC Vive Pro, Unity, SteamVR, TobiiXR,...). Vytvorenie projektu a nastavenie všetkých zariadení/softvérou. Práca na zbere dát, jednoduché výpisy v textovom súbore s časom a názvom objektu, na ktorý je pohľad zameraný. (Časť pre eyetracking nefunguje. Eyetracker nepoužíva smer pohľadu oka, ale len "nose direction", teda natočenie headsetu. Ostatné projekty na školskom headsete fungujú a problém je len v nastavení projektu, no kolegovia pracujúci s eyetrackerom nevedia, kde daný problém vzniká.)

Tyzden 1 (24.2. - 2.3.)

Pokračovanie v práci na zbere dát. Okrem textových dát sa ukladá aj screenshot obrazovky, ktorý v tom momente pozorovateľ vidí. Hľadanie riešenia pre nefungujúci eyetracking.

Tyzden 2 (3.3. - 9.3.)

Práca na vizualizácii dát - vytváranie python scriptu. Zatiaľ dokáže program zobraziť tabuľku s údajmi z eyetrackera.

Tyzden 3 (10.3. - 16.3.)

Úprava python scriptu, komunikácia ohľadom heart rate monitora a dát z neho, riešenie prístupu k existujúcemu Unity prejektu Virtuálnej terapie.

Tyzden 4 (17.3. - 23.3.)

Práca na zbere dát. Okrem screenshotu sa už na obrázku zobrazuje aj bod, na ktorý bol pozorovateľ zameraný. Tiež sme porovnávali rôzne možnosti ukladania dát; formát, rozlíšenie,... V python skripte na vizualizáciu dát sme dorobili zobrazovanie dát z heart rate monitora - graf, v ktorom sa dá prepínať medzi screenshotmi. Hľadanie riešenia pre nefungujúci eyetracking.

Tyzden 5 (24.3. - 30.3.)

Príprava pôvodného Unity projektu Virtuálna terapia - stiahnutie a odzipovanie(zabralo niekoľko hodín). Práca na python skripte - výmena testovacích dát za realne (oveľa väčšie) a trubleshooting. Zobrazovanie grafu pre data z heart rate monitora spojená so screenshotmi je funkčne skoro hotová.

Tyzden 6 (31.3. - 6.4.)

Výskum možností pre analýzu dát z heart rate monitora. Študovanie základných informácii a hľadanie článkov s témou analýzy heart rate dát vo virtuálnej realite. Ďalšia práca s pôvodným Unity projektom - hľadali sme kde a ako sa spúšta heart rate monitor, ako vyzerá scéna, s ktorou budeme potrebovať pracovať a možnosti jej exportu.

Tyzden 7 (7.4. - 13.4.)

Práca s hr monitorom Polar H10 - upravovanie pôvodných skriptov pre fungovanie nášho modelu. Práca s pôvodným projektom - importovanie scény lesa do Unity projektu a debuggovanie. Kežďe je celý projekt poprepájaný, exportovanie so závyslosťami spôsobilo export častí, ktoré pre náš projekt neboli protrebné a spôsobili problémy pri importe do nášho projektu s komponentom pre export dát z eyetrackera. Skúšanie rôznych spôsobov exportu a importu. Aj pri odladení errorov nefunguje prehrávanie scény v headsete správne. Obraz sa pri otočení hlavy skoro nehýbe.

Tyzden 8 (14.4. - 20.4.)

Hľadanie nového spôsobu pre spojenie projektov. Miesto exportovania scény sme skúsili spustiť celý pôvodný projekt. GPU má problém utiahnuť celú scénu a vynecháva framy, no tento spôsob má oveľa lepšie výsledky. Eyetracking stále používa "nose direction" a nefunguje korektne. Presun komponentu pre zber dát z eyetrackera do tejto kópie pôvodného Unity projektu pre Virtuálnu terapiu.

Tyzden 9 (21.4. - 27.4.)

Doplnenie aplikácie pre vizualizáciu o základné výpočty vzhľadom na HR dáta. Finálne úpravy - dizajn, vylepšenia v rámci použiteľnosti. Riešenie problému so scénou pôvodného projektu - stromy a zem sú jeden objekt, takže jeho časti ako napríklad jednotlivé stromy nie sú samostatne detekovateľné. Pridávanie collidrov pre detekciu pohľadu k objektom, ktoré chceme detekovať.

Tyzden 10 (28.4. - 4.5.)

Hľadanie riešenia pre nefungujúci eyetracking. Prechádzanie skrípt, ktorými sa daný error propaguje. Nájdenie problému - chýbajúca časť pre SRanipal, na ktorú neupozorňoval žiaden error. Eyetracker funguje správne, scéna po korektnej inicializácii beží oveľa plynulejšie. Testovanie riešenia so správnym fungovaním eyetrackera. Písanie práce - časti úvod, teória a špecifikácia.

Tyzden 11 (5.5. - 11.5.)

Písanie práce - časť návrh. Pri testovaní dát zozbieraných pri správnom fungovaní eyetrackera sa ukázalo, že pohľad neustále preskakuje a žiadna fixácia sa neukazuje dlhšia ako sekundu. Výskum ohľadom pohybu očí človeka. Problémom boli mikrosakády, ktoré v našej práci dekovať nepotrebujeme a teda sme upravili aplikáciu pre vizualizáciu, aby tieto pohyby filtrovala.

Tyzden 12 (12.5. - 18.5.)

Testovanie používateľnosť aplikácie pre vizualizáciu a doplnenie práce o text k tejto časti.

Tyzden 13 (19.5. - 25.5.)

Vytvorenie testovacej scény a test systému. Traja participanti boli inštruovaní kam sa majú v daný čas pozerať. Tieto dáta boli zozbierané a ich presnosť a korektnosť bola analyzovaná v aplikácii pre vizualizáciu dát. Písanie práce - časti výsledky a záver.

Tyzden 14 (26.5. - 1.6.)

Komunikácia s vedúcou výskúmu ohľadom tabuľky v aplikácii pre vizualizáciu a doplnenie analytických výpočtov podľa jej odborných rád. Úprava niektorých funkcii aplikácie, aby fungovali s doplnenými stĺpcami tabuľky a doplnenie časti ohľadom analýzy do textu práce.

Tyzden 15 (2.6. - 5.6.)

Finálne úpravy a odovzdanie bakalárskej práce.

Zdroje

document icon

Práca

Zdrojový kód programu k aplikácii pre vizualizáciu údajov je zverejnený na GitHube.

Obrázok funkcie Update
Screenshot funkcie Update v skripte EyetrackingDataExportScript, kde sa kontroluje objekt, na ktorý sa používateľ pozerá.
Obrázok funkcie GetGazeHitInformation
Screenshot funkcie GetGazeHitInformation v skripte EyetrackingDataExportScript, kde sa zostrojí raycast pohľadu používateľa. Funkcia vracia výsledok podľa toho či sa lúč preťal s nejakým objektom.
Obrázok1 funkcie CaptureGazeImage Obrázok2 funkcie CaptureGazeImage
Screenshot funkcie CaptureGazeImage v skripte EyetrackingDataExportScript, kde sa zostrojí screenshot obrazovky s bodom pohľadu používateľa.

* Last update of pdf: 7.6.2025.