ES2926953T3 - Entrenar un modelo de seguimiento ocular - Google Patents

Entrenar un modelo de seguimiento ocular Download PDF

Info

Publication number
ES2926953T3
ES2926953T3 ES20166411T ES20166411T ES2926953T3 ES 2926953 T3 ES2926953 T3 ES 2926953T3 ES 20166411 T ES20166411 T ES 20166411T ES 20166411 T ES20166411 T ES 20166411T ES 2926953 T3 ES2926953 T3 ES 2926953T3
Authority
ES
Spain
Prior art keywords
eye
tracking
sensor
data
eye tracking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20166411T
Other languages
English (en)
Inventor
Carl Asplund
Patrik Barkman
Anders Dahl
Oscar Danielsson
Tommaso Martini
Mårten Nilsson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tobii AB
Original Assignee
Tobii AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tobii AB filed Critical Tobii AB
Application granted granted Critical
Publication of ES2926953T3 publication Critical patent/ES2926953T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/003Bistatic radar systems; Multistatic radar systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/28Details of pulse systems
    • G01S7/282Transmitters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/40Means for monitoring or calibrating
    • G01S7/4004Means for monitoring or calibrating of parts of a radar system
    • G01S7/4008Means for monitoring or calibrating of parts of a radar system of transmitters
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/28Details of pulse systems
    • G01S7/285Receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Ophthalmology & Optometry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Eye Examination Apparatus (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

Se describe un método (300) para entrenar un modelo de seguimiento ocular (710), así como un sistema (400) y un medio de almacenamiento correspondientes. el modelo de seguimiento de ojos esta adaptado para predecir datos de seguimiento de ojos basados en datos de sensor (709) de un primer sensor de seguimiento de ojos (411). El método comprende recibir (301) datos del sensor obtenidos por el primer sensor de seguimiento ocular en un instante de tiempo y recibir (302) datos de seguimiento ocular de referencia para el instante de tiempo generado por un sistema de seguimiento ocular (420) que comprende un segundo sensor de seguimiento ocular (421).). Los datos de seguimiento ocular de referencia son generados por el sistema de seguimiento ocular en función de los datos del sensor obtenidos por el segundo sensor de seguimiento ocular en la instancia de tiempo. El método comprende el entrenamiento (303) del modelo de seguimiento ocular basado en los datos del sensor obtenidos por el primer sensor de seguimiento ocular en el instante de tiempo y los datos de seguimiento ocular de referencia generados. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Entrenar un modelo de seguimiento ocular
Campo Técnico
La presente descripción se refiere en general al seguimiento ocular.
Antecedentes
Se han desarrollado diferentes técnicas para monitorizar en qué dirección (o en qué punto en un sistema de visualización) mira un usuario. Esto se denomina con frecuencia seguimiento de la mirada. Dichas técnicas implican con frecuencia la detección de determinadas características en las imágenes del ojo y, después, se calcula una dirección de la mirada o un punto de observación en función de las posiciones de estas características detectadas. Un ejemplo de dicha técnica de seguimiento de la mirada es el reflejo corneal del centro de la pupila (PCCR, por sus siglas en inglés). El seguimiento de la mirada basado en PCCR emplea la posición del centro de la pupila y la posición de los destellos (reflejos de los iluminadores en la córnea) para calcular una dirección de la mirada del ojo o un punto de observación en un sistema de visualización.
Otra expresión que se emplea con frecuencia en este contexto es el seguimiento ocular. Si bien la expresión seguimiento ocular puede ser en muchos casos empleada como un nombre alternativo para el seguimiento de la mirada, el seguimiento ocular no tiene por qué implicar necesariamente el seguimiento de la mirada del usuario (por ejemplo, en forma de una dirección de la mirada o un punto de observación). El seguimiento ocular puede, por ejemplo, referirse al seguimiento de la posición de un ojo en el espacio, sin realizar en realidad un seguimiento de una dirección de la mirada o un punto de observación del ojo.
El documento WO2010118292A1 se refiere a un sistema de seguimiento ocular, que comprende un dispositivo de visualización que muestra una interfaz de usuario que incluye uno o más elementos de interfaz a un usuario, un dispositivo de captura de imágenes que detecta la ubicación de la mirada del usuario con respecto al dispositivo de visualización y un dispositivo de procesamiento que analiza electrónicamente la ubicación de los elementos de usuario dentro de la interfaz de usuario con respecto a la ubicación de la mirada del usuario y determina dinámicamente si debe iniciar la visualización de una ventana de ampliación.
El documento US20150085251A1 describe técnicas de calibración para sistemas que incluyen dispositivos de seguimiento ocular y dispositivos de visualización. Las técnicas de calibración pueden implicar un proceso de calibración que utiliza una pluralidad de objetivos de calibración visibles que definen cada uno un punto de observación para un usuario.
El documento WO2019010214A1 se refiere a un visualizador en forma de visor (HMD, por sus siglas en inglés) que comprende un sistema de seguimiento ocular configurado para permitir el seguimiento ocular usando polarización.
Como alternativa (o complemento) a técnicas convencionales tales como seguimiento ocular basado en PCCR, puede emplearse un aprendizaje automático para entrenar un algoritmo para realizar un seguimiento ocular. Por ejemplo, el aprendizaje automático puede emplear datos de entrenamiento en forma de imágenes del ojo y puntos de observación asociados y conocidos para entrenar el algoritmo, de modo que el algoritmo entrenado puede realizar un seguimiento ocular en tiempo real en función de las imágenes del ojo. Normalmente son necesarios muchos datos de entrenamiento para que este aprendizaje automático funcione de manera correcta. La recopilación de los datos de entrenamiento puede llevar bastante tiempo y/o recursos. En muchos casos, se pueden imponer determinados requisitos a los datos de entrenamiento. Los datos de entrenamiento deberían, por ejemplo, reflejar preferentemente todos los tipos de casos/escenarios que se supone que el algoritmo de seguimiento ocular es capaz de manejar. Si únicamente determinados tipos de casos/escenarios están representados en los datos de entrenamiento (por ejemplo, solo pequeños ángulos de observación, o solo imágenes bien iluminadas), entonces el algoritmo de seguimiento ocular puede funcionar bien para estos casos/escenarios, pero puede no funcionar tan bien para otros casos/escenarios no tratados durante la fase de entrenamiento.
Sería deseable proporcionar nuevas formas de abordar uno o más de los problemas mencionados anteriormente.
Resumen
La invención se define mediante las reivindicaciones independientes. Las realizaciones preferidas se describen en las reivindicaciones dependientes.
Breve descripción de los dibujos
A continuación, se describirán ejemplos con mayor detalle con referencia a los dibujos adjuntos, en los que:
La figura 1 es una vista frontal de un ojo;
La figura 2 es una vista en sección transversal del ojo de la figura 1 desde el lado del ojo;
La figura 3 es un diagrama de flujo del método para entrenar un modelo de seguimiento ocular, según una realización;
La figura 4 es una visión general esquemática de un sistema para entrenar un modelo de seguimiento ocular, según una realización;
La figura 5 es una vista general esquemática de un sistema de seguimiento ocular ilustrativo;
La figura 6 es un diagrama de flujo del método para entrenar un modelo de seguimiento ocular, que incluye el uso de un sistema de seguimiento ocular, tal como el sistema de seguimiento ocular de la figura 5, según un ejemplo;
La figura 7 muestra ejemplos de datos de seguimiento ocular que pueden predecirse mediante un modelo de seguimiento ocular;
La figura 8 muestra un esquema de cómo puede ser entrenado un modelo de seguimiento ocular en los métodos de las figuras 3 y 6, según un ejemplo;
La figura 9 muestra un esquema de cómo puede ser realizado el entrenamiento de un modelo de seguimiento ocular en los métodos de las figuras 3 y 6 en respuesta a que se cumpla una determinada condición, según un ejemplo;
La figura 10 muestra un método de entrenamiento de un modelo de seguimiento ocular, que incluye la detección de una determinada acción de activación del ojo, según un ejemplo; y
La figura 11 es un diagrama de flujo de un método para entrenar un modelo de seguimiento ocular para un usuario detectado, según un ejemplo.
Todas las figuras son esquemáticas, no necesariamente a escala, y, generalmente, solo muestran partes que son necesarias para dilucidar los respectivos ejemplos, mientras que otras partes pueden omitirse o simplemente sugerirse. Cualquier número de referencia que aparezca en múltiples dibujos se refiere al mismo objeto o característica en todos los dibujos, a menos que se indique lo contrario.
Descripción detallada
A lo largo de la presente descripción, la expresión sensor de seguimiento ocular se refiere a un sensor, que está adaptado para obtener datos del sensor para su uso en el seguimiento ocular. Si bien un sensor de seguimiento ocular puede ser, por ejemplo, un dispositivo de formación de imágenes (tal como una cámara), otros diversos tipos de sensores podrían ser empleados para el seguimiento ocular. Por ejemplo, un sensor de seguimiento ocular puede emplear luz, sonido, un campo magnético o un campo eléctrico para obtener datos de sensor que pueden emplearse (por ejemplo, en combinación con datos de sensor de otros sensores) para determinar dónde está ubicado el ojo y/o en qué dirección el ojo mira fijamente. Un sensor de seguimiento ocular está dispuesto para (o configurado para) monitorizar un ojo. Un sensor de seguimiento ocular puede, por ejemplo, disponerse para (o configurarse para) realizar mediciones (o para obtener datos de sensor) cuando se le indique que lo haga. Dicho de otra forma, un sensor de seguimiento ocular no necesita realizar necesariamente una monitorización constante/continua del ojo.
A lo largo de la presente descripción, la expresión dispositivo de formación de imágenes se refiere a un dispositivo, que está adaptado para capturar imágenes. Un dispositivo de formación de imágenes puede ser, por ejemplo, un sensor de imágenes o una cámara, tal como una cámara de dispositivo de carga acoplada (CCD, por sus siglas en inglés) o una cámara de semiconductor de óxido metálico complementario (CMOS, por sus siglas en inglés). Sin embargo, también pueden contemplarse otros tipos de dispositivos de formación de imágenes.
Los ejemplos de métodos, sistemas y medios de almacenamiento asociados se describirán a continuación con referencia a las figuras 3-11. En primer lugar, se describirán determinadas características de un ojo con referencia a las figuras 1-2.
La figura 1 es una vista frontal de un ojo 100. La figura 2 es una vista en sección transversal del ojo 100 desde el lado del ojo 100. Si bien la figura 2 muestra más o menos la totalidad del ojo 100, la vista frontal presentada en la figura 1 únicamente muestra aquellas partes del ojo 100 que son normalmente visibles de frente con respecto al rostro de una persona. El ojo 100 tiene una pupila 101, que tiene un centro 102 de la pupila. El ojo 100 también tiene un iris 103 y una córnea 104. La córnea 104 está ubicada delante de la pupila 101 y el iris 103. La córnea 104 está curvada y tiene un centro 105 de curvatura, que se denomina centro 105 de curvatura corneal, o simplemente el centro 105 de la córnea. La córnea 104 tiene un radio 106 de curvatura denominado radio 106 de la córnea 104, o simplemente el radio 106 de la córnea. El ojo 100 también tiene una esclerótica 107. El ojo 100 tiene un centro 108 que también puede denominarse el centro 108 del globo ocular, o simplemente el centro 108 del globo ocular. El eje visual 109 del ojo 100 pasa a través del centro 108 del ojo 100 a la fóvea 110 del ojo 100. El eje óptico 111 del ojo 100 pasa a través del centro 102 de la pupila y el centro 108 del ojo 100. El eje visual 109 forma un ángulo 112 con respecto al eje óptico 111. La desviación o desvío entre el eje visual 109 y el eje óptico 111 se denomina con frecuencia desvío foveal 112. En el ejemplo mostrado en la figura 2, el ojo 100 mira hacia un sistema de visualización 113, y el ojo 100 mira fijamente a un punto 114 de observación en el sistema 113 de visualización. La figura 1 también muestra un reflejo 115 de un iluminador en la córnea 104. Dicho reflejo 115 también se conoce como destello 115.
El entrenamiento de algoritmos de seguimiento ocular basados en aprendizaje automático (ML, por sus siglas en inglés) requiere normalmente un número muy grande de imágenes del ojo que son anotadas con información de validación en terreno, tal como punto de origen de la mirada (posición del ojo en 3D), dirección de la mirada, punto de observación en una pantalla, etc. En recopilaciones de datos tradicionales, se pide a los sujetos de prueba que miren a puntos con una ubicación conocida en un sistema de visualización para recopilar datos de observación de validación en terreno. Existen varios problemas con este enfoque:
• La interacción del sujeto de prueba con el ordenador se vuelve con frecuencia no natural y, por lo tanto, los datos de entrenamiento no capturan el comportamiento en la vida real, que es importante para que el aprendizaje automático sea satisfactorio.
• La prueba tiene que ser administrada por un encargado de pruebas, para gestionar la aplicación de recopilación de datos y explicar a los sujetos de prueba cómo comportarse durante la prueba. Esto hace que la recopilación de datos sea bastante costosa, incluso sin contar con la compensación que se da a los sujetos de prueba.
• El tiempo que transcurre desde la “ necesidad de datos” hasta la “ recopilación de datos finalizada” puede ser alto (en algunos casos, varios meses), ya que la recopilación de datos tradicional requiere la configuración de las herramientas de recopilación de datos, orden de recopilación de datos y asignación de recursos de recopilación de datos.
• La observación de puntos en un sistema de visualización es bastante aburrida y los sujetos de prueba con frecuencia dejan de prestar atención, con la consecuente producción de malos datos.
• Durante la recopilación de datos tradicional, únicamente se pueden realizar grabaciones breves para cada individuo (debido a la pérdida de atención y a que el sujeto de prueba no puede hacer nada más durante la recopilación de datos).
• Algunas informaciones pueden ser difíciles o incluso imposibles de medir con precisión. Por ejemplo, la distancia del usuario respecto al dispositivo de seguimiento ocular puede ser difícil de medir.
Si, en cambio, se usa un dispositivo de seguimiento ocular calibrado convencional para suministrar estos datos de validación en terreno, entonces la recopilación de datos no costaría casi nada y daría como resultado grandes cantidades de datos de entrenamiento naturales (situaciones en la vida real). Se podría dejar que un usuario trabaje como de costumbre delante de su ordenador mientras un dispositivo de seguimiento ocular basado en ML recopila datos de sensor con registro de la hora (tales como imágenes) y un dispositivo de seguimiento ocular de referencia recopila información de validación en terreno (tal como puntos de observación, posiciones en 3D del ojo, direcciones de la mirada, etc.). Dicho sistema puede ser ejecutado en segundo plano en un ordenador del sujeto de prueba. Al final de un día de trabajo se habrá recopilado una gran cantidad de datos anotados que pueden usarse para entrenar algoritmos basados en ML.
Por consiguiente, se propone un método para entrenar un modelo de seguimiento ocular. La figura 3 es un diagrama de flujo de una realización de este método 300. En la presente realización, el modelo de seguimiento ocular está adaptado para predecir datos de seguimiento ocular en función de los datos de sensor procedentes de un primer sensor de seguimiento ocular. Dicho de otra forma, el modelo de seguimiento ocular está configurado para predecir o estimar datos de seguimiento ocular usando datos de sensor procedentes del primer sensor de seguimiento ocular, o usando información derivada a partir de dichos datos de sensor. El modelo de seguimiento ocular puede ser considerado, por ejemplo, como una función (o un mapeo) que recibe datos de sensor procedentes del primer sensor de seguimiento ocular como entrada (y que, opcionalmente, recibe asimismo datos de entrada adicionales) y que proporciona datos de seguimiento ocular predichos como salida.
El modelo de seguimiento ocular, que es entrenado en el método 300, puede ser, por ejemplo, un modelo de seguimiento ocular basado en aprendizaje automático (ML). El modelo de seguimiento ocular puede, por ejemplo, basarse en una red neuronal artificial, tal como una red neuronal convolucional. Sin embargo, el modelo de seguimiento ocular también podría ser un modelo más tradicional, que puede, por ejemplo, ser entrenado mediante la optimización tradicional de los valores de un conjunto de parámetros.
El método 300 comprende recibir 301 datos de sensor obtenidos por el primer sensor de seguimiento ocular en una instancia temporal (o en un punto en el tiempo). Dicho de otra forma, los datos de sensor son recibidos 301 después de haber sido obtenidos (o generados) por el primer sensor de seguimiento ocular en una determinada instancia temporal o punto en el tiempo. El primer sensor de seguimiento ocular puede ser, por ejemplo, un dispositivo de formación de imágenes. Sin embargo, como se ha descrito anteriormente, también pueden contemplarse otros diversos tipos de sensores de seguimiento ocular.
El método 300 comprende recibir 302 datos de seguimiento ocular de referencia para la instancia temporal generados por un sistema de seguimiento ocular que comprende un segundo sensor de seguimiento ocular. Los datos de seguimiento ocular de referencia son generados por el sistema de seguimiento ocular en función de los datos de sensor obtenidos por el segundo sensor de seguimiento ocular en la instancia temporal (dicho de otra forma, en el punto en el tiempo en el que se obtuvieron los datos de sensor recibidos 301 por el primer sensor de seguimiento ocular). El segundo sensor de seguimiento ocular puede ser, por ejemplo, un dispositivo de formación de imágenes. Sin embargo, como se ha descrito anteriormente, también pueden contemplarse otros diversos tipos de sensores de seguimiento ocular. Se apreciará que el segundo sensor de seguimiento ocular es distinto del primer sensor de seguimiento ocular. Dicho de otra forma, los primer y segundo sensores de seguimiento ocular no coinciden, pero podrían, por ejemplo, ser de un tipo similar.
El método 300 comprende entrenar 303 el modelo de seguimiento ocular en función de los datos de sensor obtenidos por el primer sensor de seguimiento ocular en la instancia temporal y de los datos de seguimiento ocular de referencia generados. El entrenamiento puede comprender, por ejemplo, adaptar valores para uno o más parámetros del modelo de seguimiento ocular.
Se apreciará que los datos de sensor recibidos en la etapa 301 y los datos de sensor en los que se basan los datos de seguimiento ocular de referencia recibidos en la etapa 302 no tienen necesariamente por qué ser obtenidos por los primer y segundo sensores de seguimiento ocular exactamente en la misma instancia temporal. Dicho de otra forma, estos dos conjuntos de datos de sensor pueden ser obtenidos por los sensores de seguimiento ocular respectivos aproximadamente en la misma instancia temporal, pero, por supuesto, puede haber una ligera desviación o desajuste de tiempo entre estos dos conjuntos de datos de sensor. Se apreciará que mientras que dicha desviación sea tan pequeña que el ojo no se haya movido (o no haya sido redirigido) demasiado durante este periodo de tiempo tan corto, la etapa de entrenar 303 el modelo de seguimiento ocular no se verá afectada de manera significativa por el desajuste.
La figura 4 es una vista general esquemática de un sistema 400 para entrenar un modelo de seguimiento ocular, según una realización. El sistema 400 puede realizar, por ejemplo, el método 300 descrito anteriormente con referencia a la figura 3.
Considérese el siguiente escenario. Se dispone de un sistema 420 de seguimiento ocular que funciona adecuadamente, que comprende un sensor 421 de seguimiento ocular y medios para analizar los datos de sensor para generar datos de seguimiento ocular, tales como una posición estimada del ojo 100 en el espacio o un punto de observación estimado del ojo 100. Se dispone de un nuevo sistema 410 de seguimiento ocular, que comprende un sensor 411 de seguimiento ocular, pero el nuevo sistema de seguimiento ocular aún no puede generar datos precisos de seguimiento ocular en función de los datos de sensor procedentes del sensor 411 de seguimiento ocular. El software o algoritmo empleado en el antiguo sistema 420 de seguimiento ocular no es tan útil para el nuevo sistema 410 de seguimiento ocular por una razón como:
• el nuevo sistema 410 de seguimiento ocular usa un tipo diferente de sensor 411 de seguimiento ocular que el antiguo sistema 420 de seguimiento ocular, o
• el antiguo sistema 420 de seguimiento ocular está equipado con un iluminador 422, que no está disponible en el nuevo sistema 410 de seguimiento ocular, o
• un iluminador 412 está disponible en el sistema 410 de seguimiento ocular, pero está ubicado en una posición diferente con respecto al sensor 411 de seguimiento ocular que el antiguo sistema 420 de seguimiento ocular.
Por lo tanto, en lugar de reutilizar el software del antiguo sistema 420 de seguimiento ocular en el nuevo sistema 410 de seguimiento ocular, se emplea el antiguo sistema 420 de seguimiento ocular para proporcionar datos de validación en terreno para el entrenamiento del nuevo sistema 410 de seguimiento ocular. El nuevo sistema 410 de seguimiento ocular está equipado con un modelo de seguimiento ocular adaptado para predecir datos de seguimiento ocular en función de los datos de sensor obtenidos por el sensor 411 de seguimiento ocular. El método 300 descrito anteriormente con referencia a la figura 3 puede emplearse a continuación para entrenar el modelo de seguimiento ocular del nuevo sistema 410 de seguimiento ocular, usando el antiguo sistema 420 de seguimiento ocular para generar datos de seguimiento ocular de referencia. En la terminología del método 300, el sensor 411 de seguimiento ocular es un ejemplo del primer sensor de seguimiento ocular, que obtuvo los datos de sensor recibidos en la etapa 301, y el antiguo sistema 420 de seguimiento ocular es un ejemplo del sistema de seguimiento ocular, que generó los datos de seguimiento ocular de referencia recibidos en la etapa 302. Es más, el sensor 421 de seguimiento ocular es un ejemplo del segundo sistema de seguimiento ocular mencionado en el método 300.
El sistema 400 comprende un conjunto 430 de circuitos de procesamiento configurado para realizar el método 300 para entrenar el modelo de seguimiento ocular del nuevo sistema 410 de seguimiento ocular.
El conjunto 430 de circuitos de procesamiento puede comprender, por ejemplo, uno o más procesadores 431. El(los) procesador(es) 431 puede(n) ser, por ejemplo, circuitos integrados para aplicaciones específicas (ASIC, por sus siglas en inglés) configurados para realizar un método específico (tal como el método 300). De manera alternativa, el(los) procesador(es) 431 puede(n) configurarse para ejecutar instrucciones (por ejemplo, en forma de un programa informático) almacenadas en una o más memorias 432. Dicha una o más memorias 432 pueden estar comprendidas, por ejemplo, en el conjunto 430 de circuitos de procesamiento del sistema 400, o pueden ser externas (por ejemplo, ubicadas remotamente) al sistema 400. La una o más memorias 432 pueden, por ejemplo, almacenar instrucciones para hacer que el sistema 500 realice el método 300.
El conjunto 430 de circuitos de procesamiento puede conectarse de manera comunicativa al antiguo sistema 420 de seguimiento ocular y al nuevo sistema 410 de seguimiento ocular (o al menos al sensor 411 de seguimiento ocular en el nuevo sistema 410 de seguimiento ocular), por ejemplo, a través de conexiones cableadas y/o inalámbricas.
El antiguo sistema 420 de seguimiento ocular puede ser, por ejemplo, un sistema de seguimiento ocular basado en PCCR. Dicho de otra forma, los datos de seguimiento ocular de referencia recibidos en la etapa 302 en el método 300 pueden haber sido generados por el sistema 420 de seguimiento ocular en función de una posición de imagen de un reflejo corneal de un iluminador 422 en una posición conocida en relación con el sensor 421 de seguimiento ocular (que, en este caso, es un dispositivo de formación de imágenes) y una posición de imagen de un centro de la pupila.
El antiguo sistema 420 de seguimiento ocular puede comprender, por ejemplo, más sensores de seguimiento ocular, o sensores de seguimiento ocular más avanzados, o más iluminadores que el nuevo sistema 410 de seguimiento ocular. Al entrenar el nuevo sistema 410 de seguimiento ocular usando un sistema 420 de seguimiento ocular más avanzado, se podría obtener un sistema 410 de seguimiento ocular con componentes relativamente más baratos, que es capaz de funcionar casi tan bien como el sistema 420 de seguimiento ocular más avanzado.
En la implementación ilustrativa mostrada en la figura 4, el sensor 421 de seguimiento ocular en el antiguo sistema 420 de seguimiento ocular es un dispositivo de formación de imágenes (tal como una cámara), y se proporcionan uno o más iluminadores 422-424 para iluminar el ojo 100. En la presente implementación ilustrativa, el sensor 411 de seguimiento ocular en el nuevo sistema 410 de seguimiento ocular también es un dispositivo de formación de imágenes. La luz 428 del iluminador 422 en el antiguo sistema 420 de seguimiento ocular llega al dispositivo 421 de formación de imágenes en el antiguo sistema 420 de seguimiento ocular a través de un reflejo en la córnea del ojo 100. Sin embargo, la luz 429 del iluminador 422 en el antiguo sistema 420 de seguimiento ocular también puede llegar al dispositivo 411 de formación de imágenes en el nuevo sistema 420 de seguimiento ocular, que puede causar interferencia en las imágenes capturadas por el dispositivo 411 de formación de imágenes en el nuevo sistema 410 de seguimiento ocular. Por lo tanto, un filtro 415 puede emplearse para evitar que la luz 429 del iluminador 422 llegue al dispositivo 411 de formación de imágenes.
Por consiguiente, según algunos ejemplos, el antiguo sistema 420 de seguimiento ocular comprende un iluminador 422 que produce luz 428 dentro de un intervalo de longitud de onda para iluminar un ojo 100, y el sensor 421 de seguimiento ocular del antiguo sistema 420 de seguimiento ocular proporciona datos de sensor en función de la luz dentro del intervalo de longitud de onda. El sensor 411 de seguimiento ocular del nuevo sistema 410 de seguimiento ocular puede proporcionarse con un filtro 415 para suprimir la luz dentro del intervalo de longitud de onda.
La luz emitida por el iluminador 422 puede, por ejemplo, ser una luz de una longitud de onda relativamente larga, y el filtro 415 puede ser un filtro de paso corto. De manera alternativa, la luz emitida por el iluminador 422 puede, por ejemplo, ser una luz de una longitud de onda relativamente corta, y el filtro 415 puede ser un filtro de paso largo. Si la luz emitida por el iluminador 422 no está limitada a un determinado intervalo de longitud de onda, un filtro 426 puede proporcionarse, por ejemplo, delante del iluminador 422 para suprimir la luz fuera de un determinado intervalo de longitud de onda.
De manera similar, si el nuevo sistema 410 de seguimiento ocular comprende uno o más iluminadores 412-413 para iluminar el ojo 100, el sensor 421 de seguimiento ocular en el antiguo sistema 420 de seguimiento ocular puede proporcionarse con un filtro 427 para suprimir la luz del iluminador en el nuevo sistema 410 de seguimiento ocular. La luz emitida por el iluminador 412 puede, por ejemplo, ser una luz de una longitud de onda relativamente larga, y el filtro 427 puede ser un filtro de paso corto. De manera alternativa, la luz emitida por los iluminadores 412 puede ser, por ejemplo, una luz de una longitud de onda relativamente corta, y el filtro 427 puede ser un filtro de paso largo. Si la luz emitida por el iluminador 412 no está limitada a un determinado intervalo de longitud de onda, un filtro 415 puede proporcionarse delante del iluminador 412 para suprimir la luz fuera de un determinado intervalo de longitud de onda.
De esta manera, se evita que los dos sistemas 410 y 420 de seguimiento ocular interfieran entre sí. Dicho de otra forma, el antiguo sistema 420 de seguimiento ocular puede emplear una luz en un primer intervalo de longitud de onda (por ejemplo, alrededor de 940 nm), mientras que el nuevo sistema de seguimiento ocular emplea una luz en un segundo intervalo de longitud de onda (por ejemplo, aproximadamente 850 nm), que no solapa el primer intervalo de longitud de onda.
Como se muestra en la figura 4, el antiguo sistema 420 de seguimiento ocular y/o el nuevo sistema 410 de seguimiento ocular pueden comprender uno o más iluminadores. Los iluminadores pueden ser, por ejemplo, iluminadores infrarrojos o en el infrarrojo cercano, por ejemplo, en forma de diodos emisores de luz (LED, por sus siglas en inglés). Sin embargo, también se pueden contemplar otros tipos de iluminadores.
Como se muestra en la figura 4, el antiguo sistema 420 de seguimiento ocular puede comprender, por ejemplo, un miembro 425 (por ejemplo, una placa de circuito, tal como una placa de circuito impreso, PCB, por sus siglas en inglés) en el que están montados el sensor 421 de seguimiento ocular y los iluminadores 422-424. De manera similar, el nuevo sistema 410 de seguimiento ocular puede comprender, por ejemplo, un miembro 414 (por ejemplo, una placa de circuito, tal como una PCB) en el que están montados el sensor 411 de seguimiento ocular y los iluminadores 412-413.
Se apreciará que el sistema 400 no necesita comprender necesariamente todos los componentes mostrados en la figura 4. Por ejemplo, el sistema 400 podría comprender únicamente el conjunto 431 de circuitos de procesamiento, y el resto de los componentes mostrados en la figura 4 podrían considerarse externos al sistema 400. En algunos ejemplos, el sistema 400 comprende el sistema 420 de seguimiento ocular empleado para generar los datos de seguimiento ocular de referencia recibidos en la etapa 302 en el método 300. En algunos ejemplos, el sistema 400 comprende el sensor 411 de seguimiento ocular empleado para obtener los datos de sensor recibidos en la etapa 301 en el método 300.
El sistema 420 de seguimiento ocular y el sistema 410 de seguimiento ocular pueden proporcionarse, por ejemplo, en forma de dos unidades o dispositivos separados, que pueden, por ejemplo, montarse en un dispositivo de visualización para realizar el seguimiento ocular.
La figura 5 es una vista general esquemática de un sistema 500 de seguimiento ocular ilustrativo. El antiguo sistema 420 de seguimiento ocular y/o el nuevo sistema 410 de seguimiento ocular de la figura 4 pueden ser, por ejemplo, del tipo descrito a continuación con referencia a la figura 5.
El sistema 500 comprende uno o más iluminadores 501 para iluminar el ojo 100 y uno o más dispositivos 502 de formación de imágenes para capturar imágenes del ojo 100 mientras el ojo 100 mira a un sistema 503 de visualización. El sistema 500 también comprende un conjunto 504 de circuitos de procesamiento configurados para estimar dónde está ubicado el ojo 100 y/o dónde mira el ojo 100. El conjunto 504 de circuitos de procesamiento puede, por ejemplo, estimar datos de seguimiento ocular tales como una dirección de la mirada (o vector de observación) del ojo 100 (correspondiente a una dirección del eje visual 109), o un punto 508 de observación del ojo 100 en el sistema 503 de visualización. Dicho de otra forma, el sistema 500 de seguimiento ocular puede ser, por ejemplo, un sistema de seguimiento de la mirada.
El conjunto 504 de circuitos de procesamiento está conectado de forma comunicativa a los iluminadores 501 y a los dispositivos 502 de formación de imágenes, por ejemplo, a través de una conexión por cable o inalámbrica. El conjunto 504 de circuitos de procesamiento también puede conectarse de forma comunicativa al sistema 503 de visualización, por ejemplo, para controlar (o activar) el sistema 503 de visualización para mostrar puntos de estímulo de prueba para la calibración del sistema 500 de seguimiento ocular.
La figura 5 muestra los iluminadores 501 ilustrativos ubicados en cada lado del sistema 503 de visualización, pero los iluminadores 501 podrían estar ubicados en otra parte. La figura 5 muestra dispositivos 502 de formación de imágenes ilustrativos ubicados por encima del sistema 503 de visualización, pero los dispositivos 502 de formación de imágenes podrían estar ubicados en otra parte, por ejemplo, por debajo del sistema 503 de visualización.
El sistema 503 de visualización puede ser, por ejemplo, una pantalla de cristal líquido (LCD, por sus siglas en inglés) o una pantalla LED. Sin embargo, también pueden contemplarse otros tipos de sistemas de visualización. El sistema 503 de visualización puede ser, por ejemplo, plano o curvado. El sistema 503 de visualización puede ser, por ejemplo, una pantalla de TV, una pantalla de ordenador, o puede formar parte de un visualizador en forma de visor (HMD), tal como un dispositivo de realidad virtual (VR, por sus siglas en inglés) o un dispositivo de realidad aumentada (AR, por sus siglas en inglés). El sistema 503 de visualización puede, por ejemplo, colocarse delante de uno de los ojos del usuario. Dicho de otra forma, se pueden emplear sistemas 503 de visualización separados para los ojos izquierdo y derecho. Los equipos de seguimiento ocular separados (tales como los iluminadores 501 y los dispositivos 502 de formación de imágenes) pueden emplearse, por ejemplo, para los ojos izquierdo y derecho.
El conjunto 504 de circuitos de procesamiento puede emplearse para el seguimiento ocular de ambos ojos, o puede haber un conjunto 504 de circuitos de procesamiento separado para los ojos izquierdo y derecho. El sistema 500 de seguimiento ocular puede, por ejemplo, realizar un seguimiento ocular de los ojos izquierdo y derecho por separado y, acto seguido, puede determinar un punto de observación combinado como un promedio de los puntos de observación para los ojos izquierdo y derecho.
El conjunto 504 de circuitos de procesamiento puede comprender, por ejemplo, uno o más procesadores 506. El(los) procesador(es) 506 puede(n) ser, por ejemplo, circuitos integrados para aplicaciones específicas (ASIC) configurados para realizar un método de seguimiento ocular específico. De manera alternativa, el(los) procesador(es) 506 puede(n) configurarse para ejecutar instrucciones (por ejemplo, en forma de un programa informático) almacenadas en una o más memorias 507. Dicha memoria 507 puede estar comprendida, por ejemplo, en el conjunto 504 de circuitos de procesamiento del sistema 500 de seguimiento ocular, o puede ser externa (por ejemplo, ubicada remotamente) al sistema 500 de seguimiento ocular. La memoria 507 puede almacenar instrucciones para hacer que el sistema 500 de seguimiento ocular realice un método de seguimiento ocular.
Se apreciará que el sistema 500 de seguimiento ocular descrito anteriormente con referencia a la figura 5 se proporciona como un ejemplo, y que pueden contemplarse muchos otros sistemas de seguimiento ocular. Por ejemplo, los iluminadores 501 y/o los dispositivos 502 de formación de imágenes no necesitan considerarse necesariamente como parte del sistema 500 de seguimiento ocular. El sistema 500 de seguimiento ocular puede consistir, por ejemplo, únicamente en el conjunto 504 de circuitos de procesamiento. Incluso existen sistemas de seguimiento ocular que no emplean iluminadores en absoluto. Además, algunos sistemas de seguimiento ocular emplean otros tipos de sensores de seguimiento ocular que los dispositivos de formación de imágenes. Dicho de otra forma, el sistema 500 de seguimiento ocular podría emplear otros tipos de datos de sensor que las imágenes para realizar el seguimiento ocular. El sistema 503 de visualización puede estar comprendido, por ejemplo, en el sistema 500 de seguimiento ocular, o puede considerarse separado del sistema 500 de seguimiento ocular.
El método 300 descrito anteriormente con referencia a la figura 3 puede, por ejemplo, recibir datos pasivamente en las etapas 301 y 302 procedentes del primer sensor de seguimiento ocular (ejemplificado en la figura 4 por el sensor 411) y el sistema de seguimiento ocular (ejemplificado en la figura 4 por el sistema 420). Sin embargo, el método 300 puede comprender además usar el primer sensor de seguimiento ocular para obtener datos del sensor en la instancia temporal (dicho de otra forma, los datos del sensor recibidos en la etapa 301) y/o usar el sistema de seguimiento ocular para generar los datos de seguimiento ocular de referencia para la instancia temporal (dicho de otra forma, los datos de seguimiento ocular recibidos en la etapa 302). Dicho de otra forma, el método 300 puede usar activamente el primer sensor 411 de seguimiento ocular y el sistema 420 de seguimiento ocular, por ejemplo, controlándolos (o dándoles instrucciones) para proporcionar los datos necesarios.
La figura 6 es un diagrama de flujo del método 600 para entrenar un modelo de seguimiento ocular, que incluye dicho uso explícito del primer sensor 411 de seguimiento ocular y del sistema 420 de seguimiento ocular, según un ejemplo. Aunque el método 600 se describe a continuación con referencia al sensor 411 de seguimiento ocular y al sistema 420 de seguimiento ocular mostrado en la figura 4, se apreciará que puede emplearse un sensor de seguimiento ocular diferente y/o un sistema de seguimiento ocular diferente en el método 600.
El método 600 comprende usar 601 el primer sensor 411 de seguimiento ocular para obtener datos de sensor en una instancia temporal. Esto corresponde a los datos de sensor recibidos en la etapa 301 en el método 300.
El método 600 comprende usar 602 un sistema 420 de seguimiento ocular para generar datos de seguimiento ocular de referencia para la instancia temporal. El sistema 420 de seguimiento ocular comprende un segundo sensor 421 de seguimiento ocular. Los datos de seguimiento ocular de referencia son generados por el sistema 420 de seguimiento ocular en función de los datos de sensor obtenidos por el segundo sensor 421 de seguimiento ocular en la instancia temporal. Dicho de otra forma, los datos de seguimiento ocular de referencia generados corresponden a los datos de seguimiento ocular de referencia generados recibidos en la etapa 302 en el método 300.
El método 600 comprende entrenar 303 el modelo de seguimiento ocular en función de los datos de sensor obtenidos por el primer sensor 411 de seguimiento ocular en la instancia temporal y de los datos de seguimiento ocular de referencia generados. Dicho de otra forma, el método 600 comprende la misma etapa 303 de entrenamiento que el método 300.
Según algunos ejemplos, los datos de seguimiento ocular predichos por el modelo de seguimiento ocular en el método 300 o el método 600 indican un punto de observación predicho de un ojo, y los datos de seguimiento ocular de referencia generados (recibidos en la etapa 302 del método 300 u obtenidos en la etapa 602 del método 600) indican un punto de observación de referencia del ojo. El punto de observación predicho y el punto de observación de referencia pueden ser, por ejemplo, puntos de observación en un sistema de visualización. Esto se ejemplifica en la figura 5 donde un punto 508 de observación predicho y un punto 505 de observación de referencia se muestran en el sistema 503 de visualización. En la figura 5 también se muestra una distancia 509 entre estos dos puntos de observación
Según algunos ejemplos, los datos de seguimiento ocular predichos por el modelo de seguimiento ocular en el método 300 o el método 600 indican un rayo de observación predicho de un ojo, y los datos de seguimiento ocular de referencia generados (recibidos en la etapa 302 u obtenidos en la etapa 602) indican un rayo de observación de referencia del ojo. Esto se ejemplifica en la figura 7, que muestra dos ejemplos de rayos de observación. Un primer rayo 701 de observación comienza en una primera posición 702 del ojo estimada y está dirigido a lo largo de un primer vector 703 de observación. Un segundo rayo 704 de observación comienza en una segunda posición 705 del ojo estimada y está dirigido a lo largo de un segundo vector 706 de observación. El primer rayo 701 de observación puede ser, por ejemplo, un rayo de observación predicho por el modelo de seguimiento ocular en el método 300 o el método 600, y el segundo rayo 704 de observación puede ser, por ejemplo, un rayo de observación de referencia indicado por los datos de seguimiento ocular de referencia generados recibidos en la etapa 302 en el método 300 u obtenidos en la etapa 602 en el método 300.
La figura 7 también muestra que una desviación entre los rayos 701 y 704 de observación puede medirse, por ejemplo, a través de un ángulo 707 formado entre los vectores 703 y 706 de observación. También se puede formar una distancia 708 entre las posiciones 702 y 705 del ojo estimadas. La figura 7 también muestra que el modelo 710 de seguimiento ocular puede emplear datos de sensor (tales como una imagen 709 de un ojo) para predecir datos de seguimiento ocular tales como el rayo 701 de observación.
Según algunos ejemplos, los datos de seguimiento ocular predichos por el modelo de seguimiento ocular en el método 300 o el método 600 indican una posición predicha de un ojo en el espacio, y los datos de seguimiento ocular de referencia generados (recibidos en la etapa 302 u obtenidos en la etapa 602) indican una posición de referencia del ojo en el espacio. Esto se ejemplifica en la figura 7. El punto 702 de origen de observación del primer rayo 701 de observación en la figura 7 puede ser una posición de ojo predicha por el modelo de seguimiento ocular en el método 300 o el método 600. El punto 705 de origen de observación del segundo rayo 704 de observación en la figura 7 puede ser una posición del ojo de referencia indicada por los datos de seguimiento ocular de referencia generados recibidos en la etapa 302 en el método 300 u obtenidos en la etapa 602 en el método 600.
La figura 8 muestra un esquema de cómo se puede entrenar un modelo de seguimiento ocular en los métodos 300 y 600 descritos anteriormente con referencia a las figuras 3 y 6, según un ejemplo. En el presente ejemplo, la etapa de entrenar 303 el modelo de seguimiento ocular comprende:
• predecir 801 los datos de seguimiento ocular para la instancia temporal usando el modelo de seguimiento ocular y los datos de sensor obtenidos por el primer sensor de seguimiento ocular en la instancia temporal;
• aplicar 802 una función objetivo a al menos los datos de seguimiento ocular predichos por el modelo de seguimiento ocular para la instancia temporal y los datos de seguimiento ocular de referencia generados; y
• actualizar 803 el modelo de seguimiento ocular.
Dicho de otra forma, se emplea una función objetivo (tal como una función de coste o función de pérdida) para evaluar si las predicciones realizadas por el modelo de seguimiento ocular parecen ser compatibles o no con los datos de seguimiento ocular de referencia. El modelo de seguimiento ocular es actualizado 803 para mejorar su capacidad para realizar predicciones precisas.
La etapa 802 de aplicar la función objetivo puede incluir insertar los datos de seguimiento ocular predichos por el modelo de seguimiento ocular para la instancia temporal y los datos de seguimiento ocular de referencia generados en la función objetivo. Se apreciará que la etapa 802 de aplicar la función objetivo también puede comprender, por ejemplo, insertar datos adicionales en la función objetivo.
La etapa 803 de actualizar el modelo de seguimiento ocular puede comprender, por ejemplo, modificar un valor de al menos un parámetro del modelo de seguimiento ocular. Si la función objetivo es una función de coste (o una función de pérdida), que se supone que tiene un valor bajo si la predicción 801 es precisa, entonces el modelo de seguimiento ocular puede modificarse, por ejemplo, para reducir un valor de la función objetivo (por ejemplo, a través del descenso graduado). Si, por otro lado, la función objetivo es una función que debería maximizarse (por ejemplo, si la función objetivo es una función de coste multiplicada por -1), entonces el modelo de seguimiento ocular puede modificarse, por ejemplo, para aumentar un valor de la función objetivo.
Según algunos ejemplos, la etapa de aplicar 802 la función objetivo comprende formar una distancia entre un punto de observación predicho indicado por los datos de seguimiento ocular predichos para la instancia temporal y un punto de observación de referencia indicado por los datos de seguimiento ocular de referencia generados. Esto se ejemplifica en la figura 5 donde se ilustra una distancia 509 entre un punto 508 de observación predicho y un punto 505 de observación de referencia. Si la predicción proporcionada por el modelo de seguimiento ocular es precisa, esta distancia 509 debería ser pequeña.
Según algunos ejemplos, la etapa de aplicar 802 la función objetivo comprende formar una desviación entre un rayo de observación predicho indicado por los datos de seguimiento ocular predichos para la instancia temporal y un rayo de observación de referencia indicado por los datos de seguimiento ocular de referencia generados. Esto se ejemplifica en la figura 7, donde el primer rayo 701 de observación corresponde a un rayo de observación predicho por el modelo de seguimiento ocular en el método 300 o el método 600, y el segundo rayo 704 de observación corresponde a un rayo de observación de referencia indicado por los datos de seguimiento ocular de referencia generados recibidos en la etapa 302 en el método 300 u obtenidos en la etapa 602 en el método 600. La desviación entre el rayo 701 de observación predicho y el rayo 704 de observación de referencia puede expresarse, por ejemplo, en forma del ángulo 707 formado entre los respectivos vectores 703 y 706 de observación. Si la predicción proporcionada por el modelo de seguimiento ocular es precisa, este ángulo 707 debería ser pequeño.
Según algunos ejemplos, la etapa de aplicar 802 la función objetivo comprende formar una distancia entre una posición del ojo predicha indicada por los datos de seguimiento ocular predichos para la instancia temporal y una posición del ojo de referencia indicada por los datos de seguimiento ocular de referencia generados. Esto se ejemplifica en la figura 7, donde el punto 702 de origen de observación del primer rayo 701 de observación corresponde a una posición del ojo predicha por el modelo de seguimiento ocular en el método 300 o el método 600, y donde el punto 705 de origen de observación del segundo rayo 704 de observación corresponde a una posición del ojo de referencia indicada por los datos de seguimiento ocular de referencia generados recibidos en la etapa 302 en el método 300 u obtenidos en la etapa 602 en el método 600. Si la predicción proporcionada por el modelo de seguimiento ocular es precisa, la distancia 708 entre la posición 702 del ojo predicha y la posición 705 del ojo de referencia debería ser pequeña.
La figura 9 muestra un esquema de cómo se puede realizar el entrenamiento del modelo de seguimiento ocular en los métodos 300 y 600 descritos anteriormente con referencia a las figuras 6 y 7, según un ejemplo. En el presente ejemplo, la etapa 303 de entrenar el modelo de seguimiento ocular comprende predecir 901 datos de seguimiento ocular para la instancia temporal usando el modelo de seguimiento ocular y datos de sensor obtenidos por el primer sensor de seguimiento ocular en la instancia temporal. Se realiza una verificación 902 para ver si una desviación entre los datos de seguimiento ocular predichos 901 por el modelo de seguimiento ocular para la instancia temporal y los datos de seguimiento ocular de referencia generados (que se reciben en la etapa 302 o se generan en la etapa 602) excede un umbral. Si la desviación supera el umbral, entonces el esquema/método continúa entrenando 903 el modelo de seguimiento ocular en función de los datos de seguimiento ocular predichos por el modelo de seguimiento ocular para la instancia temporal y de los datos de seguimiento ocular de referencia generados. Si, por otro lado, la desviación no supera el umbral, entonces los datos de seguimiento ocular predichos por el modelo de seguimiento ocular para la instancia temporal y los datos de seguimiento ocular de referencia generados pueden no emplearse para el entrenamiento del modelo de seguimiento ocular (según lo indicado por la etapa 904 en la figura 9).
Dicho de otra forma, siempre que los datos de seguimiento de la mirada predichos se correspondan (o coincidan) con los datos de seguimiento de la mirada de referencia, puede no haber necesidad de entrenar el modelo de seguimiento ocular. Si, por otro lado, se detecta que los datos de seguimiento ocular predichos se desvían de los datos de seguimiento ocular de referencia, entonces puede ser necesario el entrenamiento. El modelo de seguimiento ocular puede, por ejemplo, funcionar bien para algunos tipos de datos de entrada (o para algunos escenarios o actividades del usuario), pero peor para otros tipos de datos de entrada. El esquema descrito anteriormente con referencia a la figura 9 permite que el modelo de seguimiento ocular sea entrenado para tales tipos de datos de entrada donde realmente se necesite más entrenamiento, en lugar de un entrenamiento a ciegas para todos los tipos de datos de entrada.
La desviación empleada en la etapa 902 en la figura 9 puede ser, por ejemplo, una desviación entre un punto de observación predicho y un punto de observación de referencia, una desviación entre un rayo de observación predicho y un rayo de observación de referencia, o una desviación entre una posición del ojo predicha y una posición del ojo de referencia.
El umbral empleado en la etapa 902 en la figura 9 puede estar, por ejemplo, predefinido. Sin embargo, también se pueden contemplar ejemplos en los que se pueda cambiar o modificar este umbral.
La figura 10 muestra un método 1000 para entrenar un modelo de seguimiento ocular, según un ejemplo. El método 1000 es similar al método 300 descrito anteriormente con referencia a la figura 3, pero comprende además usar 1001 el sistema de seguimiento ocular (ejemplificado en la figura 4 por el sistema 420 de seguimiento ocular) para detectar una determinada acción de activación de un ojo 100. La determinada acción de activación comprende:
• una fijación; y/o
• un movimiento sacádico; y/o
• una búsqueda uniforme.
En el método 1000, la etapa 301 de recepción de los datos de sensor obtenidos por el primer sensor de seguimiento ocular en la instancia temporal (que puede denominarse etapa de adquisición de datos) y/o la etapa 303 de entrenamiento del modelo de seguimiento ocular pueden realizarse en respuesta a la detección de la determinada acción de activación del ojo. Dicho de otra forma, si se detecta la acción de activación, entonces se puede realizar la etapa 301 de adquisición de datos y la etapa 303 de entrenamiento. Si, por otro lado, la acción de activación no se detecta, entonces la etapa 301 de adquisición de datos y la etapa 303 de entrenamiento pueden omitirse, o la etapa 301 de adquisición de datos puede realizarse y la etapa 303 de entrenamiento puede omitirse.
El método 1000 descrito anteriormente con referencia a la figura 10 permite que el modelo de seguimiento ocular sea entrenado para manejar mejor determinados escenarios, tales como fijaciones, movimientos sacádicos o búsquedas uniformes, en lugar de entrenar el modelo de seguimiento ocular a ciegas para todos los tipos de datos de entrada. Determinados escenarios pueden ser, por ejemplo, particularmente difíciles de manejar para el modelo de seguimiento ocular, o algunos escenarios pueden requerir una mejor precisión que otros escenarios. Por lo tanto, puede ser útil entrenar el modelo específicamente para tales escenarios. El entrenamiento del modelo de seguimiento ocular puede, por ejemplo, basarse en datos de entrenamiento recopilados en relación con la acción de activación, tal como durante la acción de activación, y/o poco antes de la acción de activación, y/o poco después de la acción de activación.
En el método 1000, la acción de activación puede detectarse, por ejemplo, analizando datos de seguimiento ocular recibidos del sistema de seguimiento ocular, o puede recibirse una indicación explícita de la acción de activación, por ejemplo, desde el sistema de seguimiento ocular.
El método 1000 descrito anteriormente con referencia a la figura 10, se proporciona en el contexto del método 300 descrito anteriormente con referencia a la figura 3. Se apreciará que el método 1000 puede ser fácilmente modificado para ser empleado en el contexto del método 600 descrito anteriormente con referencia a la figura 6. Dicho de otra forma, la etapa 601 y/o la etapa 303 en el método 600 pueden estar condicionadas tras la detección de una determinada acción de activación del ojo 100, como las etapas 301 y 303 del método 300.
La figura 11 es un diagrama de flujo de un método 1100 para entrenar un modelo de seguimiento ocular, según un ejemplo. El método 1100 es similar al método 300 descrito anteriormente con referencia a la figura 3, pero el método 1100 incluye nuevas etapas 1101-1102, y la etapa 303 se expresa en términos de una nueva etapa 1103. En el presente ejemplo, el modelo de seguimiento ocular es uno de varios modelos de seguimiento ocular. Los modelos de seguimiento ocular están asociados con respectivos usuarios o personas potenciales.
El método 1100 comprende detectar 1101 la presencia de un usuario (o de una persona), y seleccionar 1102 el modelo de seguimiento ocular asociado con el usuario (o persona). La presencia del usuario puede, por ejemplo, ser detectada 1101 por el sistema de seguimiento ocular, o por el primer sensor de seguimiento ocular. La presencia del usuario puede, por ejemplo, ser detectada mediante datos biométricos (tales como reconocimiento facial, o un dedo o, o un escaneo del iris) o mediante algún tipo de credencial (tal como una tarjeta inteligente o una etiqueta de sensor inalámbrico). El modelo de seguimiento ocular puede seleccionarse 1102, por ejemplo, de una base de datos de usuarios potenciales y sus respectivos modelos de seguimiento ocular.
El método 1100 comprende entrenar 1103 el modelo de seguimiento ocular seleccionado en función de los datos de sensor obtenidos por el primer sensor de seguimiento ocular en la instancia temporal (dicho de otra forma, los datos de sensor recibidos en la etapa 301) y de los datos de seguimiento ocular de referencia generados (dicho de otra forma, datos de seguimiento ocular de referencia recibidos en la etapa 302).
El método 1100 descrito anteriormente con referencia a la figura 11, se proporciona en el contexto del método 300 descrito anteriormente con referencia a la figura 3. Se apreciará que el método 1100 puede ser fácilmente modificado en lugar de ser empleado en el contexto del método 600 descrito anteriormente con referencia a la figura 6. Más específicamente, la etapa 301-302 en el método 1100 podría sustituirse, por ejemplo, por las etapas 601-602 del método 600.
Según algunos ejemplos, el método 300 descrito anteriormente con referencia a la figura 3 puede ampliarse para realizar el entrenamiento para datos de sensor de una secuencia de instancias temporales. Más específicamente, el método 300 puede comprender:
• recibir datos de sensor obtenidos por el primer sensor de seguimiento ocular en una secuencia de instancias temporales;
• recibir datos de seguimiento ocular de referencia para la secuencia de instancias temporales generados por el sistema de seguimiento ocular, donde los datos de seguimiento ocular de referencia para la secuencia de instancias temporales se generan por el sistema de seguimiento ocular en función de los datos de sensor obtenidos por el segundo sensor de seguimiento ocular en la secuencia de instancias temporales; y
• entrenar el modelo de seguimiento ocular en función de los datos de sensor obtenidos por el primer sensor de seguimiento ocular para la secuencia de instancias temporales y de los datos de seguimiento ocular de referencia generados para la secuencia de instancias temporales, y/o almacenar los datos de sensor obtenidos por el primer sensor de seguimiento ocular para la secuencia de instancias temporales y los datos de seguimiento ocular de referencia generados para la secuencia de instancias temporales.
Dicho de otra forma, los datos para las instancias temporales pueden emplearse para entrenar el modelo de seguimiento ocular, o pueden almacenarse para su uso en el entrenamiento posterior. Los datos de entrenamiento pueden almacenarse, por ejemplo, en una base de datos o pueden subirse a la nube. El entrenamiento de los datos de seguimiento ocular puede realizarse, por ejemplo, en una ubicación remota desde donde se recopilaron los datos de entrenamiento. El entrenamiento del modelo de seguimiento ocular puede realizarse, por ejemplo, gradualmente cuando los datos de entrenamiento se encuentran disponibles. De manera alternativa, se pueden recopilar en primer lugar muchos datos de entrenamiento y posteriormente se puede realizar el entrenamiento usando los datos de entrenamiento recopilados. Una vez que el modelo de seguimiento ocular ha sido suficientemente entrenado, por ejemplo, puede emplearse en un sistema de seguimiento ocular para predecir datos de seguimiento ocular en tiempo real.
Los métodos y esquemas descritos anteriormente con referencia a las figuras 3-11 representan un primer aspecto de la presente descripción. El sistema 400 descrito anteriormente con referencia a la figura 4 representa un segundo aspecto de la presente descripción. El sistema 400 (o el conjunto 430 de circuitos de procesamiento del sistema 400) puede, por ejemplo, configurarse para realizar el método de cualquiera de los ejemplos del primer aspecto descrito anteriormente. El sistema 400 puede configurarse, por ejemplo, para realizar el método 300 descrito anteriormente con referencia a la figura 3 o el método 600 descrito anteriormente con referencia a la figura 6.
El sistema 400 puede comprender, por ejemplo, un conjunto 430 de circuitos de procesamiento (o uno o más procesadores 431) y una o más memorias 432, conteniendo la una o más memorias 432 instrucciones ejecutables por el conjunto 430 de circuitos de procesamiento (o uno o más procesadores 431), por lo que el sistema 400 es operable para realizar el método de cualquiera de los ejemplos del primer aspecto descrito en la presente memoria.
Como se describió anteriormente con referencia a la figura 4, el sistema 400 no tiene que comprender necesariamente todos los elementos mostrados en la figura 4.
Un tercer aspecto de la presente descripción está representado por ejemplos de un medio 432 de almacenamiento legible por ordenador no transitorio que almacena instrucciones que, cuando son ejecutadas por el sistema 400 (o por el conjunto 430 de circuitos de procesamiento del sistema 400), hacen que el sistema 400 realice el método de cualquiera de los ejemplos del primer aspecto descrito anteriormente (tal como el método 300 descrito anteriormente con referencia a la figura 3, o el método 600 descrito anteriormente con referencia a la figura 6).
Como se describió anteriormente con referencia a la figura 4, el medio 432 de almacenamiento no tiene que estar necesariamente comprendido en el sistema 400.
El experto en la técnica es consciente de que el enfoque propuesto presentado en la presente descripción no se limita de ninguna manera a los ejemplos preferidos descritos anteriormente. Por el contrario, son posibles varias modificaciones y variaciones dentro del alcance de las reivindicaciones adjuntas. Por ejemplo, los ejemplos descritos anteriormente con referencia a las figuras 1-11 pueden combinarse para formar ejemplos adicionales. Además, se apreciará que el sistema 400 mostrado en la figura 400 está meramente destinado como un ejemplo, y que otros sistemas también pueden realizar los métodos descritos anteriormente con referencia a las figuras 1-11.
Se apreciará que un conjunto 430 de circuitos de procesamiento (o uno o más procesadores) puede comprender una combinación de uno o más de un microprocesador, controlador, microcontrolador, unidad de procesamiento central, procesador de señales digitales, circuito integrado para aplicaciones específicas, matriz de puertas programables en campo, o cualquier otro dispositivo informático adecuado, recurso o combinación de hardware, software y/o lógica codificada operable para proporcionar funcionalidad informática, solo o junto con otros componentes informáticos (tales como una memoria o medio de almacenamiento).
También se apreciará que una memoria o medio 432 de almacenamiento (o un medio legible por ordenador) puede comprender cualquier forma de memoria legible por ordenador volátil o no volátil que incluye, sin limitación, almacenamiento persistente, memoria de estado sólido, memoria montada remotamente, medios magnéticos, medios ópticos, memoria de acceso aleatorio (RAM, por sus siglas en inglés), memoria de solo lectura (ROM, por sus siglas en inglés), medios de almacenamiento masivo (por ejemplo, un disco duro), medios de almacenamiento extraíbles (por ejemplo, una unidad flash, un disco compacto (CD, por sus siglas en inglés) o un disco de vídeo digital (DVD, por sus siglas en inglés)), y/o cualquier otro dispositivo volátil o no volátil, no transitorio, legible y/o dispositivos de memoria ejecutables por ordenador que almacenen información, datos y/o instrucciones que puedan ser utilizados por un procesador o conjunto de circuitos de procesamiento.
De forma adicional, las personas expertas en la técnica pueden entender y efectuar variaciones de los ejemplos descritos al poner en práctica la invención reivindicada, a partir de un estudio de los dibujos, la descripción y las reivindicaciones adjuntas. En las reivindicaciones, la expresión “que comprende” no excluye otros elementos o etapas, y el artículo indefinido “ un” o “ una” no excluye una pluralidad. En las reivindicaciones, la palabra “o” no debe interpretarse como una o exclusiva (en ocasiones denominada “XOR”).
El mero hecho de que determinadas medidas se mencionen en reivindicaciones dependientes diferentes entre sí no indica que una combinación de estas medidas no pueda usarse ventajosamente. No deberá interpretarse que cualquier signo de referencia en las reivindicaciones está limitando el alcance.

