Demostración de Seguimiento de Ojos: SVGs como AOIs
Descripción general
En esta demostración, nuestro objetivo es capturar datos de mirada del seguimiento ocular. Específicamente, queremos capturar los datos de mirada asociados con áreas de interés específicas (AOIs) que se incluyen en el estudio como objetos de forma SVG.
Se muestra a continuación una vista previa de la demostración en acción, donde el círculo rojo proporciona retroalimentación al indicar la ubicación de la mirada en tiempo real:
- NOTA: La grabación de la demostración se realizó con una opción de calibración de 5.5 minutos; el círculo rojo es un objeto que representa la mirada de los participantes en tiempo real y la configuración general se explica más adelante.
Eche un vistazo a este video rápido que muestra la demostración en acción, así como una vista previa de los datos registrados al final:
Objetos
Esta demostración incluye una imagen de fondo de un muelle sobre el cual se colocan 4 objetos SVG de personas. También hay un objeto de retroalimentación de mirada (círculo rojo). Para los propósitos de esta demostración, queríamos representar la mirada en tiempo real y este círculo rojo refleja eso.
Variables Personalizadas Creadas
Para registrar datos, se requieren variables. A continuación se muestra una lista de todas las variables personalizadas que se crearon para esta demostración, accesibles a través de la pestaña ‘Variables’. La imagen a continuación muestra los detalles y configuraciones para las variables que utiliza esta demostración:
A continuación se presenta una explicación de las variables y su propósito:
Nombre de la Variable | Descripción | Tipo de Registro |
---|---|---|
All Gaze Data | Se utiliza para almacenar el array de coordenadas x/y [X,Y], así como el Tiempo de Captura [T] y el nivel de confianza [C] de la medición. | Todos los cambios / series de tiempo |
AOI1_gaze_data | Se utiliza para almacenar el array de [X,Y,T,C] cuando el participante mira el objeto SVG llamado AOI1. | Todos los cambios / series de tiempo |
SVG1_path | Registra la ruta del nodo SVG sobre el que se posó la mirada de AOI1 (explicado más adelante). | Todos los cambios / series de tiempo |
AOI2_gaze_data | Se utiliza para almacenar el array de [X,Y,T,C] cuando el participante mira el objeto SVG llamado AOI2. | Todos los cambios / series de tiempo |
SVG2_path | Registra la ruta del nodo SVG sobre el que se posó la mirada de AOI2. | Todos los cambios / series de tiempo |
Y así sucesivamente….
Eventos Configurados
Dado que estamos interesados en capturar datos de mirada, se utilizan los siguientes eventos:
- Todos los Datos de Mirada: Este evento inicia tan pronto como comienza la tarea y registra datos de seguimiento ocular continuamente.
- Datos de Mirada AOI: Este evento inicia tan pronto como el participante mira un AOI específico (es decir, una de las cuatro personas) y registra los valores relacionados con la mirada.
- Terminar Experimento: Un evento que acepta / termina la sesión y registra los datos cuando el sujeto hace clic en el botón ‘Terminar’.
Evento 1: Todos los Datos de Mirada
Para el primer evento, queremos lograr lo siguiente:
- registrar todos los datos de seguimiento ocular durante la duración del estudio
- mostrar la ubicación detectada de la mirada en la pantalla en tiempo real (para que usted, como investigador, pueda tener una noción del seguimiento de la webcam al probar la demostración)
Disparador
Por lo tanto, utilizamos un disparador de mirada de seguimiento ocular para iniciar este evento.
Acción
Una vez que se detecte la mirada, ocurrirán las siguientes acciones: Primero, llamamos a la variable All Gaze Data
que creamos anteriormente en una acción de Establecer / Registrar Variable
para registrar los datos como un array de [X,Y,T,C].
Lo anterior se logra (como se muestra a continuación) haciendo clic en el botón verde, seleccionando la variable de destino, luego haciendo clic en el ícono de lápiz menú de selección de valor y luego eligiendo el array [X,Y,T,C] del menú específico del disparador (Mirada de Seguimiento), como se muestra a continuación:
También añadimos la acción Establecer Propiedad del Objeto
para establecer el objeto del círculo rojo (llamado ‘mirada’) de modo que su propiedad X
sea igual a la y la propiedad Y
establecida en la coordenada X y la coordenada Y, respectivamente. En otras palabras, establecemos los valores x e y del objeto para que sean iguales a las coordenadas x e y... en última instancia, esto es lo que hace que el objeto se mueva en tiempo real.
NOTA: las opciones para Coordenada X
y Coordenada Y
se seleccionan del menú específico del disparador (Mirada de Seguimiento).
Evento 2: Datos de Mirada AOI
En este evento, queremos configurar los eventos de tal manera que:
- la mirada también se registre cuando se centra específicamente en los AOIs objetivo (es decir, los objetos SVG que hemos subido)
- se informe sobre los datos específicos del nodo SVG del AOI
Disparador
El disparador Mirada de Seguimiento
también se utiliza aquí como el disparador. Pero en este contexto, indicamos que solo estamos interesados en elementos específicos haciendo clic en la opción respectiva y luego seleccionando los 4 objetos SVG que actúan como Áreas de Interés (AOIs).
Acción
Para configurar la llamada en cada AOI, necesitamos una Acción de Control
→ Acción de Requisito (Si…Entonces)
. Esencialmente queremos que Labvanced haga lo siguiente…. “Si el participante está mirando AOI1, entonces queremos registrar los datos específicos para ello en una variable específica, así como la ruta SVG de esa mirada”.
Primero hacemos clic en el botón + Requisito
y aparecerán los iconos de dos lápices.
- Primer icono de lápiz: Para el primer campo que seleccionamos, del menú específico del disparador (Mirada de Seguimiento), la opción
Nombre del Estímulo
que utiliza el nombre del objeto del estímulo sobre el que se encuentra el disparador (en este caso la mirada). - Segundo icono de lápiz: Seleccionar
Valor Constante
y luego seleccionar la opciónCadena
y escribir el nombre del objeto (es decir, AOI1):
Hasta este punto hemos establecido que cuando el disparador (mirada) está sobre el estímulo llamado AOI1... entonces:
- La variable
AOI_gaze_data
que creamos anteriormente registrará el array [X,Y,T,C]. - Además, se registrará la variable
SVG1_path
para contener laInformación del Estímulo
que, en este caso, dado que el objetivo de interés (AOI1) es un SVG, la información del estímulo contendrá los nodos del SVG.
Para especificar el siguiente AOI, se presiona el botón +Agregar Caso Else If
en la ventana de diálogo y luego simplemente repetir la estructura / configuración como se mostró anteriormente, pero con las diferencias principales de establecer el Nombre del Estímulo
como AOI2
y luego también llamar a las variables específicas para almacenar los datos, es decir, AOI2_gaze_data
y SVG2_Path
, como se muestra a continuación:
A continuación, para AOI3, optamos por Agregar Caso Else If
nuevamente y seguimos la misma estructura pero con las variables personalizadas que hemos creado para almacenar los datos de este AOI específico:
Nuevamente, para AOI4, optamos por Agregar Caso Else If
nuevamente y seguimos la misma estructura pero con las variables personalizadas que hemos creado para almacenar los datos de este AOI específico:
Evento 3: Terminar Experimento / Guardar Datos
Por último, para que los datos sean registrados y almacenados, necesitamos elegir la Acción de Salto
para la acción Aceptar / Terminar Sesión
una vez que se haga clic en el botón Terminar
(que es el disparador), como se muestra a continuación.
Disparador
El disparador se especifica para que ocurra cuando se use el ‘Botón de Terminar’:
Acción
La acción que ocurrirá es que la sesión será aceptada, lo que, como resultado, significa que los datos serán registrados.
Datos Registrados
Los datos registrados incluyen todas las variables personalizadas más valores específicos del experimento, como el número de tarea, el número de sesión, etc.
En el ejemplo a continuación, la pestaña Vista y Exportación de Datos
muestra cómo lucen los datos cuando se separan por archivos de series de tiempo. Cada variable de serie de tiempo (es decir, las variables que registran todos los cambios) se muestra con su propio archivo CSV en el panel izquierdo a continuación. Esto se puede lograr especificando la configuración relevante utilizando la Configuración de Formato de Exportación
.
Cuando se selecciona All Gaze Data.csv, se registran numerosas variables, incluidas las que se muestran a continuación. La columna ‘valor’ captura el array [X,Y,T,C] donde los valores están separados por comas:
La imagen a continuación muestra una vista previa de los arrays que se registraron específicamente cuando la mirada estaba en AOI1, como se muestra en la columna ‘valor’:
La imagen a continuación muestra una vista previa de las rutas SVG que se registraron específicamente cuando la mirada estaba en AOI1, como se muestra en la columna ‘valor’:
Conclusión
Esta demostración tiene como objetivo mostrar cómo registrar datos de mirada y utilizar objetos SVG para registrar la mirada específicamente en el contexto de cuando la mirada ocurre en un Área de Interés (AOI).
Si tiene alguna pregunta, contáctenos y háganos saber los detalles de su experimento, ¡especialmente si necesita realizar una verificación de viabilidad!