ES2988871T3 - Sistema de seguimiento ocular - Google Patents

Sistema de seguimiento ocular Download PDF

Info

Publication number
ES2988871T3
ES2988871T3 ES22180462T ES22180462T ES2988871T3 ES 2988871 T3 ES2988871 T3 ES 2988871T3 ES 22180462 T ES22180462 T ES 22180462T ES 22180462 T ES22180462 T ES 22180462T ES 2988871 T3 ES2988871 T3 ES 2988871T3
Authority
ES
Spain
Prior art keywords
flicker
validated
blink
signal
gaze
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
ES22180462T
Other languages
English (en)
Inventor
Joakim Zachrisson
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 ES2988871T3 publication Critical patent/ES2988871T3/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
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/14Arrangements specially adapted for eye photography
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biophysics (AREA)
  • Image Analysis (AREA)
  • Eye Examination Apparatus (AREA)
  • Dc Digital Transmission (AREA)

Abstract

Un sistema de seguimiento ocular que comprende un controlador configurado para: recibir una señal de parpadeo que representa si se ha detectado o no un parpadeo en una imagen actual; y recibir un indicador de calidad que representa la calidad de los datos en la imagen actual. El controlador está configurado además para establecer una señal de parpadeo validada en un valor de parpadeo validado si: la señal de parpadeo indica que se ha detectado un parpadeo; y el indicador de calidad es menor que un umbral de parpadeo validado. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistema de seguimiento ocular
Campo de la invención
La presente descripción se refiere en general al campo del seguimiento ocular. En particular, la presente divulgación se refiere a unos sistemas de seguimiento ocular y a unos métodos para validar un parpadeo detectado.
Antecedentes
En las aplicaciones de seguimiento ocular se obtienen unas imágenes digitales de los ojos de un usuario, y las imágenes digitales se analizan para estimar la dirección de mirada del usuario. La estimación de la dirección de mirada puede basarse en un análisis de imágenes por ordenador de unas características del ojo fotografiado. Un ejemplo conocido de un método de seguimiento ocular incluye el uso de luz infrarroja y de un sensor de imágenes. La luz infrarroja se dirige hacia la pupila de un usuario y la reflexión de la luz es captada por un sensor de imágenes.
En “ Eye blink detection for different driver states in conditionally automated driving and manual driving using EOG and a driver camera” , de SCHMIDT JURGEN Y COL., BEHAVIOR RESEARCH METHODS, SPRINGER US, NEW YORK, vol. 50, n. ° 3, 17 de julio 2017 (2017-07-17), págs. 1088-1101, XP036548783, DOI: 10.3758/S13428-017-0928-0, se examina el rendimiento de distintos algoritmos de detección de parpadeo con diversas limitaciones, tales como una evaluación del rendimiento de un electrooculograma y de un proceso de detección de parpadeo basado en cámaras tanto en una fase de conducción manual como en una condicionalmente automatizada.
En el documento US 2003/169.907 A1 se divulga un método para determinar la dirección de mirada de un observador que comprende los pasos de: (a) captar al menos una imagen del observador y determinar un ángulo de postura de cabeza del observador; (b) utilizar el ángulo de postura de cabeza para localizar una posición de ojo esperada del observador, y (c) analizar la posición de ojo esperada para localizar al menos un ojo del observador y observar la ubicación del ojo para determinar la dirección de mirada.
En el documento US 2019/141.458 A1 se divulga un ajuste de una configuración de audífono basado en una información pupilar.
Muchos sistemas de seguimiento ocular estiman la dirección de mirada basándose en una identificación de una posición de pupila junto con unos destellos o unos reflejos corneales. Por lo tanto, una exactitud de la estimación de la dirección de mirada puede depender de una exactitud de la identificación o detección de la posición de pupila y/o de los reflejos corneales. En las imágenes digitales puede haber presentes una o más características de imagen espurias, tales como unos reflejos dispersos, lo que puede afectar negativamente a la identificación de características oculares. Por ejemplo, las características de imagen espurias pueden dar como resultado una coincidencia de destello a iluminador incorrecta y/o una posición de pupila incorrecta, lo que se traduce en una determinación de mirada errónea. Puede resultar difícil determinar cuándo se han producido tales errores, y los sistemas de seguimiento ocular pueden quedarse atascados en una secuencia de seguimiento errónea.
También se han descrito previamente dispositivos de seguimiento ocular portátiles o ponibles. Un sistema de seguimiento ocular de este tipo se describe en el la patente US- 9.041.787. Se describe un dispositivo de seguimiento ocular ponible que utiliza iluminadores y sensores de imágenes para determinar la dirección de la mirada.
Resumen
La invención se define en las reivindicaciones independientes 1, 13 y 14. En las reivindicaciones dependientes se definen unas realizaciones preferidas. Tal y como se reivindica, la invención se entiende de la mejor manera a la luz de las realizaciones descritas en el contexto de las figuras 3 y 4.
Según un primer aspecto de la presente descripción, se proporciona un sistema de seguimiento ocular que comprende un controlador que está configurado para:
recibir una señal de parpadeo que representa si se ha detectado o no un parpadeo en una imagen actual; recibir un indicador de calidad que representa la calidad de unos datos en la imagen actual; y
darle a una señal de parpadeo validado un valor de parpadeo validado si:
la señal de parpadeo indica que se ha detectado un parpadeo; y
el indicador de calidad es inferior a un umbral de parpadeo validado, en donde el controlador está configurado además para:
establecer una línea de base de indicador de calidad basándose en el indicador de calidad para una o más imágenes anteriores para las cuales la señal de parpadeo indica que no se ha detectado un parpadeo; y
establecer el umbral de parpadeo validado basándose en la línea de base de indicador de calidad.
Ventajosamente, un sistema de seguimiento ocular así no valida ninguna detección de parpadeo (no validado) que haya sido identificada por la señal de parpadeo y que no afecte significativamente a la calidad de la imagen (tal y como define el indicador de calidad). Por lo tanto, solo se produce una detección de parpadeo validado cuando el parpadeo detectado ha tenido un efecto perjudicial significativo en la calidad de la imagen actual. Esto permite obtener un rendimiento mejorado de una operación de procesamiento posterior, tal como un seguidor de mirada, tal y como se analizará detalladamente más adelante.
El indicador de calidad puede comprender un valor de confianza que está asociado con una salida de un algoritmo de detección de pupilas que se ha aplicado a la imagen actual.
El controlador se puede configurar además para: establecer la línea de base de indicador de calidad basándose en el indicador de calidad para una o más imágenes anteriores para las cuales: i) la señal de parpadeo indica que se ha detectado un parpadeo, y ii) el indicador de calidad es superior a un umbral de actualización de línea de base.
El controlador puede configurarse además para establecer el umbral de parpadeo validado como el mayor de entre: la línea de base de indicador de calidad menos caída_confianza_mín._requerida; y
un nivel de umbral de parpadeo validado mínimo.
La caída_confianza_mín._requerida puede ser una caída mínima del indicador de calidad por debajo de la línea de base de indicador de calidad que dé como resultado que se considere que el indicador de calidad es demasiado pequeño (i.e., por debajo del umbral de parpadeo validado).
El controlador puede configurarse además para: establecer la línea de base de indicador de calidad basándose en los indicadores de calidad de una pluralidad de imágenes anteriores.
El controlador puede configurarse además para: establecer la línea de base de indicador de calidad basándose en una combinación filtrada de los indicadores de calidad de la pluralidad de imágenes anteriores.
El controlador se puede configurar además para:
determinar si la señal de parpadeo indica que se ha detectado un parpadeo;
si la señal de parpadeo indica que se ha detectado un parpadeo, entonces determinar si el indicador de calidad es inferior al umbral de parpadeo validado; y
si el indicador de calidad es inferior al umbral de parpadeo validado, darle a la señal de parpadeo validado el valor de parpadeo validado.
El controlador se puede configurar además para: darle a la señal de parpadeo validado un valor de ausencia de parpadeo si la señal de parpadeo indica que no se ha detectado un parpadeo.
El controlador se puede configurar además para: darle a la señal de parpadeo validado el valor de ausencia de parpadeo si la señal de parpadeo indica que no se ha detectado un parpadeo, independientemente de si el indicador de calidad es mayor que el umbral de parpadeo validado.
El controlador puede configurarse además para darle a la señal de parpadeo validado el valor de ausencia de parpadeo si:
la señal de parpadeo indica que no se ha detectado un parpadeo; o
el indicador de calidad es mayor que el umbral de parpadeo validado.
El sistema de seguimiento ocular puede comprender además: un seguidor de mirada que está configurado para aplicar un algoritmo de seguimiento de mirada, en donde el seguidor de mirada está configurado para:
en el caso de una imagen para la cual la señal de parpadeo validado asociada no tiene un valor de parpadeo validado: aplicar el algoritmo de seguimiento de mirada para proporcionar una señal de mirada actualizada para la imagen; y en el caso de una imagen para la cual la señal de parpadeo validado asociada sí que tiene un valor de parpadeo validado: proporcionar una señal de mirada para la imagen que está basada en la señal de mirada de una o más imágenes anteriores.
El indicador de calidad puede comprender uno o más de:
un parámetro de calidad de mirada que está asociado con una señal de mirada que se proporciona como salida de un algoritmo de seguimiento de mirada que se ha aplicado a la imagen actual;
un indicador de contraste de pupila que representa el contraste entre la pupila y otras características del ojo en la imagen actual;
un valor de confianza que está asociado con una posición determinada de la córnea en la imagen actual; y una señal de mirada que se proporciona como salida de un algoritmo de seguimiento de mirada que se ha aplicado a la imagen actual, para compararla con uno o más umbrales de parpadeo validado a fin de determinar si la señal de mirada está fuera de los límites.
También se proporciona un dispositivo en forma de visor que comprende cualquier sistema de seguimiento ocular que se haya divulgado en el presente documento. El dispositivo en forma de visor puede ser un dispositivo de realidad virtual, un dispositivo de realidad aumentada, unas gafas de realidad virtual, unas gafas de realidad aumentada, un casco de realidad extendida o un casco de realidad mixta.
Según un aspecto adicional de la divulgación, se proporciona un método de funcionamiento de un sistema de seguimiento ocular, comprendiendo el método:
recibir una señal de parpadeo que representa si se ha detectado o no un parpadeo en una imagen actual; recibir un indicador de calidad que representa la calidad de unos datos en la imagen actual; y
darle a una señal de parpadeo validado un valor de parpadeo validado si:
la señal de parpadeo indica que se ha detectado un parpadeo; y
el indicador de calidad es inferior a un umbral de parpadeo validado, en donde el método comprende además: establecer una línea de base de indicador de calidad basándose en el indicador de calidad para una o más imágenes anteriores para las cuales la señal de parpadeo indica que no se ha detectado un parpadeo; y
establecer el umbral de parpadeo validado basándose en la línea de base de indicador de calidad.
Según un aspecto adicional de la divulgación, se proporcionan uno o más medios de almacenamiento no transitorios legibles por ordenador que almacenan unas instrucciones ejecutables por ordenador que, cuando son ejecutadas por un sistema de computación, hacen que el sistema de computación realice cualquier método divulgado en el presente documento.
Breve descripción de los dibujos
Ahora se describirán a modo de ejemplo una o más realizaciones haciendo referencia únicamente a los dibujos adjuntos, en los que:
La figura 1 muestra una vista esquemática de un sistema de seguimiento ocular que puede usarse para captar una secuencia de imágenes que pueden usarse por unas realizaciones ilustrativas;
la figura 2 muestra una imagen ilustrativa de un par de ojos;
la figura 3 muestra un ejemplo de un sistema de seguimiento ocular según una realización de la presente divulgación; la figura 4 ilustra esquemáticamente un flujo de proceso que puede ser realizado por un sistema de seguimiento ocular de la presente divulgación;
la figura 5 ilustra una gráfica que se utilizará para describir un ejemplo de cómo se puede establecer dinámicamente el umbral de parpadeo validado;
la figura 6 muestra unas gráficas de las mismas señales que se muestran en la figura 5 e ilustra una caída de confianza de mirada después de la detección de parpadeo en la señal de parpadeo (no validada);
la figura 7 muestra unas gráficas de las mismas señales que se muestran en la figura 5 e ilustra una caída de confianza de mirada durante más tiempo que la detección de parpadeo en la señal de parpadeo (no validada);
la figura 8 muestra unas gráficas de las mismas señales que se muestran en la figura 5 e ilustra una caída de confianza de mirada antes de la detección de parpadeo en la señal de parpadeo (no validada);
la figura 9 muestra unas gráficas de las mismas señales que se muestran en la figura 5 e ilustra una línea de base de poca confianza de mirada;
la figura 10 muestra un algoritmo ilustrativo de la presente divulgación expresado como una máquina de estados; y
la figura 11 muestra la funcionalidad de la máquina de estados de la figura 10 como un diagrama de flujo.
Descripción detallada
La figura 1 muestra una vista simplificada de un sistema 100 de seguimiento ocular (que también puede denominarse sistema de seguimiento de mirada) en un dispositivo en forma de visor en forma de dispositivo de realidad virtual o aumentada (RV o RA) o de gafas de RV o RA o de cualquier cosa relacionada, tal como unos cascos de realidad extendida (RE) o de realidad mixta (RM). El sistema 100 comprende un sensor 120 de imágenes (p. ej., una cámara) para captar unas imágenes de los ojos del usuario. El sistema puede incluir, opcionalmente, uno o más iluminadores 110-119 para iluminar los ojos de un usuario, que pueden ser, por ejemplo, unos diodos emisores de luz que emiten luz en la banda de frecuencia infrarroja o en la banda de frecuencia infrarroja cercana y que pueden disponerse físicamente en una diversidad de configuraciones. El sensor 120 de imágenes puede ser, por ejemplo, un sensor de imágenes de cualquier tipo, tal como un sensor de imágenes de semiconductor de óxido metálico complementario (CMOS) o un sensor de imágenes con un dispositivo de carga acoplada (CCD). El sensor de imágenes puede consistir en un circuito integrado que contiene una matriz de sensores de píxeles, conteniendo cada píxel un fotodetector y un amplificador activo. El sensor de imágenes puede ser capaz de convertir la luz en señales digitales. En uno o más ejemplos, podría ser un sensor de imágenes infrarrojas o un sensor de imágenes IR, un sensor RGB, un sensor RGBW o un sensor RGB o RGBW con un filtro IR.
El sistema 100 de seguimiento ocular puede comprender un sistema de circuitos o uno o más controladores 125, que incluyen, por ejemplo, un receptor 126 y un sistema 127 de circuitos de procesamiento, para recibir y procesar las imágenes captadas por el sensor 120 de imágenes. El sistema 125 de circuitos puede estar conectado, por ejemplo, al sensor 120 de imágenes y a los uno o más iluminadores 110-119 opcionales a través de una conexión por cable o inalámbrica y coubicado con el sensor 120 de imágenes y los uno o más iluminadores 110-119 o ubicado a una distancia, por ejemplo, en un dispositivo diferente. En otro ejemplo, el sistema 125 de circuitos puede proporcionarse en una o más capas apiladas debajo de la superficie fotosensible del sensor 120 de luz.
El sistema 100 de seguimiento ocular puede incluir una pantalla (no mostrada) para presentar información y/o estímulos visuales al usuario. La pantalla puede comprender una pantalla de RV que presenta imágenes y tapa sustancialmente la visión del usuario del mundo real o una pantalla de RA que presenta imágenes que han de percibirse como superpuestas sobre la visión del usuario del mundo real.
La ubicación del sensor 120 de imágenes para un ojo en un sistema 100 de este tipo está por lo general lejos de la visual del usuario para no ocultar la pantalla para ese ojo. Esta configuración puede, por ejemplo, posibilitarse por medio de unos denominados espejos calientes, que reflejan parte de la luz y permiten que el resto de la luz pase, por ejemplo, se refleja la luz infrarroja y se deja pasar la luz visible.
Aunque en el ejemplo anterior las imágenes del ojo del usuario son captadas por un sensor 120 de imágenes en forma de visor, en otros ejemplos las imágenes pueden ser captadas por un sensor de imágenes que no tenga forma de visor. Este sistema que no tenga forma de visor puede denominarse sistema remoto.
En un sistema de seguimiento ocular se puede calcular una señal de mirada por cada ojo del usuario (izquierdo y derecho). La calidad de estas señales de mirada puede verse reducida por unas perturbaciones en las imágenes de entrada (tales como un ruido de imagen) y por un comportamiento algorítmico incorrecto (tales como unas predicciones incorrectas). Un objetivo del sistema de seguimiento ocular es ofrecer una señal de mirada que sea lo mejor posible, tanto en términos de exactitud (error de sesgo) como de precisión (error de varianza). Para muchas aplicaciones puede bastar con enviar solo una señal de mirada por instante en lugar de la mirada de los ojos izquierdo y derecho individualmente. Además, la señal de mirada combinada se puede proporcionar en combinación con las señales izquierda y derecha. Esta señal de mirada puede denominarse señal de mirada combinada.
La figura 2 muestra un ejemplo simplificado de una imagen 229 de un par de ojos captada por un sistema de seguimiento ocular tal como el sistema de la figura 1. Se puede considerar que la imagen 229 incluye una imagen 228 de ojo derecho, del ojo derecho de una persona, y una imagen 234 de ojo izquierdo, del ojo izquierdo de la persona. En este ejemplo, la imagen 228 de ojo derecho y la imagen 234 de ojo izquierdo son ambas parte de una imagen más grande de ambos ojos de la persona. En otros ejemplos, se pueden usar unos sensores de imagen independientes para adquirir la imagen 228 de ojo derecho y la imagen 234 de ojo izquierdo.
El sistema puede emplear un procesamiento de imágenes (tal como un procesamiento de imágenes digitales) para extraer unas características de la imagen. El sistema puede, por ejemplo, identificar la ubicación de la pupila 230, 236 en una o más imágenes captadas por el sensor de imágenes. El sistema puede determinar la ubicación de la pupila 230, 236 usando un proceso de detección de pupila. El sistema también puede identificar unos reflejos corneales 232, 238 que están ubicados muy cerca de la pupila 230, 236. El sistema puede estimar un centro de córnea o un centro de globo ocular basándose en los reflejos corneales 232, 238. Por ejemplo, el sistema puede hacer coincidir cada uno de los reflejos 232, 238 corneales individuales para cada ojo con un correspondiente iluminador y determinar el centro de córnea de cada ojo basándose en la coincidencia. El sistema puede entonces determinar un rayo de mirada (que también puede denominarse vector de mirada) para cada ojo, incluidos un vector de posición y un vector de dirección. El rayo de mirada puede basarse en un origen de mirada y una dirección de mirada que se pueden determinar a partir de la respectiva coincidencia destello-iluminador / centros de córnea y de la posición de pupila determinada. La dirección de mirada y el origen de mirada pueden ser ellos mismos vectores independientes. Los rayos de mirada para cada ojo pueden combinarse para proporcionar un rayo de mirada combinado.
Tal y como se mencionó anteriormente, cualquier error en la coincidencia destello-iluminador (que puede denominarse simplemente coincidencia de destello) o en la determinación de posición de pupila puede dar como resultado una determinación de mirada incorrecta. Los resultados de la coincidencia de destello y de la detección de pupila pueden considerarse binarios. En el caso de la coincidencia de destello, o bien la coincidencia de destello es correcta y se determina una posición de córnea que es lo suficientemente buena como para realizar un cálculo preciso de la mirada, o bien es incorrecta, lo que da como resultado una posición de córnea que no se puede utilizar para cartografiar la mirada con exactitud. Igualmente, en el caso de la detección de pupila, o bien la pupila detectada está lo suficientemente cerca como para realizar un ajuste de círculo para identificar con exactitud una pupila, o bien es incorrecta, de manera que la pupila correcta no puede identificarse y no puede usarse para cartografiar con exactitud la mirada. Sin embargo, los errores en la determinación de estos parámetros intermedios pueden ser difíciles de detectar. Por consiguiente, algunos sistemas pueden quedarse atascados en un régimen de seguimiento incorrecto y proporcionar una determinación de mirada insuficiente. Esto puede ser especialmente perjudicial para muchas aplicaciones de seguimiento ocular.
En particular, la estimación de mirada es, a menudo, muy inestable durante el parpadeo y el entrecerrar de los ojos. Esto causa problemas importantes para la representación foveada, en la que se reduce una calidad de imagen en la visión periférica del usuario tal y como viene determinada por su mirada calculada. En el caso de uso de la representación foveada, una estimación de mirada inestable hará que la zona de foveación salte, provocando artefactos gráficos apreciables y una mala experiencia de usuario. Esto se puede mitigar utilizando un detector de parpadeo para inmovilizar la zona de foveación durante un parpadeo.
La detección de parpadeo también se puede utilizar en la aplicación de interacciones sociales en RV, ya que permite una visualización más completa de los ojos de un avatar virtual.
Para detectar parpadeos lo suficientemente rápido como para inmovilizar la zona de foveación, los detectores de parpadeo se pueden ajustar para que sean sensibles, pero esto puede ocasionar detecciones de parpadeo falsas debido a semiparpadeos, el entrecerrar de los ojos o movimientos sacádicos. No es deseable que haya alguna cantidad de detecciones de parpadeo positivas falsas. En el caso de uso que está relacionado con la representación foveada, la zona de foveación puede inmovilizarse cuando el usuario no está enfocando, lo que provoca una mala experiencia de usuario debido a una mala resolución o a la generación de artefactos gráficos. En el caso de uso de la visualización de parpadeos en un avatar, una falsa detección de parpadeo hará que el avatar parpadee aunque el usuario no lo haga.
La figura 3 muestra un ejemplo de un sistema 339 de seguimiento ocular según una realización de la presente divulgación. La funcionalidad que se ilustra en la figura 3 puede ser proporcionada por uno o más controladores. El sistema 339 de seguimiento ocular puede ser parte de, o estar asociado con, un dispositivo en forma de visor o un sistema remoto.
El sistema 339 de seguimiento ocular incluye un detector 340 de parpadeo validado que recibe una señal 341 de parpadeo. La señal 341 de parpadeo representa si se ha detectado o no un parpadeo en una imagen actual 347. La imagen actual 347 es una imagen de un ojo de un usuario y puede considerarse la imagen recibida más recientemente en una secuencia de imágenes/fotogramas. En una implementación, la señal 341 de parpadeo puede tomar uno de los dos valores siguientes: VERDADERO, para indicar que se ha detectado un parpadeo; y FALSO, para indicar que no se ha detectado un parpadeo. En este ejemplo, la señal 341 de parpadeo se proporciona como la salida de un detector 342 de parpadeo. Para proporcionar la señal 341 de parpadeo al detector 340 de parpadeo validado se puede utilizar cualquier detector 342 de parpadeo que sea conocido en la técnica. El detector 342 de parpadeo puede o no considerarse que forme parte del sistema 339 de seguimiento ocular. Es decir, en algunos ejemplos, el detector 342 de parpadeo puede proporcionarse por separado del sistema 339 de seguimiento ocular.
El detector 340 de parpadeo validado también recibe un indicador 343 de calidad que representa la calidad de unos datos en la imagen actual 347. Tal y como se explicará detalladamente más adelante, el indicador 343 de calidad puede representar la calidad de unos datos que se pueden extraer de la imagen actual 347, tal como un valor de confianza que esté asociado con una salida de un algoritmo de detección de pupila que se aplique a la imagen actual 347. De manera beneficiosa, el indicador 343 de calidad puede representar la calidad de unos datos específicos en la imagen actual 347 que se espera que se vean afectados por un parpadeo. El resultado de un algoritmo de detección de pupila es un ejemplo de tales datos específicos porque la pupila quedará ocluida gradualmente por el parpadeo y, por lo tanto, se volverá indetectable.
El detector 340 de parpadeo validado puede entonces darle a una señal 344 de parpadeo validado un valor de parpadeo validado (p. ej., VERDADERO) si: i) la señal 341 de parpadeo indica que se ha detectado un parpadeo; y ii) el indicador 343 de calidad es inferior a un umbral de parpadeo validado. De este modo, a la señal 344 de parpadeo validado solo se le da el valor de parpadeo validado si el detector de parpadeo detecta un parpadeo (representado por la señal 341 de parpadeo) Y el indicador 343 de calidad cae a un nivel relativamente bajo. Por lo tanto, cualquier detección de parpadeo que sea realizada por el detector 342 de parpadeo y que no afecte significativamente a la calidad de la imagen (definida por el indicador 343 de calidad) no se valida como un parpadeo, de manera que a la señal 344 de parpadeo validado no se le da un valor de parpadeo validado. Por lo tanto, se puede considerar que la detección de parpadeo validado proporciona una versión potencialmente retardada de la detección de parpadeo que realiza el detector 342 de parpadeo, de manera que la detección de parpadeo validado solo se marca si el parpadeo detectado ha tenido un efecto perjudicial significativo sobre la calidad de la imagen actual 347.
En el ejemplo de la figura 3, el sistema 339 de seguimiento ocular también incluye un seguidor 345 de mirada. El seguidor 345 de mirada puede aplicar un algoritmo de seguimiento de mirada para proporcionar una señal 346 de mirada como salida para, por ejemplo, estimar una dirección de mirada a partir de una imagen del ojo de un usuario. En la técnica se conocen los seguidores 345 de mirada y los algoritmos de seguimiento de mirada. En el ejemplo de la figura 3, el seguidor 345 de mirada recibe del detector 340 de parpadeo validado la señal 344 de parpadeo validado. En el caso de una imagen actual 347 para la cual la señal 344 de parpadeo validado asociada no tiene un valor de parpadeo validado: el seguidor 345 de mirada aplica el algoritmo de seguimiento de mirada para proporcionar una señal 346 de mirada actualizada para la imagen actual 347. En el caso de una imagen actual 347 para la cual la señal 344 de parpadeo validado asociada tiene un valor de parpadeo validado: el seguidor 345 de mirada proporciona una señal 346 de mirada para la imagen actual 347 que está basada en la señal de mirada para uno o más imágenes anteriores. De este modo, el seguidor 345 de mirada no actualiza la señal 345 de mirada para una imagen actual 347 que tiene un parpadeo validado porque existe el riesgo de que la señal 346 de mirada no se calcule con exactitud. En cambio, el seguidor 345 de mirada puede mantener (o adaptar) una señal de mirada anterior, de manera que todavía se proporcione como salida una señal 346 de mirada, pero no se base en la imagen actual 347 más reciente (que se considera potencialmente errónea). Tal y como se ha explicado anteriormente, una señal 346 de mirada incorrectamente calculada puede ser particularmente problemática en, por ejemplo, aplicaciones de representación foveada.
La figura 4 ilustra esquemáticamente un flujo de proceso que puede ser realizado por un sistema de seguimiento ocular de la presente divulgación. Por ejemplo, el flujo de proceso de la figura 4 puede ser realizado por el detector de parpadeo validado de la figura 3.
El proceso comienza en un paso 449 con un paso de inicialización. En este paso de inicialización, a una variable que se llama LíneabaseConfianzamirada se le da un valor nulo.
Después de la inicialización, el proceso avanza hasta un paso 450 para esperar a dos entradas: una primera entrada que se llama sDetectaParpadeo, que corresponde a la señal de parpadeo en la figura 3; y una segunda entrada que se llama Confianzamirada, que es un ejemplo del indicador de calidad de la figura 3. La entrada Confianzamirada es un valor de confianza que está asociado con una salida de un algoritmo de detección de pupila o de un algoritmo de coincidencia de destellos. En el documento US 2021/0.011.550 A1 se dan algunos ejemplos de cómo se puede determinar un valor de confianza así.
Una vez que en el paso 450 se reciben las dos entradas para una imagen actual recibida, el proceso avanza hasta un paso 451 para verificar el estado de la entrada seDetectaParpadeo. Si la entrada seDetectaParpadeo es Falsa (y, por lo tanto, no se ha detectado un parpadeo), entonces el proceso avanza hasta un paso 452 para actualizar la variable LíneabaseConfianzamirada. (Más adelante se da más información sobre cómo se puede actualizar LíneabaseConfianzamirada). Si la entrada seDetectaParpadeo es Verdadera (y, por lo tanto, se ha detectado un parpadeo), entonces el proceso avanza hasta un paso 453.
En el paso 453, el proceso comprueba el estado de la entrada Confianzamirada. Si Confianzamirada es poca (i.e., es inferior a un umbral de parpadeo validado), entonces el proceso avanza hasta un paso 454 para darle a la señal de parpadeo validado un valor “verdadera” (“verdadera” es un ejemplo de valor de parpadeo validado). Si Confianzamirada no es poca (i.e., no es inferior al umbral de parpadeo validado), entonces el proceso avanza hasta un paso 455 para darle a la señal de parpadeo validado un valor “ falsa” (“ falsa” es un ejemplo de valor de ausencia de parpadeo).
En otro ejemplo, el procesamiento de los pasos 451 y 453 se puede invertir para que el proceso verifique primero el estado de la entrada Confianzamirada y solo pase a comprobar el estado de la entrada seDetectaParpadeo si el estado de la entrada Confianzamirada es poca.
Opcionalmente, si Confianzamirada es poca, entonces el proceso puede avanzar hasta el paso 452 antes de realizar el paso 455. Tal y como se indicó anteriormente, en el paso 452 se actualiza la variable LíneabaseConfianzamirada. De este modo, la variable LíneabaseConfianzamirada se puede actualizar: i) si no se detecta ningún parpadeo (según se determine en el paso 451); y ii) si se detecta un parpadeo (no validado) (según se determine en el paso 451), pero Confianzamirada no es poca (según se determine en el paso 453). Por lo tanto, la variable LíneabaseConfianzamirada se puede actualizar para cada imagen actual que se espera que tenga la calidad suficiente como para que se pueda extraer de ella un indicador de calidad/Confianzamirada que tenga sentido.
Las figuras 5 a 9 ilustran unas gráficas que se utilizarán para describir un ejemplo de cómo se puede establecer dinámicamente el umbral de parpadeo validado para mejorar el rendimiento de un detector de parpadeo validado, tal como el que se ha descrito haciendo referencia a la figura 3.
El umbral de parpadeo validado para el indicador de calidad se puede calcular como el resultado de cualquier función que dependa de unos valores de confianza de mirada históricos, o de otras señales. De este modo, tal y como se explicará detalladamente más adelante, al umbral de parpadeo validado se le puede dar un valor que sea adecuado para el usuario concreto y para las propiedades particulares de la imagen (tales como el brillo, la exposición, el contraste o cualquier otra propiedad de la imagen que puede afectar a su “ calidad” y a la capacidad de extraer datos de la misma).
En la implementación que se ilustrará haciendo referencia a las figuras 5 a 9, el indicador de calidad es un valor de confianza de mirada, y el umbral de parpadeo validado se calcula como:
umbral de parpadeo validado = máx.(umbral_mín, línea_base_confianza_mirada - caída_confianza_mín._requerida) donde:
umbral_mín. es un valor mínimo para el umbral de parpadeo validado. En este ejemplo, al umbral mín. se le ha dado un valor de 750;
línea_base_confianza_mirada es un valor retardado y filtrado por paso bajo del valor de confianza de mirada y representa una línea de base que se utilizará para determinar si un valor de confianza de mirada es demasiado pequeño en función de las imágenes recibidas previamente; y
caída_confianza_mín._requerida es una caída mínima del valor de confianza de mirada por debajo de línea_base_confianza_mirada que dará como resultado que se considere que el valor de confianza de mirada es demasiado pequeño. En este ejemplo, a caída_confianza_mín._requerida se le ha dado un valor de 700. En otro ejemplo, se le puede dar un valor que sea una proporción de línea_base_confianza_mirada en vez de un número absoluto, tal como un 20 % (o cualquier otro porcentaje) de línea_base_confianza_mirada.
En esta implementación, el valor de confianza de mirada normalmente está dentro del intervalo [-1000, 2000].
Pasando ahora a la figura 5, el eje horizontal representa un número de fotograma en una secuencia/secuencia de imágenes/ fotogramas.
La gráfica superior de la figura 5 representa una señal 541 de parpadeo. La señal 541 de parpadeo puede ser proporcionada por un detector de parpadeo de la misma manera que se ha descrito haciendo referencia a la figura 3. En la figura 5, la señal 541 de parpadeo tiene un valor de ausencia de parpadeo (Falso) para cada uno de los 80 fotogramas que se han representado en el eje horizontal.
La gráfica central de la figura 5 representa una señal 544 de parpadeo validado. La señal 544 de parpadeo validado es la salida del detector de parpadeo validado que se ha descrito haciendo referencia a la figura 3. En la figura 5, la señal 544 de parpadeo validado también tiene un valor de ausencia de parpadeo (Falso) para cada uno de los 80 fotogramas que se han representado en el eje horizontal.
La gráfica inferior de la figura 5 muestra diversas señales que se utilizarán para describir cómo se establece el umbral 551 de parpadeo validado. Una primera línea en la gráfica inferior, que se ha indicado con el número de referencia 550, representa el valor de confianza de mirada. Puede verse que el valor 550 de confianza de mirada fluctúa ligeramente entre aproximadamente 2.000 y 1.500 durante los primeros 17 fotogramas y luego cae significativamente a valores de entre aproximadamente 400 y 800 hasta el 48° fotograma que se ha representado en la gráfica. Después del 48° fotograma, el valor 550 de confianza de mirada sube hasta unos valores de entre aproximadamente 1.200 y 1.700 hasta el final de la gráfica.
Una segunda línea en la gráfica inferior, que se ha indicado con el número de referencia 552, representa línea_base_confianza_mirada. Tal y como se indicó anteriormente, línea_base_confianza_mirada 552 se calcula filtrando por paso bajo una pluralidad de valores anteriores del valor 550 de confianza de mirada. Esto se puede ver en la figura 5 porque línea_base_confianza_mirada 552 es una versión suavizada y retardada del valor 550 de confianza de mirada. Por ejemplo, el valor 550 de confianza de mirada cae abruptamente en el 17° fotograma, mientras que línea_base_confianza_mirada 552 cae un poco menos abruptamente en el 26° fotograma.
En la gráfica inferior de la figura 5 también se muestra el umbral mín. 553, que, tal y como se indicó anteriormente, toma un valor constante de 750 en este ejemplo.
Una tercera línea en la gráfica inferior, que se ha indicado con el número de referencia 551, representa el umbral de parpadeo validado. Durante los primeros 26 fotogramas, el umbral 551 de parpadeo validado sigue a línea_base_confianza_mirada 552, pero está desplazado de ella, de manera que está 700 unidades por debajo de línea_base_confianza_mirada 552. Esto está relacionado con la ecuación anterior, en la que caída_confianza_mín._requerida tiene un valor de 700. En la figura 5, caída_confianza_mín._requerida se ha identificado esquemáticamente con el número de referencia 554.
Después del 26° fotograma, línea_base_confianza_mirada 552 cae abruptamente, de manera que si el umbral 551 de parpadeo validado siguiese siguiendo a línea_base_confianza_mirada 552 (desplazado por caída_confianza_mín._requerida 554), el umbral 551 de parpadeo validado caería por debajo del umbral mín. 553. La ecuación anterior evita que suceda esto porque establece que el umbral 551 de parpadeo validado como el mayor de entre: umbral_mín. 553; y línea_base_confianza_mirada 552 menos caída_confianza_mín._requerida 554. Entre los 27° y 62° fotogramas de la figura 5, umbral_mín. 553 es mayor que línea_base_confianza_mirada 552 menos caída_confianza_mín._requerida 554. Por lo tanto, el umbral 551 de parpadeo validado se establece como umbral_mín. 553 para los 27° a 62° fotogramas. Para los demás fotogramas se establece como línea_base_confianza_mirada 552 menos caída_confianza_mín._requerida 554.
El procesamiento que se ha representado mediante la ecuación anterior y la gráfica inferior de la figura 5 se puede generalizar diciendo que establece una línea de base de indicador de calidad (línea_base_confianza_mirada 552) basándose en el indicador de calidad (valor 550 de confianza de mirada) para una o más imágenes anteriores y establece el umbral 551 de parpadeo validado basándose en la línea de base de indicador de calidad (línea_base_confianza_mirada 552).
En el ejemplo de la figura 5, el umbral 551 de parpadeo validado se establece como el mayor de entre: la línea de base de indicador de calidad (línea_base_confianza_mirada 552); y un nivel umbral mínimo de parpadeo validado (umbral_mín. 553). De este modo, al umbral 551 de parpadeo validado no se le da un valor tan pequeño como para que un parpadeo que haya sido identificado correctamente mediante la señal 541 de parpadeo no se ignore porque la calidad de las imágenes anteriores sea mala.
También en la figura 5, la línea de base de indicador de calidad (línea_base_confianza_mirada 552) se establece con base en los indicadores de calidad (valores 550 de confianza de mirada) de una pluralidad de imágenes/fotogramas anteriores. Más particularmente, la pluralidad de imágenes/fotogramas anteriores puede preceder inmediatamente a la imagen actual. En las gráficas de ejemplo, línea_base_confianza_mirada 552 se calcula como la mediana de los 20 valores 550 de confianza de mirada más recientes, aunque se apreciará que, en vez, se pueden aplicar unos operadores matemáticos alternativos a cualquier cantidad de valores 550 de confianza de mirada anteriores.
Tal y como se ha explicado anteriormente, línea_base_confianza_mirada 552 se describe como un valor retardado y filtrado por paso bajo del valor 550 de confianza de mirada. De este modo, se puede considerar que el proceso establece una línea de base de indicador de calidad (línea_base_confianza_mirada 552) basándose en una combinación ponderada/filtrada de los indicadores de calidad (valores 550 de confianza de mirada) de una pluralidad de imágenes anteriores. En algunos ejemplos, la combinación ponderada/filtrada se puede establecer como 0,9xvalor anterior 0,1xvalor actual y un retardo de 5 fotogramas, lo cual se ha visto que va bien para una frecuencia de refresco de imagen de 120 fotogramas por segundo (fps).
Además, tal y como se explicará haciendo referencia a las figuras que vienen después, la línea de base de indicador de calidad (línea_base_confianza_mirada 552) se puede establecer basándose en el indicador de calidad (valor 550 de confianza de mirada) para una o más imágenes anteriores para las cuales la señal 541 de parpadeo indique que no se ha detectado un parpadeo. Pero la línea de base de indicador de calidad (línea_base_confianza_mirada 552) no se actualiza basándose en el indicador de calidad (valor 550 de confianza de mirada) para aquellas imágenes para las que la señal 541 de parpadeo indique que se ha detectado un parpadeo.
La figura 6 muestra unas gráficas de las mismas señales que se muestran en la figura 5. A cada señal de la figura 6 que también se muestra en la figura 5 se le ha asignado un correspondiente número de referencia en la serie 600. En la figura 6, la confianza de mirada cae después de la detección de parpadeo en la señal 641 de parpadeo (no validado).
En la figura 6, la señal 641 de parpadeo pasa de Falsa a Verdadera en el 26° fotograma. En el 26° fotograma, el valor 650 de confianza de mirada es mayor que el umbral 651 de parpadeo validado. Por lo tanto, la señal 644 de parpadeo validado no pasa de Falsa a Verdadera en el 26° fotograma porque el valor 650 de confianza de mirada no ha caído demasiado; es decir, el indicador de calidad (valor 650 de confianza de mirada) no es inferior al umbral 651 de parpadeo validado.
En el 31° fotograma de la figura 6, el valor 650 de confianza de mirada cae por debajo del umbral 651 de parpadeo validado, lo que hace que la señal 644 de parpadeo validado pase de Falsa a Verdadera porque la señal 641 de parpadeo sigue siendo Verdadera.
En este ejemplo, la línea de base de indicador de calidad (línea_base_confianza_mirada 652) se establece basándose en el indicador de calidad (valor 650 de confianza de mirada) de la misma manera que la descrita anteriormente, pero solo si la señal 641 de parpadeo indica que no se ha detectado un parpadeo. Si la señal 641 de parpadeo es Verdadera, entonces la línea de base de indicador de calidad (línea_base_confianza_mirada 652) no se actualiza. Esto se fundamenta en que el valor 650 de confianza de mirada es potencialmente poco fiable cuando se detecta un parpadeo y, por lo tanto, la línea de base no debe actualizarse basándose en las imágenes asociadas. Es decir, la línea de base de indicador de calidad (línea_base_confianza_mirada 652) no se actualiza basándose en el indicador de calidad (valor 650 de confianza de mirada) para aquellas imágenes para las que la señal 641 de parpadeo indique que se ha detectado un parpadeo. Tal y como se muestra en la figura 6, el umbral 651 de parpadeo validado tiene un valor fijo entre los 26° y 39° fotogramas cuando la señal de parpadeo es Verdadera.
En otro ejemplo, la línea de base de indicador de calidad (línea_base_confianza_mirada 652) se puede establecer basándose en el indicador de calidad (valor 650 de confianza de mirada) para una o más imágenes anteriores para las cuales: i) la señal 641 de parpadeo indique que se ha detectado un parpadeo, y ii) el indicador de calidad (valor 650 de confianza de mirada) esté por encima de un umbral de actualización de línea de base (no mostrado). El umbral de actualización de línea de base puede o no ser igual que el umbral 651 de parpadeo validado. Si el umbral de actualización de línea de base es igual que el umbral 651 de parpadeo validado, entonces, en el caso del ejemplo de la figura 6, esto significaría que línea_base_confianza_mirada 652 se actualizaría entre los 26° y 30° fotogramas porque el valor 650 de confianza de mirada es lo suficientemente grande, pero la señal 644 de parpadeo validado no es verdadera.
La figura 7 muestra unas gráficas de las mismas señales que se muestran en la figura 5. A cada señal de la figura 7 que también se muestra en la figura 5 se le ha asignado un correspondiente número de referencia en la serie 700. En la figura 7, la confianza de mirada cae durante más tiempo de lo que tarda la detección de parpadeo en la señal 741 de parpadeo (no validado).
En la figura 7 se puede ver que la señal 741 de parpadeo cambia de Verdadera a Falsa para indicar el final de un parpadeo (no validado) en el 26° fotograma. En este ejemplo, esta transición de la señal 741 de parpadeo provoca una transición inmediata de la señal 744 de parpadeo validado de Verdadera a Falsa. De este modo, a la señal 744 de parpadeo validado se le da un valor de ausencia de parpadeo si la señal 741 de parpadeo indica que no se ha detectado un parpadeo. Esto es independiente de si el indicador de calidad (valor 750 de confianza de mirada) es mayor que el umbral 751 de parpadeo validado (tal y como se desprende de las gráficas de las figuras 6 y 7).
La figura 8 muestra unas gráficas de las mismas señales que se muestran en la figura 5. A cada señal de la figura 8 que también se muestra en la figura 5 se le ha asignado un correspondiente número de referencia en la serie 800. En la figura 8, la confianza de mirada cae antes de la detección de parpadeo en la señal 841 de parpadeo (no validado).
En la figura 8 se puede ver que el valor 850 de confianza de mirada cae por debajo del umbral 851 de parpadeo validado en el 21° fotograma. Sin embargo, como la señal 841 de parpadeo sigue siendo Falsa, esto no desencadena un cambio de la señal 844 de parpadeo validado de Falsa a Verdadera. En el 26° fotograma, la señal 841 de parpadeo pasa de Falsa a Verdadera. Como el valor 850 de confianza de mirada sigue estando por debajo del umbral 851 de parpadeo validado en el 26° fotograma, la señal 844 de parpadeo validado también pasa de Falsa a Verdadera en el 26° fotograma.
La figura 8 también muestra cómo línea_base_confianza_mirada 852 no se actualiza durante el período de tiempo en el que el valor 850 de confianza de mirada es inferior al umbral 851 de parpadeo validado y/o la señal 844 de parpadeo validado es Verdadera (entre los 21° y 40° fotogramas).
Aunque no se ha ilustrado en la figura 8, en algunos ejemplos, a la señal 844 de parpadeo validado se le puede dar un valor de ausencia de parpadeo (Falso) si el indicador de calidad (valor 850 de confianza de mirada) es mayor que el umbral 851 de parpadeo validado, independientemente de si la señal 841 de parpadeo indique o no que no se ha detectado un parpadeo. En el caso de la gráfica de la figura 8, esto se traduciría en que la señal de parpadeo validado pasaría de Verdadera a Falsa en el 36° fotograma. Esto es coherente con el flujo de proceso de la figura 4.
La figura 9 muestra unas gráficas de las mismas señales que se muestran en la figura 5. A cada señal de la figura 9 que también se muestra en la figura 5 se le ha asignado un correspondiente número de referencia en la serie 900. En la figura 9, la línea de base de confianza de mirada es demasiado baja.
En la figura 9, el valor 950 de confianza de mirada es sistemáticamente pequeño, independientemente del estado de la señal de parpadeo. Esto puede deberse a, por ejemplo, una de muchas razones, tal como una mala exposición de la imagen o un mal contraste de pupila (p. ej., debido a una mala calidad de imagen o a algunas características del usuario) y no se ve necesariamente afectado directamente por si hay o no un parpadeo. Además, tales razones para que haya un valor 950 de confianza de mirada (u otro indicador de calidad) pequeño no son necesariamente lineales y, por lo tanto, no pueden combinarse fácilmente para proporcionar un valor de indicador de calidad global. Como el valor 950 de confianza de mirada es tan pequeño, el umbral 951 de parpadeo validado se fija en el umbral mín. 953 durante la duración de la gráfica. Por lo tanto, tan pronto como la señal 941 de parpadeo pase de Falsa a Verdadera, la señal 944 de parpadeo validado también pasará de Falsa a Verdadera porque el valor 950 de confianza de mirada es de por sí inferior al umbral 951 de parpadeo validado. Esta funcionalidad puede resultar útil porque, sin el umbral mín. 953, no sería posible poner a la señal 944 de parpadeo validado en Verdadera. Por ejemplo, debido a que el umbral 951 de parpadeo validado es tan bajo (porque está desplazado de línea_base_confianza_mirada 952, de por sí baja, por caída_confianza_mín._requerida) que el valor 950 de confianza de mirada nunca pueda caer por debajo de él. Por lo tanto, sin el umbral mín., puede que no se aprecie un parpadeo real en el indicador de calidad si ya es de por sí bajo.
Tal y como se ha indicado anteriormente, cualquiera de los indicadores de calidad descritos en el presente documento se puede implementar de varias maneras diferentes, incluyendo una o más de las siguientes, ya sea individualmente o en combinación. Esta combinación puede ser una combinación matemática o una combinación lógica (incluidos AND y OR). Además, esta combinación puede ser una combinación de indicadores de calidad para un solo ojo o para dos ojos.
• un parámetro de calidad de mirada que está asociado con una señal de mirada que se proporciona como salida de un algoritmo de seguimiento de mirada que se ha aplicado a la imagen actual. Los algoritmos de seguimiento de mirada pueden incluir cualquier algoritmo en la cadena de estimación de mirada, incluida la detección y el ajuste de pupila, la coincidencia de destellos, la estimación de córnea, el cartografiado de la mirada, etc.;
• una señal de mirada que se proporciona como salida de un algoritmo de seguimiento de mirada que se ha aplicado a la imagen actual, que puede compararse con uno o más umbrales de parpadeo validado para determinar si la señal de mirada está fuera de los límites (p. ej., se ha calculado como un ángulo que es una imposibilidad para el ojo humano, tal como mayor que 35° o 40° con respecto al centro de un campo de visión);
• un valor de confianza que está asociado a una salida de un algoritmo de detección de pupila que se ha aplicado a la imagen actual;
• un indicador de contraste de pupila que representa el contraste entre la pupila y otras características del ojo en la imagen actual, por ejemplo, la diferencia de intensidad entre unos píxeles que están dentro de la pupila y unos píxeles que están fuera del borde de pupila, normalmente el iris;
• un indicador de intensidad de pupila que representa la intensidad de algunos o todos los píxeles que se han identificado como que forman parte de una pupila estimada. Si los valores (o el valor medio) son pequeños -normalmente de 10 a 30 (donde 255 es blanco y 0 es negro)-, entonces probablemente sea una buena estimación de pupila. Si el valor de intensidad no es grande, entonces esto puede deberse a muchas razones, pero un valor de intensidad pequeño probablemente sea una buena estimación de pupila y, por lo tanto, sea representativo de un buen indicador de calidad. Por lo tanto, se puede calcular un indicador de calidad de mirada utilizando cualquier función que aumente cada vez que disminuya el indicador de intensidad de pupila para que pueda compararse con un umbral de parpadeo validado a fin de validar un parpadeo. Es posible que esto no sea cierto si la imagen es completamente negra, en cuyo caso se puede utilizar una combinación del indicador de contraste de pupila y el indicador de intensidad de pupila para determinar si se valida o no un parpadeo;
• un valor de confianza que está asociado con una posición determinada de la córnea en la imagen actual (la capacidad para detectar la córnea se verá afectada por un parpadeo);
• un valor de ruido que representa una medición de un nivel de ruido en un radio o ubicación de pupila, una posición de córnea o un rayo de mirada estimado. Un gran nivel de ruido indica que la calidad es mala. Por lo tanto, se puede calcular un indicador de calidad de mirada utilizando cualquier función que aumente cada vez que disminuya el valor de ruido para que pueda compararse con un umbral de parpadeo validado a fin de validar un parpadeo; y
• una diferencia angular entre unos rayos de mirada para cada uno de los ojos izquierdo y derecho. Una gran diferencia de ángulo indica que la calidad es mala. Por lo tanto, se puede calcular un indicador de calidad de mirada utilizando cualquier función que aumente cada vez que disminuya la diferencia angular para que pueda compararse con un umbral de parpadeo validado a fin de validar un parpadeo.
En relación con el ejemplo del indicador de contraste de pupila, el contraste puede ser realmente pequeño, es decir, la diferencia de intensidad entre la pupila y el iris es, de hecho, pequeña debido a algún rasgo del ojo. También puede ser pequeña debido a la naturaleza de la manera en la que se mide el contraste de pupila:
- Si la pupila se estima incorrectamente, puede que no todos los píxeles que se han identificado como que están dentro de la pupila estén realmente dentro de la pupila real, y puede que no todos los píxeles que están fuera de la pupila estén fuera de la pupila real. Esto da lugar normalmente a una medición de contraste pequeña.
- Si el párpado ocluye parcialmente la pupila, entonces en algunos píxeles se medirá la intensidad de párpado, y no la intensidad de pupila, cuando se esté midiendo la intensidad de la pupila. Esto también da lugar a un valor de contraste pequeño.
La figura 10 ilustra un algoritmo de ejemplo de la presente divulgación expresado como una máquina de estados. La máquina de estados tiene tres estados: “ Ojo abierto” 1060, “ Parpadeo potencial” 1061 y “ Parpadeo validado” 1062. Utiliza dos señales como entradas: una detección de parpadeo (verdadera/falsa), que corresponde a la señal de parpadeo que se ha descrito anteriormente; y una confianza de mirada (valor escalar), que corresponde al indicador de calidad/valor de confianza de mirada que se ha descrito anteriormente. Estas dos entradas se pueden obtener a partir de otros algoritmos que son conocidos en la técnica.
Los pasos del algoritmo son los siguientes:
1. Procesar la detección de parpadeo:
• Si la detección de parpadeo es falsa, pasar a “ Ojo abierto” 1060 independientemente del estado.
• Si la detección de parpadeo es verdadera y el estado es “ Ojo abierto” 1060, pasar a “ Parpadeo potencial” 1061.
• De lo contrario, no hacer nada.
2. Procesar el valor de confianza de mirada:
1. Si el estado es “ Parpadeo potencial” 1061 y la confianza de mirada es inferior a un umbral (tal como el umbral de parpadeo validado, que depende de un valor de línea de base), pasar a “ Parpadeo validado” 1062.
2. Si el estado es “ Ojo abierto” 1060, actualizar el valor de línea de base de confianza de mirada usando, por ejemplo, un filtro de media móvil. Opcionalmente: actualizar también el valor de línea de base de confianza de mirada si el estado es “ Parpadeo potencial” 1061.
3. (Opcional) Si el estado es “ Parpadeo validado” 1062 y la confianza de mirada es mayor que un umbral (tal como el umbral de parpadeo validado, que depende de un valor de línea de base), pasar a “ Parpadeo potencial” 1061. Tal y como se ha explicado anteriormente, en algunos ejemplos puede haber un requisito explícito de que la línea de base propiamente dicha deba estar por encima de algún límite.
3. Devolver “ parpadeo” si el estado es “ Parpadeo validado” 1062, en caso contrario, devolver “ ausencia de parpadeo” .
La figura 11 ilustra la funcionalidad de la máquina de estados de la figura 10 como un diagrama de flujo.
La máquina de estado de la figura 10 y el diagrama de flujo de la figura 11 ilustran cómo el procesamiento para introducir el estado “ Parpadeo validado” (y, por tanto, para darle a la señal de parpadeo validado el valor de parpadeo validado) se puede realizar secuencialmente. Es decir, el proceso puede incluir los siguientes pasos: determinar primero si la señal de parpadeo (seDetectaParpadeo) indica que se ha detectado un parpadeo;
si la señal de parpadeo indica que se ha detectado un parpadeo (i.e., seDetectaParpadeo es Verdadera), entonces determinar si el indicador de calidad es inferior al umbral de parpadeo validado; y
si el indicador de calidad es inferior al umbral de parpadeo validado (i.e., la confianza de pupila es baja o Confianzamirada ha disminuido), entonces darle a la señal de parpadeo validado el valor de parpadeo validado (introduciendo el estado “ Parpadeo validado” ).
Los ejemplos divulgados en el presente documento pueden reducir las detecciones de parpadeo positivas falsas y obtener una razón entre detecciones positivas verdaderas y detecciones positivas falsas más grande. A su vez, esto puede permitir el uso de detectores de parpadeo más sensibles, lo que mejoraría la representación foveada. Al utilizar un indicador de calidad (tal como una medida de confianza) para validar o filtrar las detecciones de parpadeo (no validado), se eliminarían las detecciones de parpadeo (no validado) que no están causando ningún problema. Esto puede resultar especialmente útil en el caso de un localizador de pupila. Los parpadeos (no validados) que se detectan demasiado pronto se pueden posponer hasta un momento en el que la oclusión de pupila se vuelva lo suficientemente grande como para que la detección de pupila se vuelva inestable, tal y como representaría una caída del factor de calidad.