Claims (1)

  1. REIVINDICACIONES
    Un método (300) para entrenar un modelo (710) de seguimiento ocular, en donde el modelo (710) de seguimiento ocular está adaptado para estimar datos de seguimiento ocular en función de los datos (709) de sensor procedentes de un primer sensor (411) de seguimiento ocular de un nuevo sistema (410) de seguimiento ocular, en donde el primer sensor (411) de seguimiento ocular está dispuesto para monitorizar un ojo (100), comprendiendo el método:
    recibir (301) datos de sensor, en donde los datos de sensor se obtienen por el primer sensor (411) de seguimiento ocular en una instancia temporal;
    caracterizado por:
    recibir (302) datos de seguimiento ocular de referencia para dicha instancia temporal generados por un antiguo sistema (420) de seguimiento ocular que comprende un segundo sensor (421) de seguimiento ocular, dispuesto para monitorizar el ojo (100), en donde los datos de seguimiento ocular de referencia son generados por el antiguo sistema (420) de seguimiento ocular en función de los datos de sensor obtenidos por el segundo sensor (421) de seguimiento ocular en dicha instancia temporal; y entrenar (303) el modelo (710) de seguimiento ocular en función de los datos de sensor obtenidos por el primer sensor (411) de seguimiento ocular en dicha instancia temporal y de los datos de seguimiento ocular de referencia generados para dicha instancia temporal.
    El método de la reivindicación 1, que comprende, además:
    usar (601) el primer sensor (411) de seguimiento ocular para obtener datos de sensor en dicha instancia temporal, y/o
    usar (602) el antiguo sistema (420) de seguimiento ocular para generar los datos de seguimiento ocular de referencia para dicha instancia temporal.
    El método de cualquiera de las reivindicaciones anteriores,
    en donde los datos de seguimiento ocular estimados por el modelo (710) de seguimiento ocular indican un punto (508) de observación estimado del ojo (100), y en donde los datos de seguimiento ocular de referencia generados indican un punto (505) de observación de referencia del ojo (100); y/o
    en donde los datos de seguimiento ocular estimados por el modelo (710) de seguimiento ocular indican un rayo (701) de observación estimado del ojo (100), y en donde los datos de seguimiento ocular de referencia generados indican un rayo (704) de observación de referencia del ojo (100); y/o
    en donde los datos de seguimiento ocular estimados por el modelo (710) de seguimiento ocular indican una posición estimada (702) del ojo (100) en el espacio, y en donde los datos de seguimiento ocular de referencia generados indican una posición (705) de referencia del ojo (100) en el espacio.
    Un sistema (400) para entrenar un modelo (710) de seguimiento ocular, en donde el modelo de seguimiento ocular está adaptado para estimar datos de seguimiento ocular en función de los datos (709) de sensor procedentes de un primer sensor (411) de seguimiento ocular de un nuevo sistema (410) de seguimiento ocular, en donde el primer sensor (411) de seguimiento ocular está dispuesto para monitorizar un ojo (100), comprendiendo el sistema (400) un conjunto (430) de circuitos de procesamiento configurado para:
    recibir datos de sensor, en donde los datos de sensor se obtienen por el primer sensor (411) de seguimiento ocular en una instancia temporal;
    caracterizado porque el conjunto (430) de circuitos de procesamiento está configurado además para:
    recibir datos de seguimiento ocular de referencia para dicha instancia temporal generados por un antiguo sistema (420) de seguimiento ocular que comprende un segundo sensor (421) de seguimiento ocular, dispuesto para monitorizar el ojo (100),
    en donde los datos de seguimiento ocular de referencia son generados por el antiguo sistema (420) de seguimiento ocular en función de los datos de sensor obtenidos por el segundo sensor (420) de seguimiento ocular en dicha instancia temporal; y entrenar el modelo (710) de seguimiento ocular en función de los datos de sensor obtenidos por el primer sensor (411) de seguimiento ocular en dicha instancia temporal y de los datos de seguimiento ocular de referencia generados para dicha instancia temporal.
    5. Un medio (432) de almacenamiento legible por ordenador no transitorio que almacena instrucciones para entrenar un modelo (710) de seguimiento ocular, en donde el modelo de seguimiento ocular está adaptado para estimar datos de seguimiento ocular en función de los datos (709) de sensor procedentes de un primer sensor (411) de seguimiento ocular de un nuevo sistema (410) de seguimiento ocular, en donde el primer sensor (411) de seguimiento ocular está dispuesto para monitorizar un ojo (100), en donde las instrucciones, cuando son ejecutadas por un sistema (400), hacen que el sistema (400):
    reciba datos de sensor, en donde los datos de sensor se obtienen por el primer sensor (411) de seguimiento ocular en una instancia temporal;
    caracterizado porque las instrucciones, cuando son ejecutadas por un sistema (400), hacen además que el sistema (400):
    reciba datos de seguimiento ocular de referencia para dicha instancia temporal generados por un antiguo sistema (420) de seguimiento ocular que comprende un segundo sensor (421) de seguimiento ocular, dispuesto para monitorizar el ojo (100), en donde los datos de seguimiento ocular de referencia son generados por el antiguo sistema (420) de seguimiento ocular en función de los datos de sensor obtenidos por el segundo sensor (421) de seguimiento ocular en dicha instancia temporal; y entrenar el modelo (710) de seguimiento ocular en función de los datos de sensor obtenidos por el primer sensor (411) de seguimiento ocular en dicha instancia temporal y de los datos de seguimiento ocular de referencia generados para dicha instancia temporal.
