Eye Tracking Demo: SVGs als AOIs
Übersicht
In dieser Demo ist unser Ziel, Blickdaten des Eye-Trackings zu erfassen. Insbesondere möchten wir die Blickdaten erfassen, die mit spezifischen Interessensgebieten (AOIs) verbunden sind, die in der Studie als SVG Formobjekte enthalten sind.
Eine Vorschau der Demo in Aktion wird unten gezeigt, wobei der rote Kreis Feedback gibt, indem er die Position des Blicks in Echtzeit anzeigt:
![]()
- HINWEIS: Die Demo-Aufzeichnung wurde mit einer 5,5-minütigen Kalibrierungsoption durchgeführt; der rote Kreis ist ein Objekt, das den Blick des Teilnehmers in Echtzeit darstellt, und die gesamte Einrichtung wird nachstehend näher erläutert.
Sehen Sie sich dieses kurze Video an, das die Demo in Aktion zeigt, sowie eine Vorschau der am Ende aufgezeichneten Daten:
Objekte
Diese Demo umfasst ein Hintergrundbild eines Piers, auf dem 4 SVG-Objekte von Personen platziert sind. Es gibt auch ein Blickfeedback-Objekt (roter Kreis). Zu Demonstrationszwecken wollten wir den Blick in Echtzeit darstellen, und dieser rote Kreis spiegelt das wider.
![]()
Erstellte benutzerdefinierte Variablen
Um Daten aufzuzeichnen, sind Variablen erforderlich. Eine Liste aller benutzerdefinierten Variablen, die für diese Demo erstellt wurden, ist unten aufgeführt und über den „Variablen“- Tab zugänglich. Das Bild unten zeigt die Details und Einstellungen für die Variablen, die diese Demo verwendet:
![]()
Unten finden Sie eine Erklärung der Variablen und ihrer Zweck:
| Variablenname | Beschreibung | Aufzeichnungstyp |
|---|---|---|
All Gaze Data | Wird verwendet, um das Array von x/y-Koordinaten [X,Y] sowie die Zeitaufnahme [T] und das Vertrauensniveau [C] der Messung zu speichern. | Alle Änderungen / Zeitreihe |
AOI1_gaze_data | Wird verwendet, um das Array von [X,Y,T,C] zu speichern, wenn der Teilnehmer auf das SVG-Objekt mit dem Namen AOI1 schaut. | Alle Änderungen / Zeitreihe |
SVG1_path | Zeichnet den Pfad des SVG-Knotens auf, auf dem der Blick von AOI1 ruhte (wird weiter unten erklärt). | Alle Änderungen / Zeitreihe |
AOI2_gaze_data | Wird verwendet, um das Array von [X,Y,T,C] zu speichern, wenn der Teilnehmer auf das SVG-Objekt mit dem Namen AOI2 schaut. | Alle Änderungen / Zeitreihe |
SVG2_path | Zeichnet den Pfad des SVG-Knotens auf, auf dem der Blick von AOI2 ruhte. | Alle Änderungen / Zeitreihe |
Und so weiter….
Ereignisse einrichten
Da wir daran interessiert sind, Blickdaten zu erfassen, werden die folgenden Ereignisse verwendet:
- Alle Blickdaten: Dieses Ereignis wird aktiviert, sobald die Aufgabe beginnt, und zeichnet kontinuierlich Daten des Eye-Trackings auf.
- AOI-Blickdaten: Dieses Ereignis wird aktiviert, sobald der Teilnehmer auf ein bestimmtes AOI (d.h. eine der vier Personen) schaut, und zeichnet die blickbezogenen Werte auf.
- Experiment beenden: Ein Ereignis, das die Sitzung akzeptiert/endet und die Daten aufzeichnet, wenn das Subjekt auf die Schaltfläche „Beenden“ klickt.
Ereignis 1: Alle Blickdaten
Für das erste Ereignis wollen wir Folgendes erreichen:
- Alle Eye-Tracking-Daten während der Dauer der Studie aufzeichnen
- Den erkannten Standort des Blicks in Echtzeit auf dem Bildschirm anzeigen (damit Sie als Forscher ein Gefühl für die Webcam-Überwachung haben, wenn Sie die Demo ausprobieren)
Auslöser
Daher verwenden wir einen Auslöser für die Blickverfolgung, um dieses Ereignis zu initiieren.
![]()
Aktion
Sobald der Blick erkannt wird, treten die folgenden Aktionen in Kraft: Zuerst verwenden wir die All Gaze Data-Variable, die wir zuvor erstellt haben, in einer Set / Record Variable Aktion, um die Daten als [X,Y,T,C] Array aufzuzeichnen.
![]()
Das oben Genannte wird (wie unten gezeigt) erreicht, indem Sie die grüne Schaltfläche klicken, die Zielvariable auswählen und dann auf das Bleistift-Symbol Wertauswahlmenü klicken und dann das [X,Y,T,C] Array aus dem auslöserspezifischen (Eyetracking Gaze) Menü, auswählen, wie unten gezeigt:
![]()
Wir fügen auch die Set Object Property Aktion hinzu, um das rote Kreisobjekt (genannt „Blick“) so festzulegen, dass seine X-Eigenschaft gleich der und die Y-Eigenschaft gleich den Koordinaten X und Y ist. Mit anderen Worten, wir stellen die x- und y-Werte des Objekts so ein, dass sie den x- und y-Koordinaten entsprechen… letztendlich ist dies das, was das Objekt in Echtzeit bewegt.
![]()
HINWEIS: Die Optionen für Coordinate X und Coordinate Y werden aus dem auslöserspezifischen (Eyetracking Gaze) Menü. ausgewählt.
Ereignis 2: AOI-Blickdaten
In diesem Ereignis wollen wir die Ereignisse so einrichten, dass:
- Der Blick auch aufgezeichnet wird, wenn der Blick speziell auf den Ziel-AOIs (d.h. die hochgeladenen SVG-Objekte) liegt
- Die spezifischen SVG-Knotendaten des AOIs gemeldet werden
Auslöser
Der Eyetracking Gaze-Auslöser wird auch hier als Auslöser verwendet. Aber in diesem Kontext geben wir an, dass wir nur an bestimmten Elementen interessiert sind, indem wir die jeweilige Option auswählen und dann die 4 SVG-Objekte auswählen, die als Interessensgebiete (AOIs) fungieren.
![]()
Aktion
Um den Aufruf für jedes AOI einzustellen, benötigen wir ein Control Action → Requirement Action (If…Then). Grundsätzlich möchten wir, dass Labvanced Folgendes tut…. „Wenn der Teilnehmer auf AOI1 schaut, möchten wir die spezifischen Daten dafür in einer spezifischen Variablen aufzeichnen sowie den SVG-Pfad dieses Blicks“
Zuerst klicken wir auf die + Requirement-Schaltfläche und die beiden Stiftsymbolwerte erscheinen.
- Erstes Stiftsymbol: Für das erste Feld wählen wir aus dem auslöserspezifischen (Eyetracking Gaze) Menü, die
Stimulus Name-Option, die den Objektnamen des Stimulus verwendet, auf den der Auslöser (in diesem Fall der Blick) gerichtet war. - Zweites Stiftsymbol: Wählen Sie
Constant Valueund dann dieString-Option aus und geben Sie den Objektname (d.h. AOI1) ein:
![]()
Bis zu diesem Punkt haben wir festgelegt, dass wenn der Auslöser (Blick) auf dem Stimulus mit dem Namen AOI1 ist... dann:
![]()
- Die Variable
AOI_gaze_data, die wir zuvor erstellt haben, wird das [X,Y,T,C] Array aufzeichnen. - Auch die
SVG1_path-Variable wird aufgezeichnet, um dieStimulus Infozu enthalten, die in diesem Fall, da das Ziel von Interesse (AOI1) ein SVG ist, die Stimulusinformation die Knoten des SVG enthalten wird.
Um das nächste AOI zu spezifizieren, klicken Sie auf die +Add Else If Case-Schaltfläche im Dialogfeld und wiederholen Sie einfach die Struktur / Einrichtung, wie sie oben gezeigt wurde, aber mit den Hauptunterschieden, dass die Stimulus Name als AOI2 festgelegt wird und dann auch die spezifischen Variablen für die Datenspeicherung aufgerufen werden, d.h. AOI2_gaze_data und SVG2_Path wie unten gezeigt:
![]()
Als nächstes wählen wir für AOI3 wieder Add Else If Case und folgen der gleichen Struktur, jedoch mit den benutzerdefinierten Variablen, die wir erstellt haben, um die Daten für dieses spezifische AOI zu speichern:
![]()
Wieder wählen wir für AOI4 erneut Add Else If Case und folgen der gleichen Struktur, jedoch mit den benutzerdefinierten Variablen, die wir erstellt haben, um die Daten für dieses spezifische AOI zu speichern:
![]()
Ereignis 3: Experiment beenden / Daten speichern
Zuletzt, damit die Daten aufgezeichnet und gespeichert werden, müssen wir die Jump Action zur Accept / End Session Aktion wählen, sobald die Finish-Schaltfläche (die der Auslöser ist) angeklickt wird, wie unten gezeigt.
Auslöser
Der Auslöser wird festgelegt, um zu erfolgen, wenn die „Fertig“-Schaltfläche verwendet wird:
![]()
Aktion
Die Aktion, die eintreten wird, besteht darin, dass die Sitzung akzeptiert wird, was zur Folge hat, dass die Daten aufgezeichnet werden.
![]()
Aufgezeichnete Daten
Die aufgezeichneten Daten umfassen alle benutzerdefinierten Variablen sowie experiment-spezifische Werte wie die Aufgabenummer, die Sitzungsnummer usw.
Im folgenden Beispiel zeigt der Dataview & Export Tab, wie die Daten aussehen, wenn sie in Zeitreihendateien unterteilt sind. Jede Zeitreihenvariablen (d.h. die Variablen, die alle Änderungen aufzeichnen) wird unten im linken Bereich mit ihrer eigenen CSV-Datei angezeigt. Dies kann erreicht werden, indem die jeweiligen Einstellungen unter Verwendung der Configure Export Einstellungen. festgelegt werden.
Wenn die Alle Blickdaten.csv ausgewählt wird, werden zahlreiche Variablen aufgezeichnet, darunter die unten gezeigten. Die ‚Wert‘-Spalte erfasst das [X,Y,T,C] Array, wobei die Werte durch Kommas getrennt sind:
![]()
Das Bild unten zeigt eine Vorschau der Arrays, die spezifisch aufgezeichnet wurden, als der Blick auf AOI1 gerichtet war, wie in der ‚Wert‘-Spalte gezeigt:
![]()
Das Bild unten zeigt eine Vorschau der SVG-Pfade, die spezifisch aufgezeichnet wurden, als der Blick auf AOI1 gerichtet war, wie in der ‚Wert‘-Spalte gezeigt:
![]()
Fazit
Diese Demo zielt darauf ab zu zeigen, wie man Blickdaten aufzeichnet und SVG-Objekte nutzt, um den Blick speziell im Kontext zu erfassen, wenn der Blick auf einem Interessensgebiet (AOI) auftritt.
Wenn Sie Fragen haben, wenden Sie sich bitte an uns und lassen Sie uns die Einzelheiten Ihres Experiments wissen, insbesondere wenn Sie eine Machbarkeitsprüfung durchführen müssen!