Claims (14)

  1. REIVINDICACIONES
    i.Un sistema (100, 339) de seguimiento ocular que comprende un controlador (125) que está configurado para:
    recibir una señal (341) de parpadeo que representa si se ha detectado o no un parpadeo en una imagen actual (347);
    recibir un indicador (343) de calidad que representa la calidad de unos datos en la imagen actual (347); y
    darle a una señal (344) de parpadeo validado un valor de parpadeo validado si:
    la señal de parpadeo indica que se ha detectado un parpadeo; y el indicador (343) de calidad es inferior a un umbral de parpadeo validado;
    caracterizado por queel controlador (125) está configurado además para:
    establecer una línea de base de indicador de calidad basándose en el indicador de calidad para una o más imágenes anteriores para las cuales la señal de parpadeo indica que no se ha detectado un parpadeo; y
    establecer el umbral de parpadeo validado basándose en la línea de base de indicador de calidad.
  2. 2. El sistema (100, 339) de seguimiento ocular según la reivindicación 1, en donde el indicador (343) de calidad comprende un valor de confianza que está asociado con una salida de un algoritmo de detección de pupila que se ha aplicado a la imagen actual.
  3. 3. El sistema (100, 339) de seguimiento ocular según la reivindicación 1 o la reivindicación 2, en donde el controlador (125) está configurado además para:
    establecer la línea de base de indicador de calidad basándose en el indicador de calidad para una o más imágenes anteriores para las cuales: i) la señal (341) de parpadeo indica que se ha detectado un parpadeo, y ii) el indicador de calidad es superior a un umbral de actualización de línea de base.
  4. 4. El sistema (100, 339) de seguimiento ocular según cualquiera de las reivindicaciones 1 a 3, en donde el controlador (125) está configurado además para:
    establecer el umbral de parpadeo validado como el mayor de:
    la línea de base de indicador de calidad menos caída_confianza_mín._requerida; y un nivel de umbral de parpadeo validado mínimo.
  5. 5. El sistema (100, 339) de seguimiento ocular según cualquiera de las reivindicaciones 1 a 4, en donde el controlador (125) está configurado además para:
    establecer la línea de base de indicador de calidad basándose en los indicadores de calidad de una pluralidad de imágenes anteriores.
  6. 6. El sistema (100, 339) de seguimiento ocular según la reivindicación 5, en donde el controlador (125) está configurado además para:
    establecer la línea de base de indicador de calidad basándose en una combinación filtrada de los indicadores de calidad de la pluralidad de imágenes anteriores.
  7. 7. El sistema (100, 339) de seguimiento ocular según cualquier reivindicación anterior, en donde el controlador (125) está configurado además para:
    determinar si la señal (341) de parpadeo indica que se ha detectado un parpadeo;
    si la señal (341) de parpadeo indica que se ha detectado un parpadeo, entonces determinar si el indicador (343) de calidad es inferior al umbral de parpadeo validado; y
    si el indicador (343) de calidad es inferior al umbral de parpadeo validado, entonces darle a la señal (344) de parpadeo validado el valor de parpadeo validado; y
    si se determina que la señal (341) de parpadeo indica que no se ha detectado un parpadeo, darle a la señal (344) de parpadeo validado un valor de ausencia de parpadeo.
  8. 8. El sistema (100, 339) de seguimiento ocular según la reivindicación 7, en donde el controlador (125) está configurado además para:
    darle a la señal (344) de parpadeo validado el valor de ausencia de parpadeo si la señal (341) de parpadeo indica que no se ha detectado un parpadeo, independientemente de si el indicador (343) de calidad es mayor que el umbral de parpadeo validado.
  9. 9. El sistema (100, 339) de seguimiento ocular según cualquier reivindicación anterior, en donde el sistema de seguimiento ocular comprende además:
    un seguidor (345) de mirada que está configurado para aplicar un algoritmo de seguimiento de mirada, en donde el seguidor de mirada está configurado para:
    en el caso de una imagen para la cual la señal de parpadeo validado asociada no tiene un valor de parpadeo validado: aplicar el algoritmo de seguimiento de mirada para proporcionar una señal de mirada actualizada para la imagen; y
    en el caso de una imagen para la cual la señal de parpadeo validado asociada sí que tiene un valor de parpadeo validado: proporcionar una señal (346) de mirada para la imagen que está basada en la señal de mirada de una o más imágenes anteriores.
  10. 10. El sistema (100, 339) de seguimiento ocular según cualquier reivindicación anterior, en donde el indicador (343) de calidad comprende uno o más de:
    un parámetro de calidad de mirada que está asociado con una señal de mirada que se proporciona como salida de un algoritmo de seguimiento de mirada que se ha aplicado a la imagen actual; un indicador de contraste de pupila que representa el contraste entre la pupila y otras características del ojo en la imagen actual;
    un valor de confianza que está asociado con una posición determinada de la córnea en la imagen actual; y
    una señal (346) de mirada que se proporciona como salida de un algoritmo de seguimiento de mirada que se ha aplicado a la imagen actual, para compararla con uno o más umbrales de parpadeo validado a fin de determinar si la señal de mirada está fuera de los límites.
  11. 11. Un dispositivo en forma de visor que comprende el sistema de seguimiento ocular según cualquier reivindicación anterior.
  12. 12. El dispositivo en forma de visor según la reivindicación 11, en donde el dispositivo en forma de visor es un dispositivo de realidad virtual, un dispositivo de realidad aumentada, unas gafas de realidad virtual, unas gafas de realidad aumentada, un casco de realidad extendida o un casco de realidad mixta.
  13. 13. Un método de funcionamiento de un sistema (100, 339) de seguimiento ocular, comprendiendo el método:
    recibir una señal de parpadeo que representa si se ha detectado o no un parpadeo en una imagen actual;
    recibir un indicador de calidad que representa la calidad de unos datos en la imagen actual; y darle a una señal de parpadeo validado un valor de parpadeo validado si:
    la señal de parpadeo indica que se ha detectado un parpadeo; y el indicador de calidad es inferior a un umbral de parpadeo validado,
    caracterizado por:
    establecer una línea de base de indicador de calidad basándose en el indicador de calidad para una o más imágenes anteriores para las cuales la señal de parpadeo indica que no se ha detectado un parpadeo; y
    establecer el umbral de parpadeo validado basándose en la línea de base de indicador de calidad.
  14. 14. Uno o más medios de almacenamiento legibles por ordenador no transitorios que almacenan unas instrucciones ejecutables por ordenador que, cuando son ejecutadas por un sistema de computación, hacen que el sistema de computación realice el método según la reivindicación 13.
