Eye Tracking Demo: SVGs als AOIs
Übersicht
In dieser Demo, besteht unser Ziel darin, Zielfixierungsdaten des Eye Trackings zu erfassen. Insbesondere möchten wir die mit bestimmten Interessensbereichen (AOIs) verbundenen Daten erfassen, die als SVG Formobjekte. in die Studie einbezogen wurden.
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 Aufnahme der Demo 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 weiter unten erklärt.
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 Feedbackobjekt für den Blick (roter Kreis). Für die Zwecke dieser Demo 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 die Registerkarte „Variablen“ zugänglich. Das Bild unten zeigt die Details und Einstellungen für die Variablen, die diese Demo verwendet:
Unten ist eine Erklärung der Variablen und deren Zweck:
Variablenname | Beschreibung | Aufzeichnungsart |
---|---|---|
All Gaze Data | Wird verwendet, um das Array der 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 das SVG-Objekt mit dem Namen AOI1 ansieht. | Alle Änderungen / Zeitreihe |
SVG1_path | Zeichnet den Pfad des SVG-Knotens auf, auf den der Blick bei AOI1 gerichtet war (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 das SVG-Objekt mit dem Namen AOI2 ansieht. | Alle Änderungen / Zeitreihe |
SVG2_path | Zeichnet den Pfad des SVG-Knotens auf, auf den der Blick bei AOI2 gerichtet war. | Alle Änderungen / Zeitreihe |
Und so weiter….
Ereignisse Einrichtungs
Da wir daran interessiert sind, die Daten des Blicks zu erfassen, werden die folgenden Ereignisse verwendet:
- All Gaze Data: Dieses Ereignis wird aktiviert, sobald die Aufgabe beginnt, und zeichnet die Zielfixierungsdaten des Eye Trackings kontinuierlich auf.
- AOI Gaze Data: Dieses Ereignis wird aktiviert, sobald der Teilnehmer auf einen bestimmten AOI (d. h. eine der vier Personen) blickt, und zeichnet die blickbezogenen Werte auf.
- Finish Experiment: Ein Ereignis, das die Sitzung annimmt/beendet und die Daten aufzeichnet, nachdem das Subjekt auf die Schaltfläche „Fertig“ geklickt hat.
Ereignis 1: All Gaze Data
Für das erste Ereignis wollen wir Folgendes erreichen:
- alle Eye-Tracking-Daten während der Dauer der Studie aufzeichnen
- den erfassten Standort des Blicks in Echtzeit auf dem Bildschirm anzeigen (damit Sie als Forscher ein Gefühl dafür haben, dass die Webcam die Bewegung verfolgt, wenn Sie die Demo ausprobieren)
Auslöser
Daher verwenden wir einen Auslöser für das Eye Tracking, um dieses Ereignis zu initiieren.
Aktion
Sobald der Blick erkannt wird, treten die folgenden Aktionen in Kraft: Zuerst rufen wir die All Gaze Data
-Variable auf, die wir zuvor in einer Set / Record Variable
-Aktion erstellt haben, um die Daten als [X,Y,T,C]-Array aufzuzeichnen.
Das oben Gezeigte wird (wie unten gezeigt) durch Klicken auf die grüne Schaltfläche erreicht, Auswählen der Zielvariable, dann Klicken auf das Stiftsymbol Wertauswahlmenü und dann Auswählen des [X,Y,T,C]-Arrays aus dem auslöserspezifischen (Eyetracking-Blick) Menü, wie unten gezeigt:
Wir fügen auch die Set Object Property
-Aktion hinzu, um das rote Kreisobjekt (genannt „Blick“) so einzustellen, dass die X
-Eigenschaft gleich der X-Koordinate und die Y
-Eigenschaft gleich der Y-Koordinate ist. Mit anderen Worten, wir setzten die x- und y-Werte des Objekts gleich den x- und y-Koordinaten… letztendlich ist das der Grund, warum sich das Objekt in Echtzeit bewegt.
HINWEIS: Die Optionen für Koordinate X
und Koordinate Y
werden aus dem auslöserspezifischen (Eyetracking-Blick) Menü. ausgewählt.
Ereignis 2: AOI Gaze Data
In diesem Ereignis möchten wir die Ereignisse so einrichten, dass:
- der Blick auch aufgezeichnet wird, wenn der Blick spezifisch auf die Ziel-AOIs (d. h. die hochgeladenen SVG-Objekte) gerichtet ist
- die spezifischen SVG-Knotendaten des AOI berichtet werden
Auslöser
Der Eyetracking Gaze
-Auslöser wird hier ebenfalls als Auslöser verwendet. In diesem Zusammenhang geben wir jedoch 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 Interessensbereiche (AOIs) fungieren.
Aktion
Um den Aufruf auf jedem AOI einzustellen, benötigen wir eine Control Action
→ Requirement Action (If…Then)
. Grundsätzlich wollen wir, dass Labvanced Folgendes tut…. „Wenn der Teilnehmer AOI1 betrachtet, dann möchten wir die spezifischen Daten dafür in einer bestimmten Variablen aufzeichnen, sowie den SVG-Pfad dieses Blicks.“
Zuerst klicken wir auf die Schaltfläche + Requirement
und die zwei Stiftsymbole erscheinen.
- Erstes Stiftsymbol: Für das erste Feld wählen wir aus dem auslöserspezifischen (Eyetracking-Blick) Menü, die Option
Stimulus Name
, die den Objektnamen des Stimulus verwendet, auf den der Auslöser (in diesem Fall Blick) gerichtet war. - Zweites Stiftsymbol: Wählen Sie
Konstantenwert
und wählen Sie dann dieString
-Option und geben Sie den Objektnamen (d. h. AOI1) ein:
Bis zu diesem Punkt haben wir festgelegt, dass wenn der Auslöser (Blick) auf dem Stimulus mit dem Namen AOI1 liegt... dann:
- Die Variable
AOI_gaze_data
, die wir zuvor erstellt haben, wird das [X,Y,T,C]-Array aufzeichnen. - Außerdem wird die
SVG1_path
-Variable aufgezeichnet, um dieStimulus Info
zu enthalten, die in diesem Fall, da das Ziel von Interesse (AOI1) ein SVG ist, die Stimulusinfo die Knoten des SVG enthalten wird.
Um den nächsten AOI zu spezifizieren, klicken wir auf die Schaltfläche +Add Else If Case
im Dialogfeld und wiederholen dann die Struktur / Einrichtung, wie sie oben gezeigt wurde, wobei die Hauptunterschiede darin bestehen, den Stimulus Name
auf AOI2
einzustellen und dann auch die spezifischen Variablen für die Datenspeicherung aufzurufen, 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 derselben Struktur, jedoch mit den benutzerdefinierten Variablen, die wir erstellt haben, um die Daten für diesen spezifischen AOI zu speichern:
Wiederum wählen wir für AOI4 wieder Add Else If Case
und folgen derselben Struktur, jedoch mit den benutzerdefinierten Variablen, die wir erstellt haben, um die Daten für diesen spezifischen AOI zu speichern:
Ereignis 3: Experiment beenden / Daten speichern
Zuletzt, damit die Daten aufgezeichnet und gespeichert werden, müssen wir die Jump Action
zu Accept / End Session
auswählen, sobald die Schaltfläche Fertig
(die der Auslöser ist) angeklickt wird, wie unten gezeigt.
Auslöser
Der Auslöser wird so definiert, dass er beim Klicken auf die Schaltfläche „Fertig“ ausgelöst wird:
Aktion
Die Aktion, die erfolgen wird, ist, dass die Sitzung angenommen wird, was bedeutet, dass die Daten aufgezeichnet werden.
Aufgezeichnete Daten
Die aufgezeichneten Daten umfassen alle benutzerdefinierten Variablen sowie experiment-spezifische Werte wie die Aufgabennummer, die Sitzungsnummer usw.
Im folgenden Beispiel zeigt die „Dataview & Export“-Registerkarte, wie die Daten aussehen, wenn sie nach Zeitreihen-Dateien getrennt sind. Jede Zeitreihenvariable (d. h. die Variablen, die alle Änderungen aufzeichnen) wird mit ihrer eigenen CSV-Datei im linken Bereich unten angezeigt. Dies kann durch Festlegen der relevanten Einstellung unter Verwendung der Export Format
-Einstellungen.
Wenn die All Gaze Data.csv ausgewählt wird, werden zahlreiche Variablen aufgezeichnet, einschließlich der 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 speziell 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 speziell aufgezeichnet wurden, als der Blick auf AOI1 gerichtet war, wie in der ‚Wert‘-Spalte gezeigt:
Fazit
Diese Demo zeigt, wie man Zielfixierungsdaten aufzeichnet und SVG-Objekte verwendet, um den Blick speziell im Kontext zu verfolgen, wenn der Blick auf einen Interessensbereich (AOI) gerichtet ist.
Wenn Sie Fragen haben, wenden Sie sich bitte an uns und teilen Sie uns die Einzelheiten Ihres Experiments mit, insbesondere wenn Sie eine Machbarkeitsprüfung durchführen müssen!