ES20166411T 2019-03-29 2020-03-27 Entrenar un modelo de seguimiento ocular Active ES2926953T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE1950387A SE543273C2 (en) 2019-03-29 2019-03-29 Training an eye tracking model

Publications (1)

Publication Number Publication Date
ES2926953T3 true ES2926953T3 (es) 2022-10-31

Family

ID=70056996

Family Applications (3)

Application Number Title Priority Date Filing Date
ES22176897T Active ES3004783T3 (en) 2019-03-29 2020-03-27 Training an eye tracking model
ES20166411T Active ES2926953T3 (es) 2019-03-29 2020-03-27 Entrenar un modelo de seguimiento ocular
ES22176896T Active ES3018945T3 (en) 2019-03-29 2020-03-27 Training an eye tracking model

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES22176897T Active ES3004783T3 (en) 2019-03-29 2020-03-27 Training an eye tracking model

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES22176896T Active ES3018945T3 (en) 2019-03-29 2020-03-27 Training an eye tracking model

Country Status (5)

Country Link
US (2) US11386290B2 (es)
EP (3) EP4083755B1 (es)
CN (2) CN111753628B (es)
ES (3) ES3004783T3 (es)
SE (1) SE543273C2 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113537295B (zh) * 2021-06-22 2023-10-24 北京航空航天大学 基于离群点引导的视线估计跨场景适配方法和装置
US12488500B2 (en) * 2022-05-20 2025-12-02 Apple Inc. Methods, systems, and apparatuses for simultaneous eye characteristic tracking and eye model updating

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6659611B2 (en) * 2001-12-28 2003-12-09 International Business Machines Corporation System and method for eye gaze tracking using corneal image mapping
US8299979B2 (en) * 2003-05-14 2012-10-30 Broadcom Corporation Integral eye-path alignment on telephony and computer video devices using two or more image sensing devices
TW200842733A (en) * 2007-04-17 2008-11-01 Univ Nat Chiao Tung Object image detection method
KR101386793B1 (ko) * 2007-09-21 2014-04-21 플레이데이타, 엘엘씨 개체 위치 및 움직임 검출 시스템 및 그 방법
US8447128B2 (en) * 2008-04-07 2013-05-21 Fujifilm Corporation Image processing system
JP5429445B2 (ja) * 2008-04-08 2014-02-26 富士フイルム株式会社 画像処理システム、画像処理方法、およびプログラム
US8255827B2 (en) * 2009-01-26 2012-08-28 Microsoft Corporation Dynamic feature presentation based on vision detection
US8553936B2 (en) * 2009-03-03 2013-10-08 The Ohio State University Gaze tracking measurement and training system and method
US20120105486A1 (en) * 2009-04-09 2012-05-03 Dynavox Systems Llc Calibration free, motion tolerent eye-gaze direction detector with contextually aware computer interaction and communication methods
JP5704829B2 (ja) 2010-03-25 2015-04-22 ユニ・チャーム株式会社 ポリ乳酸系エアスルー不織布の製造方法、及びポリ乳酸系エアスルー不織布
US9557812B2 (en) * 2010-07-23 2017-01-31 Gregory A. Maltz Eye gaze user interface and calibration method
US8593375B2 (en) * 2010-07-23 2013-11-26 Gregory A Maltz Eye gaze user interface and method
US8885882B1 (en) * 2011-07-14 2014-11-11 The Research Foundation For The State University Of New York Real time eye tracking for human computer interaction
EP3200046A1 (en) * 2011-10-27 2017-08-02 Tobii Technology AB Power management in an eye-tracking system
US8942419B1 (en) * 2012-01-06 2015-01-27 Google Inc. Position estimation using predetermined patterns of light sources
US9004687B2 (en) * 2012-05-18 2015-04-14 Sync-Think, Inc. Eye tracking headset and system for neuropsychological testing including the detection of brain damage
KR101979669B1 (ko) * 2012-07-13 2019-05-17 삼성전자주식회사 이미지 내 사용자의 시선 보정 방법, 기계로 읽을 수 있는 저장 매체 및 통신 단말
US9480397B2 (en) * 2013-09-24 2016-11-01 Sony Interactive Entertainment Inc. Gaze tracking variations using visible lights or dots
US20150102981A1 (en) * 2013-10-11 2015-04-16 Microsoft Corporation Eye tracking
US20160296627A1 (en) 2013-12-06 2016-10-13 Envisia Therapeutics Inc. Intracameral implant for treatment of an ocular condition
US9489739B2 (en) * 2014-08-13 2016-11-08 Empire Technology Development Llc Scene analysis for improved eye tracking
US9563805B2 (en) * 2014-09-02 2017-02-07 Hong Kong Baptist University Method and apparatus for eye gaze tracking
CN107111355B (zh) * 2014-11-03 2021-03-12 宝马股份公司 用于校准眼睛跟踪系统的方法和系统
EP3294113B1 (en) 2015-05-08 2019-09-25 Apple Inc. Eye tracking device and method for operating an eye tracking device
US10108261B1 (en) * 2017-07-05 2018-10-23 Oculus Vr, Llc Eye tracking based on light polarization
US10489648B2 (en) * 2017-08-04 2019-11-26 Facebook Technologies, Llc Eye tracking using time multiplexing