ES22180462T 2021-06-30 2022-06-22 Sistema de seguimiento ocular Active ES2988871T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE2150853 2021-06-30

Publications (1)

Publication Number Publication Date
ES2988871T3 true ES2988871T3 (es) 2024-11-22

Family

ID=82214114

Family Applications (1)

Application Number Title Priority Date Filing Date
ES22180462T Active ES2988871T3 (es) 2021-06-30 2022-06-22 Sistema de seguimiento ocular

Country Status (4)

Country Link
US (1) US20230005124A1 (es)
EP (2) EP4113255B1 (es)
CN (1) CN115543072A (es)
ES (1) ES2988871T3 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596345B (zh) * 2021-08-09 2023-01-17 荣耀终端有限公司 参数的调整方法、显示的控制方法、电子设备及介质
ES1307022Y (es) * 2024-03-15 2024-07-19 Univ La Laguna Sistema de neurorrehabilitacion

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926655A (en) * 1995-08-15 1999-07-20 Canon Kabushiki Kaisha Line of sight detection device and an apparatus having a line of sight detection device
AUPQ896000A0 (en) * 2000-07-24 2000-08-17 Seeing Machines Pty Ltd Facial image processing system
US9468372B2 (en) * 2013-02-28 2016-10-18 Johnson & Johnson Vision Care, Inc. Electronic ophthalmic lens with rear-facing pupil diameter sensor
KR101882594B1 (ko) 2013-09-03 2018-07-26 토비 에이비 휴대용 눈 추적 디바이스
US20160132726A1 (en) * 2014-05-27 2016-05-12 Umoove Services Ltd. System and method for analysis of eye movements using two dimensional images
EP3809241B1 (en) * 2015-03-10 2023-12-13 Eyefree Assisting Communication Ltd. System and method for enabling communication through eye feedback
US10417495B1 (en) * 2016-08-08 2019-09-17 Google Llc Systems and methods for determining biometric information
US10609493B2 (en) * 2017-11-06 2020-03-31 Oticon A/S Method for adjusting hearing aid configuration based on pupillary information
US20210011550A1 (en) 2019-06-14 2021-01-14 Tobii Ab Machine learning based gaze estimation with confidence
CN112949370A (zh) * 2019-12-10 2021-06-11 托比股份公司 眼睛事件检测

