[go: up one dir, main page]

ES2925382T3 - Método para el seguimiento de la mirada - Google Patents

Método para el seguimiento de la mirada Download PDF

Info

Publication number
ES2925382T3
ES2925382T3 ES20169015T ES20169015T ES2925382T3 ES 2925382 T3 ES2925382 T3 ES 2925382T3 ES 20169015 T ES20169015 T ES 20169015T ES 20169015 T ES20169015 T ES 20169015T ES 2925382 T3 ES2925382 T3 ES 2925382T3
Authority
ES
Spain
Prior art keywords
location
gaze
reference point
face
image
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
ES20169015T
Other languages
English (en)
Inventor
Alberto Caro Martínez
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.)
Irisbond Crowdbonding SL
Original Assignee
Irisbond Crowdbonding SL
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 Irisbond Crowdbonding SL filed Critical Irisbond Crowdbonding SL
Application granted granted Critical
Publication of ES2925382T3 publication Critical patent/ES2925382T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Burglar Alarm Systems (AREA)

Abstract

La invención se refiere a un método implementado por ordenador para localizar un punto de mirada en una pantalla (151). El método comprende el paso (210) de iniciar la adquisición de una imagen (300) y los pasos (220, 230) de iniciar la localización de una ubicación de referencia de la primera cara (301) y una ubicación de referencia de la segunda cara (302) en el imagen (300). El método comprende además el paso (240) de iniciar la selección de una región de interés (310) en la imagen (300), realizándose dicha selección utilizando las ubicaciones de puntos de referencia antes mencionadas (301, 302). El método comprende el paso (250) de iniciar la construcción de un vector de mirada, donde la construcción del vector de mirada se realiza por medio de una red neuronal artificial usando la primera región de interés (310) como entrada. Además, el método comprende el paso (260) de iniciar la localización del punto de mirada en la pantalla (151), donde la localización del punto de mirada se realiza por medio del vector de mirada. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método para el seguimiento de la mirada
La invención se refiere al campo de los métodos de seguimiento de la mirada y dispositivos de seguimiento de la mirada para ubicar puntos de mirada en una pantalla, por ejemplo, en una unidad de visualización de un dispositivo informático. De acuerdo con la presente invención, un dispositivo informático puede ser, por ejemplo, un ordenador personal, una tableta, un ordenador portátil, un teléfono inteligente, una consola de videojuegos, una cámara, una pantalla montada en la cabeza (HMD), una televisión inteligente o similares.
Los métodos de seguimiento de la mirada se utilizan ampliamente en la interacción humano-ordenador. Los programas informáticos que implementan dichos métodos pueden seguir el punto de la mirada del usuario, que por lo tanto puede proporcionar entradas a un dispositivo informático sin utilizar dispositivos de entrada convencionales (teclados, dispositivos de ratón, almohadillas táctiles o similares) simplemente mirando ubicaciones particulares en la unidad de visualización del dispositivo informático. Por ejemplo, el usuario puede proporcionar entradas a una interfaz gráfica de usuario (GUI) de un ordenador sin la necesidad de usar las manos, por ejemplo, permitiendo de esta manera a los usuarios con discapacidades motoras interactuar con éxito con un ordenador.
Los métodos para el seguimiento de la mirada también se utilizan en el montaje o mantenimiento de sistemas complejos. Los operadores que realizan tales tareas de montaje o mantenimiento utilizan a menudo HMD y, en particular, HMD de realidad aumentada, que aumentan la visión natural del operador mediante técnicas de gráficos por ordenador. Las HMD que implementan métodos de seguimiento de la mirada pueden controlarse con manos libres por los operadores que, por lo tanto, tienen ambas manos disponibles para la tarea.
Los métodos de seguimiento de la mirada también son importantes en la industria del automóvil. Por ejemplo, estos métodos pueden implementarse en sistemas de asistencia a la conducción, que pueden seguir la mirada del conductor para ver si él/ella está prestando atención a la carretera, por ejemplo, si él/ella está mirando a través del parabrisas del coche. Por ejemplo, los sistemas de asistencia a la conducción que implementan métodos de seguimiento de la mirada pueden detectar si el conductor está mirando la pantalla de la cámara de visión trasera del vehículo y activar dicha cámara solo cuando sea necesario, es decir, solo cuando el conductor mire la pantalla. Los métodos de seguimiento de la mirada también pueden permitir una interacción de manos libres entre el conductor y el software de un vehículo, de modo que el primero pueda dar instrucciones al segundo sin quitar las manos del volante. El conductor puede así instruir al software para que realice actividades específicas, tales como regular la intensidad de las luces del vehículo, bloquear/desbloquear las puertas, controlar la velocidad del vehículo y similares, simplemente mirando en direcciones específicas.
Los métodos de seguimiento de la mirada para ubicar puntos de mirada en una pantalla son conocidos en la técnica. Los métodos de seguimiento de la mirada conocidos pueden lograr una precisión relativamente alta solo si se basan en componentes de hardware especializados, tales como cámaras infrarrojas (IR), componentes de hardware llevable y gafas de seguimiento ocular, o en procedimientos de calibración dependientes del usuario. Por ejemplo, los métodos que utilizan cámaras IR pueden alcanzar una precisión del orden de 0,5°. Estos componentes de hardware especializados, sin embargo, son relativamente costosos y están ausentes en los dispositivos informáticos convencionales, tales como los ordenadores portátiles y los teléfonos inteligentes. Además, los componentes de hardware llevables pueden ser incómodos de usar y dificultar la movilidad del usuario. Los procedimientos de calibración, en su lugar, consumen mucho tiempo y limitan la usabilidad de los dispositivos que implementan métodos conocidos para el seguimiento de la mirada y, a su vez, su utilidad práctica.
El documento US 2019/212815 desvela un aparato para determinar la intención de disparo del usuario. Dicho aparato obtiene una primera imagen de la cara, obtiene una segunda imagen de la cara después de que se muestra un objeto de estímulo visual y determina una ubicación final de la mirada corrigiendo una primera ubicación de la mirada estimada a partir de la primera imagen de la cara basándose en una segunda ubicación de la mirada estimada a partir de la segunda imagen de la cara.
El documento US 2020/043236 desvela una pantalla montada en la cabeza configurada para proyectar luz, que tiene diferentes cantidades de divergencia del frente de ondas, al ojo de un usuario para mostrar contenido de imagen virtual. La divergencia del frente de ondas se puede cambiar en pasos discretos, desencadenándose este cambio basándose en si el usuario se está fijando en un plano de profundidad particular.
El artículo "Learning to Find Eye Región Landmarks for Remóte Gaze Estimation in Unconstrained Settings" por Seonwook Park et al. se refiere a un método basado en el aprendizaje para la ubicación de puntos de referencia en la región ocular. De acuerdo con este artículo, los puntos de referencia detectados se utilizan como entrada para los métodos iterativos de ajuste de modelos y de estimación de la mirada basados en el aprendizaje.
El artículo "MPIIGaze: Real-World Dataset and Deep Appearance-Based Gaze Estimation" por Xucong Zhang et al. desvela un conjunto de datos que comprende 213.659 imágenes de cara completa y las correspondientes posiciones de la mirada de verdad terreno. Además, este artículo se refiere a un método de estimación de la mirada basado en la apariencia profunda basado en una red neuronal convolucional profunda VGG.
En general, los métodos conocidos de seguimiento de la mirada tienen una precisión limitada en condiciones operativas del mundo real, por ejemplo, en ausencia de componentes de hardware especializados y/o en condiciones caracterizadas por una variabilidad relativamente amplia de la apariencia de los ojos, la iluminación, la postura de la cabeza, las especificaciones técnicas de la cámara, la calidad de la imagen o similares.
Estos problemas se resuelven al menos parcialmente por la invención de la presente solicitud, que se refiere a un método implementado por ordenador de acuerdo con la reivindicación 1, a un dispositivo de acuerdo con la reivindicación 14, a un producto de programa informático de acuerdo con la reivindicación 15, y a un medio de almacenamiento legible por ordenador de acuerdo con la reivindicación 16. Las realizaciones de la invención son la materia objeto de las reivindicaciones dependientes.
La presente invención se refiere a un método implementado por ordenador para ubicar un primer punto de la mirada en una pantalla, comprendiendo el método al menos las etapas de:
• iniciar la adquisición de al menos una primera imagen;
• iniciar la ubicación de una primera ubicación del punto de referencia de la cara de un primer punto de referencia de la cara en la primera imagen
• iniciar la ubicación de una segunda ubicación del punto de referencia de la cara de un segundo punto de referencia de la cara en la primera imagen;
• iniciar la selección de una primera región de interés en la primera imagen, en donde la selección de la primera región de interés se realiza utilizando al menos la primera ubicación del punto de referencia de la cara y la segunda ubicación del punto de referencia de la cara;
• iniciar la construcción de un primer vector de la mirada, en donde la construcción del primer vector de la mirada se realiza por medio de al menos una red neuronal artificial, utilizando la red neuronal artificial como entrada al menos la primera región de interés;
• iniciar la ubicación del primer punto de la mirada en la pantalla, en donde la ubicación del primer punto de la mirada se realiza por medio de al menos el primer vector de la mirada y un filtro de Kalman, utilizando el filtro de Kalman una serie de estimaciones del punto de la mirada en la pantalla.
Todas las realizaciones descritas en el presente documento que están de acuerdo con la (presente) invención comprenden implícitamente todas las características enumeradas anteriormente que definen la invención, incluso si no todas las características de la invención se enumeran explícitamente de nuevo, al describir un determinado aspecto de la invención con más detalle.
La pantalla puede ser una superficie cóncava o convexa. En particular, la pantalla puede ser una superficie sustancialmente plana, por ejemplo, un panel tal como una lona, un panel de vidrio y/o un parabrisas de un vehículo. La pantalla puede ser una unidad de visualización de un dispositivo informático. Por ejemplo, la pantalla puede ser el monitor o la pantalla de un dispositivo informático, por ejemplo, un área sustancialmente plana del dispositivo informático, en la que se muestran una GUI y/o datos, en particular, datos en forma de imágenes. Los puntos en la pantalla pueden expresarse en términos de una coordenada de pantalla bidimensional en un marco de referencia bidimensional definido en la pantalla. La coordenada de pantalla puede ser, en particular, coordenadas cartesianas o polares. Por ejemplo, la ubicación de la pantalla de un punto de una pantalla se describe por su coordenada de pantalla bidimensional, (a,b), con respecto a un marco de referencia de pantalla centrado en un punto de la pantalla, por ejemplo, en la esquina superior izquierda de la pantalla.
De acuerdo con la presente invención, una imagen puede ser una imagen vectorial o una cuadrícula bidimensional de píxeles, por ejemplo, una cuadrícula rectangular de píxeles. En particular, la ubicación de un píxel en una imagen puede determinarse unívocamente en términos de su coordenada de imagen bidimensional en la imagen, representando dichas coordenadas la ubicación de dicho píxel en la cuadrícula bidimensional de píxeles. La coordenada de la imagen bidimensional puede ser una coordenada cartesiana o polar con respecto a un marco de referencia bidimensional en el plano de la imagen, por ejemplo, en el plano que comprende la cuadrícula de píxeles. Por ejemplo, la coordenada de imagen bidimensional de un píxel es la coordenada del píxel en el marco de referencia del plano de imagen de la primera imagen.
En particular, la primera imagen es una primera cuadrícula bidimensional de píxeles, por ejemplo, una primera cuadrícula rectangular de píxeles. Las entradas de la primera cuadrícula bidimensional pueden estar dispuestas en columnas y filas, las cuales pueden numerarse en orden ascendente de tal manera que cada columna y cada fila estén asociadas a un número de columna y un número de fila, respectivamente. En particular, la ubicación de cada píxel en la primera imagen puede determinarse unívocamente en términos del número de fila, y d e la fila a la que pertenece el píxel y del número de columna, y j^ \ de la columna a la que pertenece el píxel. Por lo tanto, la coordenada de la imagen bidimensional de dicho píxel en la primera imagen puede ser el vector bidimensional (x j^ , y ^ ) . Por ejemplo, la coordenada de imagen bidimensional de un píxel de la primera imagen es la coordenada del píxel en el marco de referencia del plano de imagen de la primera imagen.
Una imagen, por ejemplo, la primera imagen, puede estar codificada por al menos un mapa de bits. Un mapa de bits que codifica una imagen o una porción de la misma puede comprender, por ejemplo, consistir en una matriz de bits que especifica el color de cada píxel de dicha imagen o porción de la misma. El mapa de bits puede tener un índice de paleta de modo que las entradas de la matriz sean índices en una tabla de colores. Las entradas de la matriz pueden almacenar los bits que codifican el color del píxel. En particular, un mapa de bits puede comprender, por ejemplo, consistir en una estructura de datos de matriz de puntos que representa la cuadrícula bidimensional de píxeles. El mapa de bits puede comprender además información relativa al número de bits por píxel, el número de píxeles por fila de la cuadrícula bidimensional de píxeles y/o el número de píxeles por columna de dicha cuadrícula rectangular. Un visor de imágenes puede utilizar la información codificada en el mapa de bits para representar la imagen o una porción de la misma en la pantalla de un dispositivo informático, por ejemplo, de un dispositivo informático que lleva a cabo el método de la presente invención.
Una imagen, por ejemplo, la primera imagen, puede almacenarse, en particular almacenarse temporalmente, en una memoria primaria y/o secundaria de un dispositivo informático, por ejemplo, del dispositivo informático que lleva a cabo el método de la presente invención. De acuerdo con la presente invención, se puede adquirir una imagen accediendo a la memoria en la que está almacenada dicha imagen. Como alternativa, o en conjunto con lo anterior, la adquisición de una imagen se puede realizar capturando dicha imagen por medio de un dispositivo de grabación, por ejemplo, un dispositivo de grabación de foto y/o de vídeo, tal como una cámara de foto o de vídeo. El dispositivo de grabación de foto y/o un dispositivo de grabación de vídeo pueden estar integrados en un dispositivo informático y, en particular, en un dispositivo informático que lleva a cabo el método de la presente invención. A continuación, la imagen capturada puede almacenarse en la memoria primaria y/o secundaria del dispositivo informático y puede accederse a ella para ubicar los puntos de referencia de la cara y/o seleccionar regiones de interés.
Un punto de referencia de la cara es en particular un punto con la forma de caras humanas que, típicamente, marca una región anatómica distintiva de la misma. Por ejemplo, un punto de referencia de la cara puede ser la punta de la nariz, la comisura derecha de la boca o la comisura izquierda de la boca. Asimismo, un punto de referencia de la cara puede ser un punto de una ceja o de un labio que, junto con otros puntos de referencia, marca dicha ceja y dicho labio, respectivamente.
Un punto de referencia de la cara puede ser, por ejemplo, un punto de referencia del ojo. Un punto de referencia del ojo es en particular un punto de un ojo que, junto con otros puntos de referencia del ojo, marca la forma de dicho ojo. Por ejemplo, un punto de referencia del ojo puede ser la esquina izquierda o derecha de un ojo, un punto del párpado o el centro del globo ocular. Un punto de referencia del ojo puede ser un punto de referencia del iris. En particular, un punto de referencia del iris es un punto del iris que, junto con otros puntos de referencia del iris, marca la forma de dicho iris. Por ejemplo, un punto de referencia del iris es el centro del iris.
La ubicación en una imagen de un punto de referencia de la cara, por ejemplo, la primera y/o la segunda ubicación del punto de referencia de la cara es en particular la ubicación en la imagen de la representación de dicho punto de referencia en la imagen. Por ejemplo, si en la imagen se representa un punto de referencia de la cara por un conjunto de píxeles, la ubicación del punto de referencia de la cara puede ser la ubicación en la imagen de un píxel de referencia de dicho conjunto de píxeles. De esta forma, la ubicación del punto de referencia de la cara se expresa unívocamente en términos de la ubicación de este píxel de referencia, por ejemplo, de las coordenadas de la imagen bidimensional del mismo.
La ubicación del primer punto de referencia facial y/o del segundo punto de referencia facial en la primera imagen se puede realizar mediante el algoritmo desvelado en el artículo. "One Millisecond Face Alignment with an Ensemble of Regression Trees" escrito por V. Kazemi et al, DOI: 10.1109/cvpr.2014.241, en lo sucesivo denominado "primer algoritmo de ubicación". Dicho algoritmo comprende un conjunto de árboles de regresión.
En particular, el primer algoritmo de ubicación permite ubicar un conjunto de n0 puntos de referencia de la cara, comprendiendo dicho conjunto al menos el primero y el segundo punto de referencia. Por ejemplo, n0 está comprendido entre 2 y 194 y, en particular, entre 30 y 130. Además, n0 puede estar comprendido entre 50 y 100 y, más particularmente, es igual a 6 o a 68.
La ubicación tridimensional de un punto de referencia de la cara, por ejemplo, del centro del globo ocular o del centro del iris, es la posición de dicho punto de referencia en el espacio tridimensional. Por ejemplo, la ubicación tridimensional de un punto de referencia de la cara se describe mediante un vector tridimensional que describe la coordenada tridimensional de este punto de referencia en el marco de referencia de la cámara. En particular, dicha coordenada tridimensional puede obtenerse a partir de la coordenada de imagen bidimensional del punto de referencia en el marco de referencia del plano de imagen de la primera imagen a través de la inversa de la matriz de cámara asociada a la cámara que adquiere la primera imagen.
La primera región de interés (ROI) puede comprender al menos un primer ojo o una porción del mismo. La primera ROI está representada por un conjunto de píxeles de la primera imagen. En particular, la primera ROI es una cuadrícula bidimensional de píxeles de la primera imagen y, más particularmente, una cuadrícula rectangular de píxeles de la primera imagen. La primera rO i puede estar codificada por al menos un primer mapa de bits.
Por ejemplo, si el primer punto de referencia de la cara es la punta de la nariz y el segundo punto de referencia es un punto de la ceja izquierda, la primera ROI puede consistir en los píxeles de las filas comprendidas entre la fila del segundo punto de referencia y la fila del primer punto de referencia. Además, si el primer y el segundo punto de referencia de la cara son, respectivamente, la esquina izquierda y la derecha del ojo izquierdo, la primera ROI puede consistir en los píxeles con un número de columna comprendido en el intervalo entre el número entero C1 = Cfl-i-E y el número entero C2 = Cfl2 + E, en donde Cfl1 y Cfl2 son el número de columna del primer y segundo puntos de referencia de la cara, respectivamente. Por ejemplo, E es un número comprendido en el intervalo entre 5 y 15 y, en particular, en el intervalo entre 8 y 12. Más particularmente, el número entero E puede ser igual a 10.
La ubicación de un píxel en la primera ROI puede determinarse unívocamente en términos de coordenadas bidimensionales, que representan la ubicación de dicho píxel en la cuadrícula bidimensional de píxeles que representa la primera ROI. Además, la ubicación de un píxel en la primera cuadrícula bidimensional puede expresarse en términos de coordenadas polares o cartesianas con respecto a un marco de referencia bidimensional en el plano de la primera imagen.
La selección de la primera ROI puede comprender almacenar información sobre la primera ROI. La información sobre la primera ROI puede comprender información sobre el color de los píxeles de la primera ROI y la ubicación de dichos píxeles en la primera ROI. La información sobre la primera ROI está comprendida en particular en el primer mapa de bits. La selección de la primera ROI puede comprender almacenar datos que comprenden la dirección de memoria de los bits que almacenan la información sobre la primera ROI. Por ejemplo, dichos bits pueden estar dispuestos en el mapa de bits que codifica la primera imagen. Dichos datos y/o la información sobre la primera ROI pueden almacenarse, por ejemplo, almacenarse temporalmente, en la memoria primaria y/o secundaria de un dispositivo informático, por ejemplo, del dispositivo informático que lleva a cabo el método de la presente invención. Se puede utilizar cualquier formato de estructura para codificar la información sobre la primera ROI, en la medida en que dicha información pueda recuperarse e interpretarse correctamente. Por ejemplo, la información sobre la ubicación de los píxeles de la primera ROI puede especificar la ubicación de algunos de los píxeles comprendidos en la primera ROI, en la medida en que dicha información sea suficiente para obtener correctamente la ubicación de cada uno de los píxeles de la primera ROI. Por ejemplo, si la primera ROI es una cuadrícula rectangular de la primera imagen, la información sobre la ubicación de los vértices de dicha cuadrícula es suficiente para obtener la ubicación de cada uno de los píxeles de la primera ROI.
En particular, el primer vector de la mirada estima la dirección tridimensional, en la que está mirando el ojo contenido en la primera ROl. El primer vector de la mirada puede ser un vector unitario tridimensional, que puede expresarse en coordenadas cartesianas, esféricas o cilíndricas. Por ejemplo, el primer vector de la mirada puede expresarse en coordenadas esféricas con respecto a la ubicación tridimensional del centro del globo ocular o del centro del iris del ojo contenido en la primera ROl. En este caso, el primer vector de la mirada puede expresarse en términos de un ángulo polar y un ángulo azimutal.
En particular, la red neuronal artificial (ANN) es un modelo computacional que mapea una entrada de ANN en una salida de ANN y que comprende una pluralidad de nodos interconectados, mapeando cada nodo una entrada en una salida. En particular, los nodos de la ANN están interconectados entre sí de modo que, para cada nodo, la entrada de dicho cada nodo comprende la salida de otro nodo y/o la salida de dicho cada nodo es parte de la entrada de otro nodo. Por ejemplo, la salida de un nodo genérico de la ANN es parte de la salida de la ANN y/o de la entrada de otro nodo. En particular, la entrada de nodo de un nodo genérico de la ANN comprende uno o más elementos de datos, siendo cada elemento de datos la salida de otro nodo o un elemento de datos de la entrada de ANN.
Por ejemplo, cada nodo de la ANN puede mapear su entrada a su salida por medio de una función de activación que puede depender del nodo. Típicamente, la función de activación de un nodo puede depender de uno o más pesos que ponderen los elementos de datos de entrada de dicho nodo.
En particular, la salida de un nodo de la ANN puede depender de un umbral. Por ejemplo, la salida de un nodo depende de si el valor de la función de activación evaluado en la entrada de dicho nodo es mayor, igual o menor que el umbral.
Por ejemplo, la ANN puede ser una red neuronal VGG-16 o una red neuronal MnistNet. La ANN puede ser una red neuronal convolucional tal como AlexNet. Por ejemplo, la ANN puede ser parte de una red antagónica generativa. Los valores de los pesos de la ANN pueden obtenerse entrenando la ANN por medio de al menos un conjunto de datos de entrenamiento. Durante el entrenamiento, los valores de los pesos se ajustan iterativamente para minimizar el valor de una función de coste que, típicamente, depende de los pesos de la ANN, las entradas de la ANN, las salidas de la ANN y/o los sesgos. Por ejemplo, el conjunto de datos de entrenamiento puede ser MPIIGaze o el conjunto de datos Gaze-capture o un conjunto de datos sintético tal como el conjunto de datos SynthesEyes o el conjunto de datos UnityEyes.
Los rendimientos de la ANN pueden mejorarse mediante el uso de aumento de datos durante el entrenamiento. Por ejemplo, el conjunto de datos de entrenamiento puede expandirse aumentando al menos algunos de sus datos. El aumento de datos se puede realizar traduciendo, girando y/o al menos algunas de las imágenes incluidas en el conjunto de datos de entrenamiento. Al menos algunas de las imágenes del conjunto de datos de entrenamiento pueden aumentarse variando su intensidad y/o añadiendo líneas u obstrucciones a las mismas.
La entrada de ANN puede incluir información sobre una pluralidad de píxeles de una imagen de entrada o una porción de la misma. Por ejemplo, la entrada de ANN incluye información sobre la posición y el color de dichos píxeles. En particular, la información sobre la posición de los píxeles puede codificarse en las coordenadas bidimensionales de los píxeles con respecto a un marco de referencia bidimensional en el plano de la imagen de entrada.
Al construir el primer vector de la mirada, la ANN usa como entrada la primera ROI. En este caso, en particular, la entrada de a Nn comprende información sobre la posición y el color de los píxeles de la primera ROI y, más particularmente, la entrada de ANN puede comprender o consistir en el primer mapa de bits. La salida de ANN puede comprender información que caracteriza el primer vector de la mirada, por ejemplo, las coordenadas esféricas, cilíndricas o cartesianas del mismo. En este caso, la ANN construye el primer vector de la mirada.
La ubicación tridimensional del primer punto de la mirada, es en particular la intersección entre la pantalla y una primera línea de la mirada. La primera línea de la mirada es en particular la línea que corta la ubicación tridimensional del centro del globo ocular o del centro del iris del ojo contenido en la primera ROI y que es paralela al primer vector de la mirada. La ubicación del primer punto de la mirada en la pantalla puede obtenerse modelando la pantalla en términos de un plano (en lo sucesivo también denominado: "plano de pantalla") y construyendo el primer punto de la mirada como la intersección entre dicho plano y la primera línea de la mirada. Por ejemplo, la coordenada tridimensional, Pt , de la ubicación del primer punto de la mirada en un marco de referencia dado (por ejemplo, el marco de referencia de la cámara) viene dada por:
(PR-0o>ñ
P l - d o d i (1)
gi-ñ ’
en donde, g t es el primer vector de la mirada y g 0 es la coordenada tridimensional de la ubicación tridimensional del centro del globo ocular o del centro del iris del ojo contenido en la primera ROI. El vector unitario n es perpendicular al plano de la pantalla y PR son las coordenadas tridimensionales de la ubicación tridimensional de un punto de referencia del plano de la pantalla. Por ejemplo, este punto de referencia puede ser la esquina superior izquierda de la pantalla.
La coordenada tridimensional, Qt , del primer punto de la mirada con respecto a un marco de referencia tridimensional centrado en el punto de referencia del plano de la pantalla viene dada por Qt = P i — PR. La coordenada de la pantalla con respecto al punto de referencia de la pantalla puede obtenerse girando apropiadamente el marco de referencia centrado en el punto de referencia para obtener un marco de referencia tridimensional adicional. En el marco de referencia tridimensional adicional, la coordenada tridimensional del primer punto de la mirada está dada por (a , b , 0), donde (a , b ) es la coordenada de pantalla bidimensional del primer punto de la mirada con respecto a un marco de referencia de pantalla centrado en el punto de referencia de la pantalla. Las coordenadas de la pantalla generalmente se expresan en unidades de longitud, tales como centímetros y también se pueden convertir en unidades de píxeles:
✓ aA _ tamaño de píxel de la pantalla
\ b i ) \ b J tamaño físico de la pantalla ( )
La selección de la primera ROI mejora la selección de la entrada para la ANN, lo que conduce a una construcción del vector de la mirada más precisa y reduce la carga de procesamiento de la ANN. La selección de la primera ROI y la construcción del primer vector de la mirada por medio de ANN interactúan sinérgicamente entre sí para mejorar la precisión del método en condiciones operativas del mundo real y, en particular, en ausencia de componentes de hardware especializados. El método de la presente invención puede lograr una precisión por debajo de 1° bajo un amplio espectro de condiciones operativas.
De acuerdo con una realización del método de la presente invención, la red neuronal artificial detecta en la primera ROI al menos una primera ubicación del punto de referencia del ojo de un primer punto de referencia del ojo y una segunda ubicación del punto de referencia del ojo de un segundo punto de referencia del ojo. En particular, los puntos de referencia del ojo detectados por la ANN en la etapa de construir el primer vector de la mirada permiten reconstruir el ojo representado en la primera ROI.
En particular, el primer y el segundo punto de referencia del ojo son, respectivamente, el centro del globo ocular y el centro del iris del ojo contenidos en la primera ROI. La coordenada tridimensional del centro del globo ocular en el marco de referencia de la cámara (en lo sucesivo también denominada: "la coordenada del globo ocular") puede construirse a partir de la coordenada de la imagen bidimensional de la primera ubicación del punto de referencia del ojo en la primera ROI por medio de la matriz de cámara de la cámara que adquiere la primera imagen. Del mismo modo, la coordenada tridimensional del centro del iris en el marco de referencia de la cámara (en lo sucesivo también denominada: "la coordenada del iris") puede construirse a partir de la coordenada de la imagen bidimensional de la segunda ubicación del punto de referencia del ojo en la primera ROI por medio de la matriz de cámara anteriormente mencionada. En particular, el primer vector de la mirada puede construirse como la diferencia entre la coordenada del iris y la coordenada del globo ocular.
En este caso, el primer vector de la mirada puede construirse utilizando operaciones algebraicas básicas manipulando dos ubicaciones de puntos de referencia. De esta forma, se puede reducir la complejidad de la ANN y disminuir la carga computacional del método.
Por ejemplo, en esta realización, la salida de ANN comprende información sobre el primer y el segundo punto de referencia del ojo en la primera imagen y/o en la primera ROI. En particular, la salida de ANN comprende la coordenada de imagen bidimensional del primer punto de referencia del ojo y del segundo punto de referencia del ojo en la primera imagen y/o la primera ROI.
La salida de ANN puede comprender al menos un mapa de calor asociado a un punto de referencia del ojo. En particular, un mapa de calor asociado a un punto de referencia del ojo es una imagen que representa la confianza por píxel de la ubicación de dicho punto de referencia utilizando los colores de su píxel. En particular, los píxeles del mapa de calor están en correspondencia con los píxeles de la primera ROI y/o la primera imagen. Por ejemplo, esta correspondencia puede implementarse utilizando una función de mapeo, por ejemplo, un isomorfismo, que mapea cada píxel del mapa de calor a un píxel de la primera ROI y/o la primera imagen.
El color de un píxel de un mapa de calor codifica información sobre la probabilidad de que el punto de referencia del ojo asociado al mapa de calor esté situado en el píxel de la primera rOi que corresponde a dicho píxel del mapa de calor.
En particular, un píxel de un mapa de calor asociado a un punto de referencia del ojo codifica la confianza por píxel, por ejemplo, la posibilidad o la probabilidad de que dicho punto de referencia esté ubicado en el píxel de la primera ROI, que está asociado a dicho píxel del mapa de calor. Por ejemplo, cuanto más oscuro es el píxel del mapa de calor, más probable es que el punto de referencia del ojo se encuentre en el píxel de la primera ROI, que corresponde a dicho píxel del mapa de calor.
Por ejemplo, la ubicación en la primera ROI de un punto de referencia del ojo puede ser la ubicación del píxel de la primera ROI, que corresponde a un píxel en una primera región del mapa de calor asociado al mismo. En particular, la primera región es la región del mapa de calor, en la que es más probable que se encuentre el punto de referencia del ojo, por ejemplo, en el que la confianza por píxel asume sus valores más altos. En este caso, en particular, la ubicación en la primera ROI de dicho punto de referencia del ojo se detecta utilizando el píxel en la primera región del mapa de calor asociado al punto de referencia y la función de mapeo descrita anteriormente.
En una realización de la invención, la ANN detecta además en la primera ROI al menos ocho ubicaciones de puntos de referencia del borde del ojo, que varían desde la primera a la octava ubicaciones de punto de referencia del borde del ojo. En particular, un punto de referencia del borde del ojo es un punto del borde externo de un ojo, por ejemplo, de un párpado o de una esquina del ojo.
En una realización adicional del método de la invención, la ANN detecta en la primera ROI al menos ocho ubicaciones de puntos de referencia del borde del iris, que varían desde la primera a la octava ubicaciones de puntos de referencia del borde del iris. Por ejemplo, un punto de referencia del borde del iris es un punto del limbo del ojo, es decir, del borde del iris-esclerótica.
Por ejemplo, la salida de ANN comprende el primer mapa de calor, el segundo mapa de calor y dieciséis mapas de calor adicionales, que varían del tercero al decimoctavo. En particular, cada uno del tercer al décimo mapas de calor codifica la confianza por píxel de la ubicación de uno del primer al octavo puntos de referencia del borde del ojo, de tal manera que los puntos de referencia del borde del ojo diferentes se asocian a mapas de calor diferentes. Además, cada uno del undécimo al decimoctavo mapas de calor puede codificar la ubicación de confianza por píxel de uno del primer al octavo puntos de referencia del borde del iris, de tal manera que diferentes puntos de referencia del borde del iris se asocian a diferentes mapas de calor.
La ubicación en la primera ROI del centro del iris, del centro del globo ocular, de los ocho puntos de referencia del borde del ojo y de los ocho puntos de referencia del borde del iris se puede obtener procesando los dieciocho mapas de calor anteriormente mencionados mediante una capa soft-argmax.
Por ejemplo, la ANN se puede entrenar usando la siguiente función de coste:
Figure imgf000008_0001
en donde Mj (s) es el valor en píxeles del mapa de calor de orden j mapa de calor, calculado por la ANN usando como entrada la entrada IN de ANN de entrenamiento del conjunto de datos de entrenamiento. Mj(s) es el valor de la verdad terreno del mapa de calor de orden j asociado a la entrada de ANN de entrenamiento IN. El factor de escala A está comprendido entre 0,1 y 10, en particular entre 0,5 y 5. Más particularmente, el factor A es igual a 1. Por ejemplo, Nn puede estar comprendido entre 1 y 20 y, más particularmente, puede ser igual a 2 o 18.
De acuerdo con otra realización de la presente invención, la construcción del vector de la mirada se realiza por medio de un algoritmo de regresión de vector de soporte (SVR), usando el algoritmo SVR como entrada al menos la primera ubicación del punto de referencia del ojo y la segunda ubicación del punto de referencia del ojo. Esto, en particular, permite mejorar la precisión de la ubicación del punto de la mirada, sin tener que depender de modelos del globo ocular del ojo.
El algoritmo SVR puede permitir la construcción del primer vector de la mirada estimando la inclinación y guiñada del globo ocular y/o los ángulos polar y acimutal de las coordenadas esféricas del primer vector de la mirada. En particular, el algoritmo SVR usa como entrada un vector de características que comprende la primera ubicación del punto de referencia del ojo y la segunda ubicación del punto de referencia del ojo. El vector de características puede comprender además las ocho ubicaciones de puntos de referencia del borde del iris y las ocho ubicaciones de puntos de referencia del borde del ojo.
El vector de características también puede comprender un vector de la mirada bidimensional anterior, que puede ser el vector que conecta la ubicación del centro del globo ocular en la primera imagen o la primera ROI con la ubicación del centro del iris en la primera imagen o la primera ROI y que está dirigido hacia esta última ubicación. La presencia del vector de la mirada anterior aumenta significativamente la precisión del algoritmo SVR, en particular si dicho algoritmo se entrena utilizando un número relativamente pequeño de muestras de entrenamiento, por ejemplo, aproximadamente veinte muestras de entrenamiento.
Para mejorar la precisión de la estimación de la mirada, al menos un componente del vector de características, por ejemplo, cada uno de sus componentes, puede normalizarse a la anchura del ojo, es decir, a la distancia entre la ubicación de la esquina izquierda y la ubicación de la esquina derecha del ojo contenidas en la primera imagen o la primera ROI. Además, las ubicaciones de puntos de referencia de la cara comprendidas en el vector de características y, si está presente, el vector de la mirada bidimensional anterior, pueden expresarse en coordenadas cartesianas o polares con respecto a un marco de referencia bidimensional en el plano de la primera imagen, siendo el origen de dicho marco de referencia la ubicación del centro del globo ocular.
El algoritmo SVR se puede entrenar de forma independiente del usuario utilizando un conjunto relativamente grande de vectores de características de entrenamiento obtenidos a partir de imágenes que contienen diferentes personas. El algoritmo SVR también se puede entrenar de forma dependiente del usuario utilizando un conjunto relativamente pequeño de vectores de características de entrenamiento obtenidos a partir de imágenes de entrenamiento que contienen un usuario específico. Por ejemplo, las imágenes de entrenamiento y los vectores de características de entrenamiento correspondientes pueden obtenerse pidiendo al usuario que mire ubicaciones predeterminadas en la pantalla y, mientras el usuario mira estas ubicaciones, adquiriendo (por ejemplo, capturando) imágenes que representan la cara del usuario.
En una realización del método de acuerdo con la presente invención, la red neuronal artificial es una red neuronal de reloj de arena (HANN).
La HANN permite recopilar información a través de diferentes escalas de la imagen de entrada o de las partes de la misma. En particular, la HANN comprende uno o más módulos de reloj de arena que asignan características de entrada a características de salida. En particular, los módulos de reloj de arena se apilan en serie, de manera que las características de salida de un módulo de reloj de arena constituyen las características de entrada de otro módulo de reloj de arena. Los nodos de los módulos de reloj de arena están dispuestos en capas y están configurados de tal manera que las capas convolucionales y de agrupación máxima modifican las características de entrada al disminuir la resolución. En cada paso de agrupación máxima, los módulos se bifurcan y aplican más convoluciones a la resolución original previamente agrupada. Después de alcanzar la resolución mínima, el módulo de reloj de arena aumenta la resolución aumentando el muestreo y combinando características en las escalas.
Típicamente, reservado a la estimación de la postura humana, el uso de redes neuronales artificiales de reloj de arena en la construcción de vectores de mirada conduce a una mejora sorprendente de la precisión de la ubicación del primer punto de la mirada en la pantalla.
De acuerdo con una realización adicional de la invención, el primer punto de referencia de la cara es un tercer punto de referencia del ojo y/o el segundo punto de referencia de la cara es un cuarto punto de referencia del ojo. En este caso, la primera y la segunda ubicación del punto de referencia de la cara son una tercera y cuarta ubicación del punto de referencia del ojo, respectivamente.
La detección de dos puntos de referencia de los ojos permite mejorar la precisión de la selección de la primera ROI, mejorando de esta manera la calidad de la entrada alimentada a la entrada de la ANN y, en última instancia, la precisión de la construcción del primer vector de la mirada.
Una realización adicional del método de la presente invención comprende la etapa de iniciar la ubicación en la primera imagen de una quinta ubicación del punto de referencia del ojo de un quinto punto de referencia del ojo, de una sexta ubicación de punto de referencia del ojo de un sexto punto de referencia del ojo, de una séptima ubicación del punto de referencia del ojo de un séptimo punto de referencia del ojo, y de una octava ubicación del punto de referencia del ojo de un octavo punto de referencia del ojo. En esta realización, la selección de la primera ROI se realiza utilizando la tercera, cuarta, quinta, sexta, séptima y octava ubicaciones de punto de referencia del ojo.
En este caso, por ejemplo, la primera ROI puede consistir en los píxeles con número de columna comprendido entre los números enteros C3 y C4, y con número de fila comprendido entre los números enteros R3 y R4, en donde C3, C4,
R3 y R4 cumplen las siguientes relaciones:
C3 = mín(Se .x) - E; C4 = máx(Se,x) E; R3 = mín(Se,y ) - E; R4 = máx(Se,y) + E, (4)
con Se, x = {Xe, 3, Xe, 4, Xe, 5, Xe, 6, Xe, 7, Xe, 8} y Se, y = {ye, 3, ye,4, ye,5, ye,6, ye,7, ye,8}. Las coordenadas (Xe, 3, ye, 3), (Xe, 4, (Xe, 5, ye, 5), (Xe, 6, ye,6), (Xe,7, ye, 7), y (Xe, 8, ye,8), indican las coordenadas de la imagen bidimensional de las seis ubicaciones de puntos de referencia del ojo utilizadas para seleccionar la primera ROI. Las expresiones mín(S) y máx(S) indican el mínimo y el máximo del conjunto genérico S, respectivamente.
Sorprendentemente, la selección de la primera ROI por medio de seis ubicaciones de puntos de referencia del ojo conduce a una mejora de la precisión de la construcción del primer vector de la mirada por medio de la ANN.
Una realización del método de la presente invención comprende además la etapa de:
• iniciar la construcción de un vector de estimación de la postura de la cabeza, en donde la construcción del vector de estimación de la postura de la cabeza se realiza utilizando al menos la primera ubicación del punto de referencia de la cara y la segunda ubicación del punto de referencia de la cara;
en donde la ubicación del primer punto de la mirada en la pantalla se basa en el vector de estimación de la postura de la cabeza.
El vector de estimación de la postura de la cabeza es en particular un vector que comprende al menos la información necesaria para calcular la guiñada, cabeceo y alabeo de la cara contenida en la primera imagen con respecto a una posición de la cara de referencia.
La ubicación tridimensional, g Q, del centro del globo ocular o del centro del iris del ojo contenido en la primera ROI puede ser igual al vector de estimación de la postura de la cabeza, h0. En particular, el vector de estimación de la postura de la cabeza es el siguiente:
h0 = 03 v0 i (5)
donde 03 y í son, respectivamente, la matriz de rotación 3x3 y el vector de traslación que transforman las coordenadas tridimensionales en un marco de referencia mundial tridimensional en las coordenadas tridimensionales en el marco de referencia de la cámara tridimensional. Por ejemplo, si la ubicación del centro del ojo o del centro del
iris del primer ojo en la primera imagen se describe mediante las coordenadas de la imagen bidimensional (xo, yo), el vector tridimensional v 0 dice lo siguiente:
Figure imgf000010_0001
en términos de la inversa de la matriz de la cámara C. fx y fy son las distancias focales en las direcciones x e y, respectivamente, y (cx, cy) es el centro óptico. La constante s es una escala general. La matriz de rotación ©3, el vector de traslación T y/o la escala global s pueden calcularse en particular resolviendo el problema de perspectiva de n puntos (PnP). El problema PnP puede formularse como el problema de estimar la postura de un rostro contenido en la primera imagen, dada la coordenada tridimensional en el marco de referencia mundial y la coordenada de la imagen bidimensional de cada punto de referencia de la cara de un conjunto de ni puntos de referencia de la cara de dicha cara.
El conjunto de ni los puntos de referencia de la cara comprende el primer y el segundo punto de referencia de la cara. Por ejemplo, ni está comprendido entre 2 y 80 y, en particular, entre 3 y 75. Además, ni puede estar comprendido entre 4 y 70 y, más particularmente, es igual a 6 o a 68. Por ejemplo, el conjunto de ni puntos de referencia de la cara es un subconjunto del conjunto de no puntos de referencia de la cara y, en particular, el conjunto de no puntos de referencia de la cara coincide con el conjunto de ni puntos de referencia de la cara.
La solución del problema PnP se puede obtener utilizando el método P3P, el método PnP eficiente (EPnP), el método de Mínimos Cuadrados Directo (DLS). Estos métodos, en particular el P3P, pueden complementarse con el algoritmo de consenso de muestra aleatoria (RANSAC), que es un método iterativo para mejorar la estimación de parámetros a partir de un conjunto de datos que contiene valores atípicos.
En particular, la matriz de rotación ©3, el vector de traslación f y/o la escala general s pueden calcularse utilizando la transformación lineal directa y/o la optimización de Levenberg-Marquardt.
La construcción del vector de estimación de la postura de la cabeza permite mejorar la precisión de la ubicación del primer punto de la mirada en condiciones de funcionamiento sin restricciones del mundo real, por ejemplo, sin obligar al usuario a asumir una posición predeterminada dada con respecto a la pantalla y/o al dispositivo de grabación.
En otra realización del método de acuerdo con la presente invención, la construcción del vector de estimación de la postura de la cabeza se realiza al menos por medio de un modelo facial tridimensional. El modelo facial tridimensional utiliza como entrada al menos la primera ubicación del punto de referencia de la cara y la segunda ubicación del punto de referencia de la cara.
En particular, el modelo facial tridimensional puede usar como entrada la ubicación en la primera imagen de cada punto de referencia de la cara de un conjunto de n2 puntos de referencia de la cara, comprendiendo el conjunto de n2 puntos de referencia de la cara el primer y el segundo punto de referencia de la cara. Por ejemplo, n2 está comprendido entre 2 y 80 y, en particular, entre 3 y 75. Además, n2 puede estar comprendido entre 4 y 70 y, más particularmente, es igual a 6 o a 68. Por ejemplo, el conjunto de n2 puntos de referencia de la cara es un subconjunto del conjunto de ni puntos de referencia de la cara y, en particular, el conjunto de ni puntos de referencia de la cara coincide con el conjunto de n2 puntos de referencia de la cara.
El modelo tridimensional es en particular un algoritmo que permite calcular la coordenada tridimensional de cada elemento del conjunto de n2 puntos de referencia de la cara utilizando como entrada al menos la ubicación del punto de referencia de la cara, en particular la coordenada de la imagen bidimensional, de los elementos del conjunto de n2 puntos de referencia de la cara. El modelo de puntos de referencia de la cara tridimensional puede ser, en particular, el modelo de la cara de Surrey o el modelo de la cara de Candide.
En particular, el modelo de la cara tridimensional permite estimar la matriz de rotación © 3 y el vector de traslación f, que, en última instancia, permiten calcular el vector de estimación de la posición de la cabeza, por ejemplo, utilizando las ecuaciones (5) y (6).
Por ejemplo, si la ubicación en la primera imagen del elemento genérico de orden j del conjunto de n2 puntos de referencia de la cara se describe por la coordenada (xtj, y,), el modelo tridimensional permite estimar la ubicación tridimensional, P f j , de dicho elemento genérico en el marco de referencia mundial tridimensional. En este caso, en particular, la matriz de rotación ©3, el vector de traslación f y/o la escala total se calculan resolviendo el sistema:
i0
Figure imgf000011_0001
El uso de un modelo tridimensional permite una construcción fiable del vector de estimación de la postura de la cabeza a partir de una cantidad relativamente pequeña de puntos de referencia, reduciendo de esta manera la carga de procesamiento del método de la presente invención.
Una realización del método de acuerdo con la presente invención comprende las etapas de:
• iniciar la adquisición de al menos una segunda imagen;
• iniciar la ubicación de una tercera ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la segunda imagen;
• iniciar la estimación de una cuarta ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la primera imagen, en donde la estimación de la cuarta ubicación del punto de referencia de la cara se realiza por medio de una ecuación de flujo óptico y de la tercera ubicación del punto de referencia de la cara; e • iniciar la detección de una quinta ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la primera imagen.
La ubicación de la primera ubicación del punto de referencia de la cara en la primera imagen se basa en la cuarta ubicación del punto de referencia de la cara y en la quinta ubicación del punto de referencia de la cara.
La ubicación de la primera ubicación del punto de referencia de la cara en la primera imagen puede comprender calcular el punto medio del segmento que conecta la cuarta ubicación del punto de referencia de la cara y la quinta ubicación del punto de referencia de la cara. En particular, la primera ubicación del punto de referencia de la cara corresponde sustancialmente al punto medio del segmento que conecta la cuarta ubicación del punto de referencia de la cara y la quinta ubicación del punto de referencia de la cara.
Por ejemplo, la segunda imagen es una imagen vectorial o una segunda cuadrícula bidimensional de píxeles, por ejemplo, una cuadrícula rectangular de píxeles. Además, la segunda imagen puede codificarse por al menos un mapa de bits.
Las entradas de la segunda cuadrícula bidimensional pueden estar dispuestas en columnas y filas, las cuales pueden numerarse en orden ascendente de tal manera que cada columna y cada fila estén asociadas a un número de columna y un número de fila, respectivamente. En particular, la ubicación de un píxel de la segunda imagen ( 2)
puede determinarse unívocamente en términos del número de fila, yR , de la fila a la que pertenece el píxel y del (2)
número de columna, xR , de la columna a la que pertenece el píxel. Por lo tanto, la coordenada de la imagen (2) (2) bidimensional de dicho píxel en la segunda imagen puede ser el vector bidimensional (xR , yR ). Por ejemplo, la coordenada de imagen bidimensional de un píxel de la segunda imagen es la coordenada del píxel en el marco de referencia del plano de imagen de la segunda imagen.
La primera imagen y la segunda imagen son, en particular, imágenes que comprenden la misma cara capturada en diferentes instantes de tiempo. En particular, la primera y la segunda imagen pueden ser dos fotogramas de un vídeo que, por ejemplo, es adquirido por el dispositivo de grabación.
En particular, el instante de tiempo, ti, en el que se captura la primera imagen, y el instante de tiempo, t2, en el que se captura la segunda imagen cumplen la ecuación (t- - t2) = Ai. Por ejemplo, Aí está comprendido en el intervalo entre 0,02 y 0,07 s, en particular, comprendido en el intervalo entre 0,025 y 0,06 s y, más particularmente, en el intervalo entre 0,03 y 0,05 s. Por ejemplo, At puede ser igual a 0,04 s.
Además, si el dispositivo de grabación se opera para capturar imágenes con frecuencia v, At cumple la ecuación At= Nt/u. El numero entero Nt puede estar comprendido en el intervalo entre 1 y 5 y, en particular, en el intervalo entre 1 y 3. Más particularmente, el número entero Nt puede ser igual a 1, es decir, la primera imagen es inmediatamente consecutiva a la segunda imagen. La frecuencia v puede estar comprendida en el intervalo entre 15 y 40 Hz, en particular, en el intervalo entre 20 y 35 Hz y, más particularmente, en el intervalo entre 25 y 30 Hz. Por ejemplo, la frecuencia v puede ser igual a 27 Hz.
El marco de referencia bidimensional en el plano de la segunda imagen y el que está en el plano de la primera imagen pueden definirse de tal manera que la primera y la segunda imagen forman un vóxel, por ejemplo, una cuadrícula tridimensional de píxeles que comprende una primera y una segunda capa. En este caso, la primera y la segunda capa de píxeles son la primera y la segunda cuadrícula rectangular, respectivamente.
La ubicación de los píxeles en el vóxel se puede expresar en términos de coordenadas tridimensionales de vóxel, (x, y, t), en donde la coordenada (x, y) es la coordenada bidimensional del píxel en el marco de referencia bidimensional de la capa a la que pertenece el píxel. La coordenada temporal, t, especifica la capa a la que pertenece el píxel. En particular, si t = t1 o t = t2, el píxel pertenece a la primera o segunda capa, respectivamente.
La ubicación de un punto de referencia de la cara en la primera y/o en la segunda imagen puede expresarse en términos de la ubicación del píxel de referencia correspondiente en el vóxel. En particular, la ubicación de dicho punto de referencia de la cara puede expresarse mediante la coordenada de vóxel tridimensional, (x, y, t) del píxel de referencia. En particular, la coordenada temporal de la ubicación de un punto de referencia de la cara en la primera imagen es ti y la coordenada temporal de la ubicación de un punto de referencia de la cara en la segunda imagen es t2.
Por ejemplo, el método para construir el punto de la mirada sobre la pantalla se realiza varias veces durante un intervalo de tiempo operativo del dispositivo que implementa el método de la invención. En particular, el intervalo de tiempo operativo es el intervalo durante el cual la construcción del punto de la mirada se considera importante, por ejemplo, para permitir una interacción hombre-máquina de manos libres. En este caso, en particular, la segunda imagen se adquiere en el instante t2 y se usa para ubicar la tercera ubicación del punto de referencia de la cara para calcular finalmente un punto de la mirada en la pantalla por medio del método de la presente invención. La información de la tercera ubicación del punto de referencia de la cara puede usarse entonces para obtener la primera ubicación del punto de referencia en la primera imagen por medio de la ecuación de flujo óptico.
En particular, la coordenada de vóxel de la cuarta ubicación del punto de referencia de la cara en la primera imagen, (x4, y4, ti), cumple la siguiente ecuación:
Figure imgf000012_0001
en donde (x3, y3, t2) es la coordenada de vóxel de la ubicación del tercer punto de referencia de la cara en la segunda imagen. El vector de velocidad (vx,3, vy,3) representa la velocidad de la tercera ubicación del punto de referencia de la cara en la segunda imagen. El vector de velocidad se puede obtener utilizando la ecuación de flujo óptico, de acuerdo con la cual un píxel en la ubicación del vóxel (x,y, t) y moviéndose con velocidad (vx, vy) cumple la siguiente restricción:
Figure imgf000012_0002
I(x,y, t) es la intensidad en la posición del vóxel (x, y, t). Ix, Iy y It son, respectivamente, las derivadas de la intensidad con respecto a x, y y t. Dichas derivadas se evalúan en particular en la ubicación del vóxel (x, y, t). En particular, la ecuación de flujo óptico en la ubicación del tercer punto de referencia de la cara en la segunda imagen dice lo siguiente:
Figure imgf000012_0003
En particular, la ecuación de flujo óptico permite predecir el cambio de la ubicación del primer punto de referencia de la cara en la escena durante el intervalo de tiempo desde el instante t2 al instante ti Por lo tanto, la cuarta ubicación del punto de referencia de la cara es una estimación de la ubicación del primer punto de referencia de la cara en la primera imagen, basándose en la ubicación del primer punto de referencia de la cara en la segunda imagen.
Las ecuaciones (9) y (10) pueden usarse para calcular el vector de velocidad (vx,3, vy,3) utilizando el método de Lucas-Kanade. En particular, el método de acuerdo con la presente invención puede comprender la etapa de iniciar la ubicación de una pluralidad de ubicaciones de píxeles en la segunda imagen. En particular, la distancia, por ejemplo, la distancia euclidiana, entre cada una de la pluralidad de ubicaciones de píxeles y la ubicación del tercer punto de referencia de la cara en la segunda imagen es menor o igual que una distancia superior, du. Si el método ubica las ubicaciones de píxeles P con coordenadas de vóxel (xp,i,yp,i, ti), (xp,2, yp,2, ti), ..., (xp,p,yp,p, ti), el vector de velocidad (vx, 3, Vy, 3) se puede calcular resolviendo el siguiente sistema:
Figure imgf000013_0001
El sistema de ecuaciones (11) puede resolverse utilizando el enfoque de mínimos cuadrados. Además, pueden cumplirse las siguientes relaciones:
Figure imgf000013_0002
La distancia superior puede expresarse en unidades de píxeles y puede estar comprendida en el intervalo entre 1 y 10 píxeles, en particular en el intervalo entre 2 y 8 píxeles. Por ejemplo, la distancia superior puede estar comprendida en el intervalo entre 3 y 6 píxeles y, en particular, puede ser igual a 3 o 4 píxeles.
La invención puede comprender la etapa de iniciar la ubicación de una primera ubicación de píxel en la segunda imagen. En particular, la distancia, por ejemplo, la distancia euclidiana, entre la primera ubicación del píxel y la tercera ubicación del punto de referencia de la cara en la segunda imagen es menor o igual que la distancia superior. De acuerdo con el método de Lucas-Kanade, el vector de velocidad (vx, 3 , Vyt 3) se puede calcular usando la ecuación (11) con P = 1, en donde (xp, 1,yp, 1, t1) son las coordenadas de vóxel de la primera ubicación del píxel.
Por ejemplo, la ubicación de la tercera ubicación del punto de referencia facial en la segunda imagen se puede obtener por medio del primer algoritmo de ubicación. Además, la detección de la quinta ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la primera imagen se puede realizar ubicando dicha ubicación del punto de referencia en la primera imagen, por ejemplo, por medio del primer algoritmo de ubicación.
En esta realización, se mejora la ubicación del primer punto de referencia de la cara en la primera imagen mediante la inclusión constante de información sobre su ubicación anterior, es decir, sobre la ubicación de dicho punto de referencia en la segunda imagen. De esta manera, se optimiza, al menos parcialmente, el uso de la información recopilada durante el intervalo de tiempo operativo del dispositivo.
En otra realización de la presente invención, la primera ubicación del punto de referencia de la cara es igual a la media ponderada entre la cuarta ubicación del punto de referencia de la cara y la quinta ubicación del punto de referencia de la cara.
En particular, la media ponderada comprende un primer peso, W1, y un segundo peso, W2, multiplicando el primer y el segundo peso por la cuarta y la quinta ubicación del punto de referencia de la cara, respectivamente. La media ponderada se puede expresar en términos de la coordenada de vóxel de la siguiente manera:
f e ) = w i f e ) ^ & ) ■ con w w2) = 1 (13) en donde (x1, y1, ti) y (x5, y5, t1) son respectivamente la coordenada de vóxel de la primera y la quinta ubicación del punto de referencia de la cara en la primera imagen. En particular, la primera ubicación del punto de referencia de la cara es el punto medio entre la cuarta y la quinta ubicaciones del punto de referencia de la cara y, por lo tanto, su coordenada se puede obtener usando la ecuación (13) con W1 = W2 = 1/2.
En particular, en esta realización, la precisión de la ubicación de la primera ubicación del punto de referencia de la cara en la primera imagen puede mejorarse si el valor de los pesos W1 y W2 se basa en la precisión de la ubicación de la tercera y la quinta ubicaciones del punto de referencia de la cara. Por ejemplo, si la ubicación de la tercera ubicación del punto de referencia de la cara en la segunda imagen es más precisa que la ubicación de la quinta ubicación del punto de referencia de la cara en la primera imagen, el primer peso puede ser mayor que el segundo peso. Si, en su lugar, la ubicación de la tercera ubicación del punto de referencia de la cara en la segunda imagen es menos precisa que la quinta ubicación del punto de referencia de la cara en la primera imagen, el primer peso puede ser más pequeño que el segundo peso. La precisión de la ubicación de la ubicación de un punto de referencia de la cara en una imagen puede depender en particular de la inclinación, guiñada y alabeo de la cara representada en la imagen.
De acuerdo con una realización de la presente invención, la ubicación de la primera ubicación del punto de referencia de la cara en la primera imagen se basa en una distancia del punto de referencia, siendo la distancia del punto de referencia la distancia entre la tercera ubicación del punto de referencia de la cara y la cuarta ubicación del punto de referencia de la cara.
En particular, la distancia del punto de referencia, dl, es la distancia euclidiana entre la tercera ubicación del punto de referencia de la cara y la cuarta ubicación del punto de referencia de la cara. La distancia del punto de referencia se puede expresar en unidades de píxeles y/o se puede leer de la siguiente manera, dL = V ( * 4 - * 3 )2 ( y 4 - y s ) 2 .
En una realización adicional de la presente invención, el primer peso es una función monótonamente decreciente de la distancia del punto de referencia y el segundo peso es una función monótonamente creciente de la distancia del punto de referencia.
De acuerdo con esta realización, la contribución de la cuarta ubicación del punto de referencia de la cara a la suma ponderada se vuelve más marginal a medida que aumenta la distancia del punto de referencia. De esta manera, se mejora la precisión de la ubicación de la primera ubicación del punto de referencia de la cara en la primera imagen, ya que la precisión de la ubicación del cuarto punto de referencia de la cara, que es una estimación de la ubicación del primer punto de referencia de la cara obtenida utilizando la tercera ubicación del punto de referencia de la cara, disminuye a medida que disminuye la distancia del punto de referencia.
De acuerdo con la presente invención, una función monótonamente creciente de una distancia, por ejemplo, de la distancia del punto de referencia, es en particular una función que no disminuye a medida que aumenta dicha distancia. Una función monótonamente decreciente de una distancia, por ejemplo, de la distancia del punto de referencia, en su lugar, es en particular una función que no aumenta a medida que la distancia disminuye.
Por ejemplo, el primer y el segundo peso dicen lo siguiente:
mín(d¿,0, dL)
d L,o , (14)
Figure imgf000014_0001
= 1 - W 2
en donde mín(dL,0, dL) indica el mínimo entre dL,0 y dL. dL,0 puede expresarse en unidades de píxeles y/o puede estar comprendida en el intervalo entre 1 y 10 píxeles. En particular, dL,0 está comprendida en el intervalo entre 3 y 7 píxeles y, más particularmente, dL,0 es igual a 5 píxeles.
Una realización del método de la presente invención comprende la etapa de:
• iniciar la ubicación de un segundo punto de la mirada en la pantalla, en donde la ubicación del segundo punto de la mirada se realiza por medio de al menos el primer vector de la mirada;
En esta realización, la ubicación del primer punto de la mirada en la pantalla se realiza por medio del segundo punto de la mirada.
El segundo punto de la mirada es en particular la intersección entre la pantalla y la primera línea de la mirada. La ubicación del segundo punto de la mirada en la pantalla puede obtenerse modelando la pantalla en términos de un plano y construyendo el segundo punto de la mirada como la intersección entre dicho plano y la primera línea de la mirada.
En este caso, en particular, la ubicación del primer punto de la mirada en la pantalla puede depender solo indirectamente del primer vector de la mirada, es decir, solo a través de la dependencia de la ubicación del segundo punto de la mirada en el primer vector de la mirada.
En una realización de la presente invención, la ubicación del segundo punto de la mirada en la pantalla se realiza por medio de una función de calibración. La función de calibración depende de al menos una ubicación de un primer punto de calibración de la mirada y de una estimación de la ubicación del primer punto de calibración de la mirada.
En particular, la función de calibración, y, permite calcular las coordenadas de la pantalla bidimensionales, (a , b ), del primer punto de la mirada sobre la pantalla desde las coordenadas de la pantalla bidimensionales, (a, b), del segundo punto de la mirada sobre la pantalla,
Figure imgf000015_0001
Por ejemplo, el método de la presente invención puede comprender al menos las etapas de:
• iniciar la adquisición de al menos una primera imagen de calibración;
• iniciar la ubicación de una ubicación de punto de referencia de la cara de un punto de referencia de la cara en la primera imagen de calibración;
• iniciar la ubicación de una ubicación de punto de referencia de la cara adicional de un punto de referencia de la cara adicional en la primera imagen de calibración;
• iniciar la selección de una primera ROI en la primera imagen de calibración, en donde la selección de la primera ROI en la primera imagen de calibración se realiza utilizando al menos la ubicación del punto de referencia de la cara en la primera imagen de calibración y la ubicación del punto de referencia de la cara adicional en la primera imagen de calibración;
• iniciar la construcción de un primer vector de la mirada de calibración, en donde la construcción del primer vector de la mirada de calibración se realiza por medio de al menos la ANN, usando la ANN como entrada al menos la primera ROI de la primera imagen de calibración; e
• iniciar la construcción de la estimación de la ubicación del primer punto de calibración de la mirada en la pantalla, en donde dicha construcción se realiza por medio de al menos el primer vector de la mirada de calibración. La estimación de la ubicación del primer punto de calibración es en particular la intersección entre la pantalla y una línea de calibración. La línea de calibración es en particular la línea que corta el centro del globo ocular o el centro del iris del ojo contenido en la primera ROI de la primera imagen de calibración y que es paralela al primer vector de la mirada de calibración. La construcción de la estimación de la ubicación del primer punto de calibración en la pantalla puede obtenerse modelando la pantalla en términos de un plano y construyendo dicha estimación como la intersección entre dicho plano y la línea de calibración.
El método de la presente invención puede comprender además la etapa de iniciar la solicitud al usuario para que mire el punto de calibración de la pantalla. En particular, dicha solicitud puede realizarse antes de la adquisición de la primera imagen de calibración. Además, el método también puede comprender la etapa de iniciar la construcción de un primer vector de estimación de la postura de la cabeza de calibración, en donde la construcción de dicho vector puede realizarse utilizando al menos la ubicación del punto de referencia de la cara y la ubicación del punto de referencia de la cara adicional en la primera imagen de calibración. En este caso, la estimación de la ubicación del primer punto de calibración de la mirada en la pantalla puede basarse en el primer vector de estimación de la postura de la cabeza de calibración. La función de calibración también puede depender del primer vector de la mirada de calibración y/o del primer vector de estimación de la postura de la cabeza de calibración.
En particular, la función de calibración depende de la ubicación de cada elemento de un conjunto de m puntos de calibración de la mirada y de una estimación de dicha ubicación de cada elemento del conjunto de m puntos de calibración de la mirada. Por ejemplo, m está comprendido entre 2 y 20 y, en particular, entre 3 y 15. Además, m puede estar comprendido entre 4 y 10 y, más particularmente, es igual a 5.
Por ejemplo, la estimación de la ubicación de cada elemento del conjunto de m puntos de calibración de la mirada se puede obtener utilizando las etapas que conducen a la construcción de la estimación de la ubicación del primer punto de calibración de la mirada. En particular, la estimación de la ubicación de cada elemento del conjunto de m puntos de calibración de la mirada se construye por medio de un vector de la mirada de calibración correspondiente y, opcionalmente, de un vector de estimación de la postura de la cabeza de calibración correspondiente. Por ejemplo, la función de calibración puede depender de la pluralidad de vectores de la mirada de calibración y/o de la pluralidad de vectores de estimación de la postura de la cabeza de calibración.
La calibración permite construir el primer punto de la mirada teniendo en cuenta las condiciones reales en las que el usuario mira la pantalla, mejorando de esta manera la precisión de la ubicación del primer punto de la mirada en condiciones reales de configuración. Las condiciones reales pueden comprender, por ejemplo, la posición de la pantalla con respecto a la pantalla, el hecho de que el usuario lleve gafas o que el usuario sufra estrabismo.
Por ejemplo, la función de calibración puede comprender o consistir en una función de base radial. En particular, la función de base radial puede ser una función lineal o una spline poliarmónica con exponente igual a 1. Las funciones de base radial permiten una mejora de la precisión de la ubicación del primer punto de la mirada, incluso cuando la calibración se basa en una cantidad relativamente baja de puntos de calibración. Los primeros datos de entrada pueden comprender información para ubicar el segundo punto de la mirada en la pantalla. En particular, dicha información puede comprender o consistir en la coordenada de pantalla bidimensional del segundo punto de la mirada. Como alternativa, o en conjunto con lo anterior, los primeros datos de entrada pueden comprender información para caracterizar el primer vector de la mirada y/o el vector de estimación de la postura de la cabeza. La información para caracterizar un vector tridimensional, por ejemplo, el primer vector de la mirada y el vector de estimación de la postura de la cabeza, puede comprender o consistir en la coordenada tridimensional de dicho vector.
De acuerdo con una realización de la presente invención, la función de calibración depende al menos de la distancia, por ejemplo, la distancia euclidiana, entre la ubicación del primer punto de calibración de la mirada y la estimación de la ubicación del primer punto de calibración de la mirada.
La dependencia de la distancia entre la ubicación del primer punto de calibración de la mirada y la estimación de la ubicación del primer punto de calibración de la mirada permiten una mejora de la precisión de la ubicación del primer punto de la mirada, incluso cuando la calibración está basada en una cantidad relativamente baja de puntos de calibración, por ejemplo, de menos de diez, en particular, menos de seis puntos de calibración.
Por ejemplo, si la ubicación en la pantalla del elemento de orden j genérico del conjunto de m puntos de calibración se describe mediante la coordenada de pantalla bidimensional (ac,j, bc,j), y la estimación de la ubicación de dicho elemento genérico se describe por la coordenada de pantalla bidimensional (ae,j, be,j), la función de calibración puede indicar lo siguiente:
Figure imgf000016_0001
La ri3 matriz dimensional DJí31 es la inversa de la matriz D„3. En particular, la entrada genérica de la última matriz, (Dn3)j, se da por:
Figure imgf000016_0002
La función de calibración definida en la ecuación (15) conduce a una calibración sorprendentemente precisa.
De acuerdo con la invención, la ubicación del primer punto de la mirada en la pantalla se realiza por medio de un filtro Kalman.
De acuerdo con la invención, el filtro de Kalman es un algoritmo que utiliza una serie de estimaciones del punto de la mirada en la pantalla para mejorar la precisión de la ubicación del primer punto de la mirada. Por ejemplo, la iteración de orden k de dicho filtro permite calcular la coordenada de pantalla bidimensional, (ak, bk), y la velocidad, (va,k, vb,k), de un punto de la mirada estimado de orden k en términos de la coordenada de pantalla bidimensional, (ak-1 , bk-i), y la velocidad, (va,k-i, vb,k-i), de un punto de la mirada estimado de orden (k - 1) y en términos de la coordenada de pantalla bidimensional, (ak , bk ), de un intermedio de orden k del punto de la mirada:
Figure imgf000016_0003
La matriz Kk puede expresarse como sigue:
K k = [ F k Pfc-Hfc.! (Fk y + Qk ] CHky (Sky \ (17)
en términos de la matriz
S k = Rk Hk [ F k Pfc.nfc.i (Pfc )T + Qfe ] (Hk)T . (18)
En particular, para cada valor de k, la matriz Pk\k dice lo siguiente:
P klk = [ (14 - K kHk) [ F k Pfc-nfc.i
Figure imgf000017_0001
fffc
Figure imgf000017_0002
en donde 14 es la matriz identidad 4x4. Las matrices Rk y Qk son la covarianza del ruido de observación en la iteración de orden k y la covarianza del ruido del proceso en la iteración de orden k, respectivamente. Las matrices Fk y Hk son la matriz del modelo de transición de estado en la iteración de orden k y la matriz del modelo de observación en la iteración de orden k, respectivamente. En particular, se cumple al menos una de las siguientes relaciones:
Figure imgf000017_0003
En particular, St puede escribirse como St = 1/v, en términos de la frecuencia u anteriormente descrita. Las matrices Rk, Qk, Fk y/o Hk pueden ser independientes de la iteración. Se puede cumplir al menos una de las siguientes relaciones:
Figure imgf000017_0004
en donde 0 es la matriz nula. Por ejemplo, el primer y el segundo punto de la mirada se pueden calcular usando el filtro de Kalman con una iteración, por ejemplo, usando las ecuaciones (16) a (21) con el reemplazo k ^ 1. En este caso, el primer y el segundo punto de la mirada son el primer punto de la mirada estimado y el primer punto de la mirada intermedio, respectivamente. En este caso, en particular, el punto de la mirada estimado de orden 0 puede ser el punto de la pantalla con coordenadas de pantalla bidimensionales (ao, bo) y con velocidad (va,o, Vb,o), como se especifica en la ecuación (21).
El primer punto de la mirada se puede calcular iterativamente utilizando el filtro de Kalman con M iteraciones empezando desde Po|o y Vo. En este caso, en particular, el primer y el segundo punto de la mirada son el punto de la mirada estimado de orden los M y el punto intermedio de la mirada de orden M, respectivamente. Por ejemplo, M es un número entero dado. Como alternativa, M puede ser el número más pequeño de iteraciones necesarias para cumplir una condición de parada. Por ejemplo, la condición de parada puede comprender el requisito de que la distancia entre el punto de la mirada estimado de orden M y el punto intermedio de la mirada de orden M es inferior a un primer umbral y/o el requisito de que la distancia entre el punto de la mirada estimado de orden M y el punto de la mirada estimado de orden (M - 1) es inferior a un segundo umbral. En particular, el primer umbral puede ser igual al segundo umbral.
De acuerdo con una realización del método de la presente invención, la ubicación del primer punto de la mirada en la pantalla se realiza por medio de un tercer punto de la mirada y una matriz de covarianza del ruido de proceso, en donde la matriz de covarianza del ruido de proceso comprende una pluralidad de entradas, siendo dichas entradas una función monótonamente creciente de la distancia entre el segundo punto de la mirada y el tercer punto de la mirada. En particular, cada una de las entradas de dicha matriz de covarianza puede ser una función monótonamente creciente de la distancia entre el segundo punto de la mirada y el tercer punto de la mirada.
Por ejemplo, la distancia entre el primer punto de la mirada y el tercer punto de la mirada puede expresarse en unidades de píxeles. En particular, la distancia entre el segundo y el tercer punto de la mirada es la distancia euclidiana entre dichos puntos de mirada. En particular, si el primer punto de la mirada es el punto intermedio de orden M de la mirada, el tercer punto de la mirada puede ser el punto de la mirada estimado de orden (M - 1) y la distancia, óm, m- 1 , entre el primer y el tercer punto de la mirada dice lo siguiente:
Figure imgf000018_0001
La matriz de covarianza del ruido del proceso puede ser la matriz de covarianza del ruido del proceso en la iteración de orden k, Qk, y puede darse al menos una de las siguientes relaciones:
Figure imgf000018_0002
Por ejemplo, q es una función de la distancia, dk,k-1, y puede leerse como sigue
Figure imgf000018_0003
en donde dk,k-1 puede obtenerse usando la ecuación (23) con el reemplazo M ^ k. En particular, qa puede estar comprendida en el intervalo entre 10-35 y 10-25 y, más particularmente, en el intervalo entre 10-32 y 10-28. Además, qi puede estar comprendida en el intervalo entre 10-25 y 10-15 y, en particular, en el intervalo entre 10-22 y 10-18 Por ejemplo, q2 está comprendida en el intervalo entre 10-15 y 10-5 y, más particularmente, en el intervalo entre 10-12 y 10­ 8 Por ejemplo, q3 está comprendida en el intervalo entre 10-5 y 10-1 y, en particular, en el intervalo entre 10-3 y 0,5. Además, qo, q1, q2, y/o q3 pueden ser igual a 10-30, 10-21, 10-10, y 10-2, respectivamente. Además, do puede estar comprendida en el intervalo entre 50 y 220 píxeles y, más particularmente, en el intervalo entre 100 y 200 píxeles. En particular, d1 está comprendida en el intervalo entre 200 y 400 píxeles y, más particularmente, en el intervalo entre 220 y 300 píxeles. Además, d2 está comprendida en el intervalo entre 300 y 600 píxeles y, más particularmente, en el intervalo entre 400 y 550 píxeles. Además, d0, d1 y/o d2, puede ser igual a 128 píxeles, 256 píxeles y 512 píxeles, respectivamente.
En esta realización, la importancia numérica de la matriz de covarianza del ruido del proceso se reduce cuando la distancia entre el punto intermedio de mirada de la iteración de orden k y el punto de la mirada estimado de la iteración de orden (k - 1) disminuye. De esta manera, el filtro Lukas-Kanade permite alcanzar una precisión relativamente alta en la ubicación del primer punto de la mirada utilizando un número relativamente pequeño de iteraciones.
En una realización adicional del método de la presente invención, la ubicación del primer punto de la mirada en la pantalla se realiza por medio del tercer punto de la mirada y una matriz de covarianza del ruido de observación. La matriz de covarianza del ruido de observación comprende una pluralidad de entradas, siendo dichas entradas una función monótonamente creciente de la distancia entre el segundo punto de la mirada y el tercer punto de la mirada. Por ejemplo, cada una de las entradas de dicha matriz de covarianza puede ser una función monótonamente creciente de la distancia entre el segundo punto de la mirada y el tercer punto de la mirada.
La matriz de covarianza del ruido de observación puede ser la covarianza del ruido de observación en la iteración de orden k, Rk, y puede cumplirse al menos una de las siguientes relaciones:
Figure imgf000018_0004
Por ejemplo, r es una función de la distancia dk,k-1 y puede leerse como sigue:
Figure imgf000018_0005
En particular, r0 puede estar comprendida en el intervalo entre 10-35 y 10-25 y, más particularmente, en el intervalo entre 10-32 y 10-28. Además, n puede estar comprendida en el intervalo entre 10-5 y 10-1 y, en particular, en el intervalo entre 10-3 y 0,5. Además, r0 y/o n pueden ser iguales a 10-30 y 10-2, respectivamente. Además, d3 puede estar comprendida en el intervalo entre 50 y 220 píxeles y, más particularmente, en el intervalo entre 100 y 200 píxeles. En particular, d3, es igual a 128 píxeles.
Una realización del método comprende las etapas de:
• iniciar la ubicación de una sexta ubicación del punto de referencia de la cara de un sexto punto de referencia de la cara en la primera imagen;
• iniciar la ubicación de una séptima ubicación del punto de referencia de la cara de un séptimo punto de referencia de la cara en la primera imagen;
• iniciar la selección de una segunda región de interés en la primera imagen, en donde la selección de la segunda región de interés se realiza utilizando al menos la sexta ubicación del punto de referencia de la cara y la séptima ubicación del punto de referencia de la cara; e
• iniciar la construcción de un segundo vector de la mirada por medio de al menos la red neuronal artificial, utilizando la red neuronal artificial como entrada al menos la segunda región de interés.
En particular, de acuerdo con esta realización, la ubicación del primer punto de la mirada sobre la pantalla se realiza por medio del primer y el segundo vector de la mirada. Por ejemplo, la segunda ROI comprende al menos un segundo ojo o una porción del mismo. En particular, el segundo ojo es diferente del primer ojo. La segunda ROI puede estar codificada por un segundo mapa de bits. En esta realización, la ubicación del primer punto de la mirada se obtiene usando información sobre los vectores de mirada de ambos ojos. De esta manera se mejora la precisión de dicha ubicación.
Al construir el segundo vector de la mirada, la ANN usa como entrada la segunda ROI. En este caso, en particular, la entrada de ANN comprende información sobre la posición y el color de los píxeles de la segunda ROI y, más particularmente, la entrada de ANN puede comprender o consistir en el segundo mapa de bits.
El método de acuerdo con la presente invención puede comprender la etapa de iniciar la ubicación de un cuarto y un quinto punto de la mirada, en donde la ubicación del cuarto y quinto punto de la mirada se realiza por medio del primer y segundo vector de la mirada, respectivamente. En particular, las coordenadas de la pantalla del primer o segundo punto de la mirada, (á, 6 ), pueden obtenerse mediante una suma ponderada de las coordenadas de pantalla del cuarto punto de la mirada, (á4, 64 ), y de las coordenadas de pantalla del quinto punto de la mirada, (á5, 6 5), como sigue:
GD=U 1 ( £ ) (2 ), con U U 1 (27)
Por ejemplo, el primer o el segundo punto de la mirada pueden coincidir sustancialmente con el punto medio entre la ubicación del cuarto y del quinto punto de la mirada, es decir (á, 6 ) puede obtenerse de la ecuación anterior estableciendo U1 = U2 = 1/2. Los pesos U1 y U2 pueden depender del vector de estimación de la postura de la cabeza. En particular, la dependencia de estos pesos es tal que:
- U1 es menor que U2 si, debido a la postura de la cabeza del usuario, la construcción del cuarto punto de la mirada es menos precisa que la construcción del quinto punto de la mirada; y
- U1 es mayor que U2 si, debido a la postura de la cabeza del usuario, la reconstrucción del cuarto punto de la mirada es más precisa que la construcción del quinto punto de la mirada.
Por ejemplo, la construcción del cuarto punto de la mirada es más o menos precisa que la del quinto punto de la mirada si, respectivamente, la reconstrucción del primer ojo es más o menos precisa que la reconstrucción del segundo ojo. Por ejemplo, la reconstrucción de un ojo de la cara del usuario puede ser más precisa que la reconstrucción del otro ojo si en la primera imagen la cabeza del usuario se gira de tal manera que el último ojo esté al menos parcialmente obstruido, por ejemplo, por la nariz del usuario.
El método de la presente invención puede comprender además la etapa de recibir la ubicación del primer punto de la mirada en la pantalla y/o la etapa de iniciar la visualización de la ubicación del primer punto de la mirada en la pantalla.
De acuerdo con la presente invención, la etapa de iniciar una acción, tal como la adquisición de una imagen, la ubicación de un punto de referencia o un punto de la mirada, la selección de una región de interés, la construcción de un vector y/o la estimación de un punto de referencia de la cara, en particular, puede realizarse mediante la realización de dicha acción. Por ejemplo, la etapa de iniciar la adquisición de la imagen, por ejemplo, de la primera o de la segunda imagen, puede realizarse mediante la adquisición de dicha imagen. De manera similar, la etapa de iniciar la ubicación de una ubicación del punto de referencia de la cara en una imagen puede realizarse ubicando dicha ubicación del punto de referencia de la cara en dicha imagen. Por ejemplo, la etapa de iniciar la construcción de un vector, tal como el vector de la primera mirada o el vector de estimación de la postura de la cabeza, puede realizarse construyendo dicho vector.
La etapa de iniciar una acción, tal como la adquisición de una imagen, la ubicación de un punto de referencia o un punto de la mirada, la selección de una ROI, la construcción de un vector y/o la estimación de un punto de referencia de la cara, puede realizarse, en particular, dando instrucciones a un dispositivo especializado a realizar dicha acción. Por ejemplo, la etapa de iniciar la adquisición de la imagen, por ejemplo, de la primera o la segunda imagen, puede realizarse dando instrucciones al dispositivo de grabación para que adquiera dicha imagen. De manera similar, la etapa de iniciar la ubicación de una ubicación del punto de referencia de la cara en una imagen puede realizarse dando instrucciones a un dispositivo informático especializado a ubicar dicha ubicación del punto de referencia de la cara en dicha imagen.
De acuerdo con la presente invención, la etapa de iniciar una primera acción puede realizarse junto con la etapa de iniciar una o más acciones. Por ejemplo, la etapa de iniciar la primera ubicación del primer punto de referencia y la etapa de iniciar la ubicación del segundo punto de referencia pueden realizarse juntas iniciando la ubicación de una pluralidad de puntos de referencia de la cara, incluyendo dicha pluralidad el primer y el segundo punto de referencia. Además, la etapa de iniciar la selección de la primera ROI puede realizarse junto con las etapas de iniciar la ubicación del primer y segundo punto de referencia de la cara. Por ejemplo, el dispositivo informático que lleva a cabo la presente invención puede dar instrucciones a otro dispositivo informático que ubique el primer y el segundo punto de referencia de la cara. Este último dispositivo puede configurarse de tal forma que, una vez que este último dispositivo ha realizado esta ubicación, realice la selección de la primera ROI. En este caso, de acuerdo con la presente invención, las etapas de iniciar la ubicación del primer y el segundo punto de referencia de la cara inician también la selección de la primera ROI.
En una realización, todas las etapas del método de acuerdo con la presente invención pueden realizarse juntas. Por ejemplo, el dispositivo informático que lleva a cabo la presente invención puede dar instrucciones a otro dispositivo informático que adquiera la primera imagen. Una vez que este último dispositivo ha adquirido dicha imagen, ubica el primer y el segundo punto de referencia, selecciona la primera ROI, construye el primer vector de la mirada y a continuación localiza el primer punto de la mirada en la pantalla. En este caso, de acuerdo con la presente invención, la etapa de iniciar la adquisición de la primera imagen inicia también la ubicación de la primera y segunda ubicaciones de punto de referencia de la cara, la selección de la primera ROI, la construcción del primer vector de la mirada y la ubicación del primer punto de la mirada en la pantalla.
A través de toda la presente memoria descriptiva, las etapas del método de la presente invención se desvelan de acuerdo con un orden dado. Sin embargo, este orden dado no refleja necesariamente el orden cronológico, de acuerdo con el cual se realizan las etapas de la presente invención.
La presente invención se refiere también a un sistema de procesamiento de datos que comprende al menos un procesador configurado para realizar el método de acuerdo con la presente invención.
Además, la presente invención se refiere a un producto de programa informático que comprende instrucciones que, cuando se ejecuta el producto de programa informático por un dispositivo informático, hacen que el dispositivo informático lleve a cabo el método de acuerdo con la presente invención.
La presente invención se refiere también a un medio de almacenamiento legible por ordenador que comprende instrucciones que, cuando se ejecutan por un dispositivo informático, hacen que el dispositivo informático lleve a cabo el método de acuerdo con la presente invención. El medio legible por ordenador es, en particular, no transitorio. A continuación se describen realizaciones ilustrativas de la invención con respecto a las figuras adjuntas. Las figuras y la correspondiente descripción detallada sirven únicamente para facilitar una mejor comprensión de la invención y no constituyen limitación alguna del alcance de la invención tal como se define en las reivindicaciones. En particular: La Figura 1 es una vista esquemática de una primera realización del sistema de procesamiento de datos de acuerdo con la presente invención;
La Figura 2 es un diagrama de flujo del funcionamiento de una primera realización del método de acuerdo con la presente invención;
La Figura 3a es una representación esquemática de la primera imagen adquirida al realizar la primera realización del método de acuerdo con la presente invención;
La Figura 3b es una representación esquemática de los puntos de referencia de la cara ubicados al realizar la primera realización del método de acuerdo con la presente invención;
LA Figura 3c es una representación esquemática de la primera ROI seleccionada al realizar la primera realización del método de acuerdo con la presente invención;
Las Figuras 4a, 4b son representaciones esquemáticas de los mapas de calor obtenidos al realizar la primera realización del método de acuerdo con la presente invención; y
La Figura 5 es un diagrama de flujo del funcionamiento de una segunda realización del método de acuerdo con la presente invención.
La Figura 1 es una vista esquemática de una primera realización del sistema de procesamiento de datos 100 de acuerdo con la presente invención. Dicho sistema de procesamiento de datos 100 puede ser un dispositivo informático o un grupo del mismo. El sistema de procesamiento de datos 100 comprende un elemento de procesamiento 110 y medios de almacenamiento 120, que están en comunicación de datos entre sí.
El elemento de procesamiento 110 puede consistir o comprender una CPU y/o una GPU. Además, el elemento de procesamiento 110 comprende varios módulos 111-116 configurados para realizar las etapas del método de acuerdo con la presente invención. El primer módulo de iniciación 111 está configurado para iniciar la adquisición de al menos la primera imagen. Por ejemplo, el primer módulo de iniciación 111 puede ser un módulo de adquisición configurado para adquirir, por ejemplo, capturar, la primera imagen.
El segundo módulo de iniciación 112 está configurado para iniciar la ubicación de la primera ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la primera imagen. El segundo módulo de iniciación 112 puede ser un primer módulo de ubicación configurado para ubicar en la primera imagen la primera ubicación del punto de referencia de la cara del primer punto de referencia de la cara. El tercer módulo de iniciación 113 está configurado para iniciar la ubicación de la segunda ubicación de punto de referencia de la cara del segundo punto de referencia de la cara en la primera imagen. En particular, el segundo módulo de iniciación 112 puede ser un segundo módulo de ubicación configurado para ubicar la segunda ubicación del punto de referencia del segundo punto de referencia de la cara.
El tercer 113 y el segundo módulo de iniciación 112 pueden ser el mismo módulo de iniciación que, por ejemplo, puede configurarse para iniciar la ubicación en la primera imagen de una pluralidad de ubicaciones de puntos de referencia de la cara, incluyendo dicha pluralidad la primera ubicación del punto de referencia de la cara del primer punto de referencia de la cara y la segunda ubicación del punto de referencia de la cara del segundo punto de referencia de la cara.
El cuarto módulo de iniciación 114 está configurado para iniciar la selección de la primera ROI y, en particular, es un módulo de selección configurado para seleccionar la primera ROI usando al menos la primera ubicación del punto de referencia de la cara y la segunda ubicación del punto de referencia de la cara. El quinto módulo de iniciación 115 está configurado para iniciar la construcción del primer vector de la mirada. Por ejemplo, el quinto módulo de iniciación 115 es un módulo de construcción configurado para construir dicho vector de la mirada por medio de la ANN.
El sexto módulo de iniciación 116, en su lugar, está configurado para iniciar la ubicación del primer punto de la mirada en la pantalla. Por ejemplo, el sexto módulo de iniciación 116 es un tercer módulo de ubicación configurado para ubicar el primer punto de la mirada en la pantalla por medio de al menos el primer vector de la mirada.
Los medios de almacenamiento 120 pueden comprender una memoria primaria volátil 121 y/o una memoria primaria no volátil 122. Los medios de almacenamiento 120 pueden comprender además una memoria secundaria 123, que puede almacenar el sistema operativo y/o la ANN. Además, la memoria secundaria 123 puede almacenar un producto de programa informático que comprende instrucciones que, cuando el producto de programa informático se ejecuta por el elemento de procesamiento 110, hacen que el sistema de procesamiento de datos 100 lleve a cabo el método de acuerdo con la presente invención. La memoria secundaria 123 puede almacenar la primera imagen y/o información sobre la primera ROI.
No es necesario que la memoria secundaria 123, las memorias primarias 121, 122 y el elemento de procesamiento 110 estén alojados físicamente dentro del mismo alojamiento y, en su lugar, pueden estar separados espacialmente entre sí. En particular, la memoria secundaria 123, las memorias primarias 121, 122 y el elemento de procesamiento 110 pueden estar espacialmente separados entre sí y pueden intercambiar datos entre sí a través de medios alámbricos y/o inalámbricos (no mostrados).
El sistema de procesamiento de datos 100 puede comprender además una interfaz de entrada/salida (E/S) 140 que permite que dicho sistema 100 se comunique con dispositivos de entrada/salida (por ejemplo, pantallas, teclados, pantallas táctiles, impresoras, ratones o similares).
El sistema de procesamiento de datos 100 puede comprender además un controlador de interfaz de red (NIC) 130 configurado para conectar el sistema 100 con una red adecuada (no mostrada). De acuerdo con la presente invención, una red adecuada puede ser, por ejemplo, una intranet, internet o una red celular. Por ejemplo, la NIC 130 puede permitir que el sistema de procesamiento de datos 100 intercambie datos con otro dispositivo informático (no mostrado) que, por ejemplo, realiza la ubicación de los puntos de referencia de la cara, la selección de la primera ROI, la construcción del primer vector de la mirada y/o la ubicación del primer punto de la mirada.
En particular, el sistema de procesamiento de datos 100 comprende un dispositivo de grabación 160 que está configurado para capturar al menos la primera imagen. Por ejemplo, el dispositivo de grabación puede ser una cámara fotográfica y/o una cámara de vídeo. Como se muestra en la Figura 1, el dispositivo de grabación 160 puede conectarse al elemento de procesamiento 110 a través de la interfaz de E/S 140. Por ejemplo, el dispositivo de grabación 160 se puede conectar de forma inalámbrica a la interfaz de E/S a través de la NIC 130. El sistema de procesamiento de datos 100 puede comprender una unidad de visualización 150 que comprende la pantalla 151 y está conectada al elemento de procesamiento 110 a través de la interfaz de E/S 140. En particular, dicha unidad 140 se puede conectar de forma inalámbrica a la interfaz de E/S a través de la NIC 130. El dispositivo de grabación 160 y/o la unidad de visualización 150 pueden ser dispositivos inteligentes con su propia memoria para almacenar instrucciones y datos asociados para su uso con la interfaz de E/S 140 o los dispositivos periféricos.
La Figura 2 es un diagrama de flujo 200 del funcionamiento de una primera realización del método de acuerdo con la presente invención. En particular, la primera realización del método de acuerdo con la presente invención puede realizarse por un primer dispositivo informático (no mostrado), que, por ejemplo, puede ser el sistema de procesamiento de datos 100 descrito anteriormente y representado esquemáticamente en la Figura 1. En la etapa 210, el primer dispositivo informático inicia la adquisición de la primera imagen 300, representada esquemáticamente en la Figura 3a. En particular, la primera imagen 300 se adquiere utilizando el dispositivo de grabación 160.
En las etapas 220 y 230, el primer dispositivo informático inicia la ubicación de la primera ubicación del punto de referencia de la cara 301 del primer punto de referencia de la cara en la primera imagen 300 y la ubicación de la segunda ubicación del punto de referencia de la cara 302 del segundo punto de referencia de la cara en la primera imagen 300. En particular, dichas etapas pueden realizarse juntas iniciando la ubicación en la primera imagen de sesenta y ocho puntos de referencia de la cara, cuyas ubicaciones se representan en la figura 3b por puntos cruzados. Por ejemplo, la ubicación de dichos puntos de referencia de la cara se realiza por medio del primer algoritmo de ubicación. En particular, el primer y el segundo punto de referencia de la cara son el tercer punto de referencia del ojo 301 y el cuarto punto de referencia del ojo 302, respectivamente. Además, el conjunto de sesenta y ocho puntos de referencia de la cara comprende el quinto 303, el sexto 304, el séptimo 305 y el octavo 306 puntos de referencia del ojo.
En la etapa 240, el primer dispositivo informático inicia la selección de la primera ROI 310 representada esquemáticamente en la Figura 3c. La selección de la primera ROI 310 se realiza utilizando los seis puntos de referencia de los ojos 301 a 306 mencionados anteriormente. En particular, la primera ROI 310 consiste en los píxeles con un número de columna comprendido entre los números enteros C3 y C4, y con número de fila comprendido entre los números enteros R3 y R4,en donde C3, C4, R3 y R4 cumplen las ecuaciones (4).
En la etapa 250, el primer dispositivo informático inicia la construcción del primer vector de la mirada. La ANN realiza la construcción de este vector de la mirada. En particular, la salida de la ANN comprende los dieciocho mapas de calor 401 a 418, que varían del primero hasta el decimoctavo. Estos mapas de calor se representan esquemáticamente en las Figuras 4a y 4b. Más específicamente, el mapa de calor 401 y 402 codifica la confianza por píxel del centro del iris y del centro del globo ocular, respectivamente. Cada uno de los mapas de calor 403 a 410 codifica la confianza por píxel de la ubicación de uno del primer al octavo puntos de referencia del borde del ojo, de tal manera que los puntos de referencia del borde del ojo diferentes se asocian a mapas de calor diferentes. Además, cada uno de los mapas de calor 411 a 418 codifica la ubicación de confianza por píxel de uno del primer al octavo puntos de referencia del borde del iris, de tal manera que diferentes puntos de referencia del borde del iris se asocian a diferentes mapas de calor.
En los mapas de calor 401-418 representados esquemáticamente en las Figuras 4a y 4b, las regiones en las que la confianza por píxel asume su mayor valor están sombreadas o resaltadas en negro. Además, el valor de la confianza por píxel es mayor en la región de color oscuro que en la sombreada. La ubicación del punto de referencia del ojo asociada a cada uno de los mapas de calor 401-418 puede coincidir con la ubicación de un punto en la región de color oscuro de dicho cada uno de los mapas de calor 401-418. En particular, la ubicación del centro del iris, del centro del globo ocular, de los ocho puntos de referencia del borde del ojo y de los ocho puntos de referencia del borde del iris se obtiene procesando los dieciocho mapas de calor 401-418 anteriormente mencionados por medio de una capa soft-argmax.
La construcción del vector de la mirada se realiza por medio del algoritmo SVR. En particular, el algoritmo SVR usa como entrada la ubicación del centro del globo ocular, la ubicación del centro del iris, las ocho ubicaciones de puntos de referencia del borde del iris y las ocho ubicaciones de puntos de referencia del borde del ojo obtenidas usando los dieciocho mapas de calor 401-418.
En la etapa 260, el primer dispositivo informático inicia la ubicación del primer punto de la mirada en la pantalla. El primer punto de la mirada es en particular la intersección entre la pantalla 151 y la primera línea de la mirada. Por ejemplo, la ubicación del primer punto de la mirada en la pantalla 151 puede obtenerse modelando la pantalla en términos de un plano y construyendo el primer punto de la mirada como la intersección entre dicho plano y la primera línea de la mirada.
La Figura 5 es un diagrama de flujo 500 del funcionamiento de una segunda realización del método de acuerdo con la presente invención. En particular, dicha realización puede realizarse por un segundo dispositivo informático (no mostrado), que, por ejemplo, puede ser el sistema de procesamiento de datos 100 descrito anteriormente y representado esquemáticamente en la Figura 1. De acuerdo con esta realización, el primer punto de la mirada se calcula iterativamente utilizando el filtro de Kalman a partir de P010 y V0 como se definen en la ecuación (21).
La iteración genérica del filtro de Kalman se describe en términos de un contador, m, que, en la etapa 505, se inicializa en el valor cero. Durante la iteración de orden m, el segundo dispositivo informático inicia la adquisición de una imagen intermedia de orden m (etapa 515), que, en particular, puede adquirirse utilizando el dispositivo de grabación 160. En particular, la primera imagen y la imagen intermedia de orden m comprenden el mismo sujeto y se capturan en diferentes instantes de tiempo. Por ejemplo, la primera imagen y la imagen intermedia de orden m son dos fotogramas de un vídeo que, por ejemplo, se captura por el dispositivo de grabación 160 del dispositivo informático de la presente invención.
En las etapas 520 y 525 de la iteración de orden m, el segundo dispositivo informático inicia la ubicación en la imagen intermedia de orden m de una ubicación de punto de referencia de la cara de un punto de referencia de la cara y de una ubicación de punto de referencia de la cara adicional del punto de referencia de la cara adicional. Dichas etapas pueden realizarse juntas iniciando la ubicación de sesenta y ocho puntos de referencia de la cara por medio del primer algoritmo de ubicación.
En particular, la distribución de los sesenta y ocho puntos de referencia de la cara en la imagen intermedia de orden m es similar a la distribución de los sesenta y ocho puntos de referencia de la cara, que se representan esquemáticamente en la Figura 3a. En particular, el conjunto de sesenta y ocho puntos de referencia de la cara situados en la imagen intermedia de orden m comprende seis puntos de referencia para el ojo izquierdo y seis puntos de referencia para el ojo derecho.
En la etapa 530 de la iteración de orden m, el segundo dispositivo informático inicia la selección de una ROI intermedia de orden m. En particular, la ROI intermedia de orden m comprende un ojo, es decir, el izquierdo, y se selecciona usando los seis puntos de referencia del ojo izquierdo. En particular, la ROI intermedia de orden m consiste en los píxeles con un número de columna comprendido entre los números enteros C3 y C4, y con número de fila comprendido entre los números enteros R3 y R4. Los números enteros C3, C4, R3 y R4 pueden calcularse usando las ecuaciones (4) y las coordenadas en la imagen intermedia de orden m de los seis puntos de referencia del ojo izquierdo. La posición de la ROI intermedia de orden m en la imagen intermedia de orden m es similar a la posición de la primera ROI representada esquemáticamente en la Figura 3b.
En la etapa 535, el segundo dispositivo informático inicia la construcción de un vector de la mirada intermedio de orden m mediante el uso de la ANN. La ANN de la segunda realización es idéntica a la utilizada por la primera realización del método de acuerdo con la presente invención. En particular, la ANN utiliza como entradas el píxel de la ROI intermedia de orden m y proporciona dieciocho mapas de calor como salida. Dichos mapas de calor son similares a los representados esquemáticamente en las Figuras 4a y 4b y se utilizan para encontrar la ubicación en la imagen intermedia de orden m del centro del iris del ojo izquierdo, del centro del globo ocular del ojo izquierdo, de ocho puntos de referencia del borde del ojo izquierdo y de ocho puntos de referencia del borde del iris del ojo izquierdo. Por ejemplo, dichos puntos de referencia pueden obtenerse procesando los dieciocho mapas de calor mediante una capa soft-argmax.
La ubicación del centro del iris del ojo izquierdo, del centro del globo ocular del ojo izquierdo, de los ocho puntos de referencia del borde del ojo izquierdo y de los ocho puntos de referencia del borde del iris del ojo izquierdo se utilizan a continuación como entrada del algoritmo SVR que construye el vector de la mirada intermedio de orden m.
En la etapa 540 de la iteración de orden m, el segundo dispositivo informático inicia la ubicación del punto intermedio de orden m de la mirada en la pantalla. Dicho punto de la mirada es en particular la intersección entre la pantalla y la línea de la mirada intermedia de orden m. Por ejemplo, la ubicación del primer punto de la mirada en la pantalla puede obtenerse modelando la pantalla en términos de un plano y construyendo el primer punto de la mirada como la intersección entre dicho plano y la línea de la mirada intermedia de orden m. En particular, la línea de la mirada intermedia de orden m es la línea que cruza el centro del globo ocular del ojo contenido en la ROI intermedia de orden m y que es paralela al vector de la mirada intermedia de orden m.
En la etapa 545 de la iteración de orden m, el segundo dispositivo informático inicia el cálculo del punto estimado de orden m de la mirada en la pantalla. El cálculo de este punto de la mirada se realiza en particular utilizando el punto intermedio de la mirada de orden m, el punto estimado de la mirada de orden (m-1) calculado durante la iteración de orden (m- 1) y las ecuaciones (16) a (26) con el reemplazo k ^ M.
En la etapa 550 de la iteración de orden m, el segundo dispositivo informático comprueba si el punto de la mirada estimado de orden m cumple la condición de parada. En particular, la condición de parada comprende el requisito de que la distancia euclidiana entre el punto de la mirada estimado de orden m y el punto intermedio de la mirada de orden m es inferior al primer umbral y/o el requisito de que la distancia entre el punto de la mirada estimado de orden m y el punto de la mirada estimado de orden (m - 1) es inferior al segundo umbral.
Si no se cumple la condición de parada, el segundo dispositivo informático incrementa el valor del contador en uno, véase la etapa 510, y realiza la iteración de orden (m 1). Si se cumple la condición de parada, en la etapa 555, el segundo dispositivo informático inicia la ubicación del primer punto de la mirada, realizándose dicha ubicación ajustando dicho punto de la mirada para que sea igual al punto de la mirada estimado de orden m construido en la iteración de orden m.

Claims (15)

REIVINDICACIONES
1. Método implementado por ordenador para ubicar un primer punto de la mirada en una pantalla (151), comprendiendo dicho método al menos las etapas de:
• iniciar la adquisición (210) de al menos una primera imagen (300);
• iniciar la ubicación (220) de una primera ubicación del punto de referencia de la cara (301) de un primer punto de referencia de la cara en la primera imagen (300);
• iniciar la ubicación (230) de una segunda ubicación del punto de referencia de la cara (302) de un segundo punto de referencia de la cara en la primera imagen (300);
• iniciar la selección (240) de una primera región de interés (310) en la primera imagen (300), en donde la selección de la primera región de interés (310) se realiza utilizando al menos la primera ubicación del punto de referencia de la cara (301) y la segunda ubicación del punto de referencia de la cara (302);
• iniciar la construcción (250) de un primer vector de la mirada, en donde la construcción del primer vector de la mirada se realiza por medio de al menos una red neuronal artificial, utilizando la red neuronal artificial como entrada al menos la primera región de interés (310);
caracterizado por que:
el método comprende además la etapa de:
• iniciar la ubicación (250) del primer punto de la mirada en la pantalla (151), en donde la ubicación del primer punto de la mirada se realiza por medio de al menos el primer vector de la mirada y un filtro de Kalman, utilizando el filtro de Kalman una serie de estimaciones del punto de la mirada en la pantalla.
2. Método de acuerdo con la reivindicación 1, en donde la red neuronal artificial detecta en la primera región de interés (310) al menos una primera ubicación del punto de referencia del ojo (403) de la ubicación de un primer punto de referencia del ojo y una segunda ubicación del punto de referencia del ojo (404) de un segundo punto de referencia del ojo.
3. Método de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde la construcción del vector de la mirada se realiza por medio de un algoritmo de regresión del vector de soporte, utilizando el algoritmo de regresión del vector de soporte como entrada al menos la primera ubicación del punto de referencia del ojo (403) y la segunda ubicación del punto de referencia del ojo (404).
4. Método de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde la red neuronal artificial es una red neuronal de reloj de arena.
5. Método de acuerdo con una cualquiera de las reivindicaciones anteriores, que comprende además la etapa de: • iniciar la construcción de un vector de estimación de la postura de la cabeza, en donde la construcción del vector de estimación de la postura de la cabeza se realiza utilizando al menos la primera ubicación del punto de referencia de la cara (301) y la segunda ubicación del punto de referencia de la cara (302);
en donde la ubicación del primer punto de la mirada en la pantalla (151) se basa en el vector de estimación de la postura de la cabeza.
6. Método de acuerdo con la reivindicación 5, en donde la construcción del vector de estimación de la postura de la cabeza se realiza al menos por medio de un modelo facial tridimensional, y en donde el modelo facial tridimensional utiliza como entrada al menos la primera ubicación del punto de referencia de la cara (301) y la segunda ubicación del punto de referencia de la cara (302).
7. Método de acuerdo con una cualquiera de las reivindicaciones anteriores, que comprende además las etapas de:
• iniciar la adquisición de al menos una segunda imagen;
• iniciar la ubicación de una tercera ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la segunda imagen;
• iniciar la estimación de una cuarta ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la primera imagen (300), en donde la estimación de la cuarta ubicación del punto de referencia de la cara se realiza por medio de una ecuación de flujo óptico y la tercera ubicación del punto de referencia de la cara; e
• iniciar la detección de una quinta ubicación del punto de referencia de la cara del primer punto de referencia de la cara en la primera imagen (300);
y en donde la ubicación de la primera ubicación del punto de referencia de la cara (301) en la primera imagen (300) se basa en la cuarta ubicación del punto de referencia de la cara y en la quinta ubicación del punto de referencia de la cara.
8. Método de acuerdo con la reivindicación 7, en donde la ubicación de la primera ubicación del punto de referencia de la cara (301) en la primera imagen (300) se basa en una distancia del punto de referencia, siendo la distancia del punto de referencia la distancia entre la tercera ubicación del punto de referencia de la cara y la cuarta ubicación del punto de referencia de la cara.
9. Método de acuerdo con la reivindicación 7 u 8, en donde la primera ubicación del punto de referencia de la cara (301) es igual a la media ponderada entre la cuarta ubicación del punto de referencia de la cara y la quinta ubicación del punto de referencia de la cara.
10. Método de acuerdo con una cualquiera de las reivindicaciones anteriores, que comprende además la etapa de:
• iniciar la ubicación de un segundo punto de la mirada en la pantalla (151), en donde la ubicación del segundo punto de la mirada se realiza por medio de al menos el primer vector de la mirada;
en donde la ubicación del primer punto de la mirada en la pantalla (151) se realiza por medio del segundo punto de la mirada.
11. Método de acuerdo con la reivindicación 10, en donde la ubicación del segundo punto de la mirada en la pantalla (151) se realiza por medio de una función de calibración, dependiendo la función de calibración de al menos una ubicación de un punto de calibración de la mirada y de una estimación de la ubicación del punto de calibración de la mirada.
12. Método de acuerdo con la reivindicación 10, en donde la ubicación del primer punto de la mirada en la pantalla (151) se realiza por medio de un tercer punto de la mirada y una matriz de covarianza del ruido de proceso, en donde la matriz de covarianza del ruido de proceso comprende una pluralidad de entradas, siendo dichas entradas una función monótonamente creciente de la distancia entre el segundo punto de la mirada y el tercer punto de la mirada.
13. Un sistema de procesamiento de datos (100) que comprende al menos un procesador (110) configurado para realizar el método de acuerdo con una cualquiera de las reivindicaciones anteriores.
14. Un producto de programa informático que comprende instrucciones que, cuando el producto de programa informático se ejecuta por un dispositivo informático, hace que el dispositivo informático lleve a cabo el método de acuerdo con una cualquiera de las reivindicaciones 1 a 12.
15. Un medio de almacenamiento legible por ordenador que comprende instrucciones que, cuando se ejecutan por un dispositivo informático, hacen que el dispositivo informático lleve a cabo el método de acuerdo con una cualquiera de las reivindicaciones 1 a 12.
ES20169015T 2020-04-09 2020-04-09 Método para el seguimiento de la mirada Active ES2925382T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP20169015.3A EP3893090B1 (en) 2020-04-09 2020-04-09 Method for eye gaze tracking

Publications (1)

Publication Number Publication Date
ES2925382T3 true ES2925382T3 (es) 2022-10-17

Family

ID=70285489

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20169015T Active ES2925382T3 (es) 2020-04-09 2020-04-09 Método para el seguimiento de la mirada

Country Status (6)

Country Link
US (1) US20230116638A1 (es)
EP (1) EP3893090B1 (es)
JP (1) JP2023521593A (es)
CN (1) CN115315676A (es)
ES (1) ES2925382T3 (es)
WO (1) WO2021204449A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113842B2 (en) * 2018-12-24 2021-09-07 Samsung Electronics Co., Ltd. Method and apparatus with gaze estimation
JP2024513497A (ja) * 2021-04-08 2024-03-25 イモコグ インク. 機械学習ベースの視線追跡装置および方法
US11740693B2 (en) * 2021-04-16 2023-08-29 Microsoft Technology Licensing, Llc Gaze based video stream processing
US20230032705A1 (en) * 2021-07-14 2023-02-02 Google Llc Differentially Private Heatmaps
CN113903317B (zh) * 2021-10-19 2023-06-27 Oppo广东移动通信有限公司 电子设备的屏幕亮度调节方法、装置以及电子设备
CN114680889A (zh) * 2022-03-08 2022-07-01 中国石油大学(北京) 钻井作业人员的不安全行为识别方法和装置
CN114821180B (zh) * 2022-05-06 2022-12-06 盐城工学院 一种基于软阈值惩罚机制的弱监督细粒度图像分类方法
CN115147462B (zh) * 2022-07-08 2023-07-21 浙江大学 一种基于三维眼球模型和卡尔曼滤波的注视特征跟踪方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206435B2 (en) * 2002-03-26 2007-04-17 Honda Giken Kogyo Kabushiki Kaisha Real-time eye detection and tracking under various light conditions
US20160011657A1 (en) * 2014-07-14 2016-01-14 Futurewei Technologies, Inc. System and Method for Display Enhancement
CN104951084B (zh) * 2015-07-30 2017-12-29 京东方科技集团股份有限公司 视线追踪方法及装置
US20190212815A1 (en) * 2018-01-10 2019-07-11 Samsung Electronics Co., Ltd. Method and apparatus to determine trigger intent of user
WO2020028867A1 (en) * 2018-08-03 2020-02-06 Magic Leap, Inc. Depth plane selection for multi-depth plane display systems by user categorization

Also Published As

Publication number Publication date
JP2023521593A (ja) 2023-05-25
CN115315676A (zh) 2022-11-08
WO2021204449A1 (en) 2021-10-14
US20230116638A1 (en) 2023-04-13
EP3893090B1 (en) 2022-06-01
EP3893090A1 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
ES2925382T3 (es) Método para el seguimiento de la mirada
EP3571673B1 (en) Method for displaying virtual image, storage medium and electronic device therefor
US11513593B2 (en) Systems and methods for anatomy-constrained gaze estimation
KR102366110B1 (ko) 번쩍임의 광원에의 매핑
US9779512B2 (en) Automatic generation of virtual materials from real-world materials
CN112102389B (zh) 确定实物至少一部分的3d重构件的空间坐标的方法和系统
US11715231B2 (en) Head pose estimation from local eye region
US20140218281A1 (en) Systems and methods for eye gaze determination
Nitschke et al. Display-camera calibration using eye reflections and geometry constraints
KR20230062802A (ko) 경면 반사를 제공하는 표면들의 이미지-기반 검출 및 반사 수정
US11710350B2 (en) Sensor fusion eye tracking
US20180336720A1 (en) Systems and Methods For Generating and Using Three-Dimensional Images
CN113808160A (zh) 视线方向追踪方法和装置
JP2018099174A (ja) 瞳孔検出装置及び瞳孔検出方法
Sun et al. A novel integrated eye-tracking system with stereo stimuli for 3-D gaze estimation
CN113160260B (zh) 一种头眼双通道智能人机交互系统及运行方法
Nitschke et al. I see what you see: point of gaze estimation from corneal images
Wu et al. Fast iris ellipse fitting based gaze tracking with visible light for real-time wearable eye trackers
CN112101064B (zh) 一种视线追踪方法、装置、设备及存储介质
SE2250689A1 (en) Eye profiling
WO2020195292A1 (ja) 感覚器オブジェクトを表示する情報処理装置
US20240371064A1 (en) Avatar appearance swapping through physical motion
CN114594855A (zh) 一种头显设备的多机交互方法、系统、终端设备及存储介质
Plopski Improving Optical-See-Through Experience through