Also Published As

Publication number Publication date
EP3716021A2 (en) 2020-09-30
CN114495251B (zh) 2025-09-30
ES3018945T3 (en) 2025-05-19
CN111753628B (zh) 2022-01-11
US11941172B2 (en) 2024-03-26
US11386290B2 (en) 2022-07-12
SE1950387A1 (en) 2020-09-30
CN111753628A (zh) 2020-10-09
ES3004783T3 (en) 2025-03-13
EP4083756B1 (en) 2024-10-30
US20220334219A1 (en) 2022-10-20
EP4083756A1 (en) 2022-11-02
EP3716021B1 (en) 2022-08-03
US20210012157A1 (en) 2021-01-14
SE543273C2 (en) 2020-11-10
EP3716021A3 (en) 2020-11-04
CN114495251A (zh) 2022-05-13
EP4083755B1 (en) 2025-02-19
EP4083755A1 (en) 2022-11-02

Similar Documents

Publication Publication Date Title
ES3039315T3 (en) Reliability of gaze tracking data for left and right eye
ES3023338T3 (en) Eye tracking using eyeball center position
US9844317B2 (en) Method and system for automatic eyesight diagnosis
US11967075B2 (en) Application to determine reading/working distance
JP5571864B1 (ja) 光学焦点の遠隔測定のためのシステム及び方法
ES2887976T3 (es) Compensación del radio de la pupila
ES2911698T3 (es) Procedimientos y aparatos para tomar una determinación sobre un ojo en condiciones de iluminación ambiental
BR112021025849A2 (pt) Técnicas de geração de imagem ocular multimodal e aparelho
JP6631951B2 (ja) 視線検出装置及び視線検出方法
ES2959956T3 (es) Un método para realizar una prueba de examen ocular
GB2581651A (en) Opthalmoscope using natural pupil dilation
JP5073377B2 (ja) 眼科測定装置
ES2945789T3 (es) Método y dispositivo para calibrar un oculómetro
ES2926953T3 (es) Entrenar un modelo de seguimiento ocular
US20240049963A1 (en) Cover-Uncover Test in a VR/AR Headset
ES2988871T3 (es) Sistema de seguimiento ocular
CN104161495A (zh) 视力检查预测装置
ES2926361T3 (es) Calibración continua basada en características de la pupila
US20220022743A1 (en) Portable device for visual function testing
US11864834B1 (en) Multi-tiled plenoptic system for the detection and correction of ocular defects and for improved foveated rendering
RU2668462C1 (ru) Способ исследования поля зрения и устройство для его реализации
WO2020240052A1 (es) Sistema de medición de parámetros clínicos de la función visual