Also Published As

Publication number Publication date
EP4113255B1 (en) 2024-07-24
US20230005124A1 (en) 2023-01-05
CN115543072A (zh) 2022-12-30
EP4398200A3 (en) 2024-09-11
EP4398200B1 (en) 2025-11-05
EP4113255A1 (en) 2023-01-04
EP4398200A2 (en) 2024-07-10

Similar Documents

Publication Publication Date Title
ES3039315T3 (en) Reliability of gaze tracking data for left and right eye
US12282598B2 (en) Efficient image capturing based on eyelid position
ES3023338T3 (en) Eye tracking using eyeball center position
KR101890542B1 (ko) 디스플레이 향상을 위한 시스템 및 방법
KR102561991B1 (ko) 아이웨어 장착 가능 안구 추적 디바이스
US10324529B1 (en) Method and system for glint/reflection identification
ES2939003T3 (es) Método y sistema para estimación de posición 3D de la córnea
ES2988871T3 (es) Sistema de seguimiento ocular
US20200187774A1 (en) Method and system for controlling illuminators
JP2016051317A (ja) 視線検出装置
WO2019185136A1 (en) Method and system for controlling illuminators
US11593962B2 (en) Eye gaze tracking system, associated methods and computer programs
EP3801196B1 (en) Method and system for glint/reflection identification
ES3018945T3 (en) Training an eye tracking model
US11156831B2 (en) Eye-tracking system and method for pupil detection, associated systems and computer programs
US20230005180A1 (en) Eye tracking system
US20210350554A1 (en) Eye-tracking system
US20240370085A1 (en) Iris detection and eye gaze tracking