[go: up one dir, main page]

ES2924701T3 - Estimación de posición en pantalla - Google Patents

Estimación de posición en pantalla Download PDF

Info

Publication number
ES2924701T3
ES2924701T3 ES19212891T ES19212891T ES2924701T3 ES 2924701 T3 ES2924701 T3 ES 2924701T3 ES 19212891 T ES19212891 T ES 19212891T ES 19212891 T ES19212891 T ES 19212891T ES 2924701 T3 ES2924701 T3 ES 2924701T3
Authority
ES
Spain
Prior art keywords
camera
user
optimizer
coordinate system
gaze
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19212891T
Other languages
English (en)
Inventor
Erik Linden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tobii AB
Original Assignee
Tobii AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tobii AB filed Critical Tobii AB
Application granted granted Critical
Publication of ES2924701T3 publication Critical patent/ES2924701T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Processing Of Color Television Signals (AREA)

Abstract

La presente invención se refiere a un método para establecer la posición de un objeto (3) en relación con una cámara (1) para permitir el seguimiento de la mirada con un usuario (A) mirando el objeto (3), donde el usuario (A) está a la vista de la cámara (1). El método comprende los pasos de mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo (s1, s2,...,sN), sobre el objeto (3), detectando rayos de mirada (g1, g2, ..., gN) de un ojo (A1) del usuario (A) mientras el usuario mira los puntos de estímulo (s1, s2,...,sN), y encontrando, por medio de un optimizador (21), una posición y orientación de el objeto (3) en relación con la cámara (1) de manera que los rayos de la mirada (g1, g2,..., gN) se acerquen a los puntos de estímulo (s1, s2,...,sN). (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Estimación de posición en pantalla
Campo técnico
La presente invención se refiere a un método para establecer la posición de un objeto en relación con una cámara con el fin de permitir el seguimiento de la mirada de un usuario que observa el objeto, donde el usuario está a la vista de la cámara.
La presente invención se refiere asimismo a un sistema a través del cual es posible establecer la posición de un objeto en relación con una cámara con el fin de permitir el seguimiento de la mirada.
La presente invención se refiere asimismo a un sistema de programa informático a través del cual se puede realizar el método inventivo cuando es ejecutado en un ordenador, y a un medio legible por ordenador en el que se almacena un código de programa informático inventivo.
Antecedentes de la técnica
Es conocido seguir el movimiento del ojo de un usuario y usar rayos de mirada o un seguimiento de la mirada para hacer un seguimiento de la posición de donde el usuario está mirando un objeto. La posición de la cámara en relación con el objeto se especifica como un parámetro importante en un sistema donde se usa el seguimiento de la mirada.
Si el objeto es una pantalla, entonces la cámara es una parte integrada de la pantalla con una posición definida y bien conocida en relación con la pantalla, o la cámara está integrada con un accesorio a través del cual la cámara puede colocarse en una pantalla y que dicta la posición de la cámara en relación con la pantalla.
El documento US-2015/085251 A1 divulga una técnica de calibración para un sistema con dispositivos de seguimiento ocular y dispositivos de visualización. El proceso de calibración involucró puntos de referencia en el dispositivo de visualización y puntos de referencia en el dispositivo de seguimiento ocular con el fin de recopilar información de calibración.
El documento US-2012/050493 A1 divulga una técnica de calibración para sistemas de seguimiento ocular multicámara tipo diadema mediante el uso de una cámara que apunta hacia el usuario y una cámara separada que apunta lejos del usuario en una escena.
Resumen de la presente invención
Problemas
Es necesario conocer la posición de un objeto en relación con la cámara con el fin de permitir el seguimiento de la mirada. Hay muchas situaciones donde no se conoce la posición del objeto en relación con la cámara, y la situación típica se produce cuando el usuario tiene una cámara web separada que está situada en una posición no definida o no determinada en relación con el objeto.
Un problema técnico es establecer la posición de un objeto en relación con una cámara donde la configuración de la cámara y el objeto no dicta la posición de la cámara en relación con el objeto.
Asimismo, un problema técnico es realizar una calibración personal de un modelo ocular para un usuario donde la configuración de la cámara y el objeto no dicta la posición de la cámara en relación con el objeto.
Solución
Con la finalidad de resolver uno o varios de los problemas mencionados anteriormente, y en base a la técnica anterior, tal como se ha mostrado anteriormente, y el campo técnico indicado, la presente invención enseña que un método para establecer la posición de un objeto en relación con una cámara con el fin de permitir el seguimiento de la mirada de un usuario que observa el objeto, donde el usuario está a la vista de la cámara, comprende las etapas de:
- mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo, en el objeto; y
- buscar, por medio de un optimizador, una posición y orientación del objeto en relación con la cámara; estando el método caracterizado por el optimizador, que realiza las etapas de:
- calcular la posición 3D ( p i , p2, P n) de los puntos ( s i , S2, s n) en un sistema de coordenadas fijado al objeto;
- detectar rayos de mirada (gi, g2, gN) del usuario a medida que el usuario mira dichos puntos (si, S2, s n) por medio de dicha cámara, en un sistema de coordenadas de cámara; y
transformar las posiciones (pi, p2, Pn) de dicho sistema de coordenadas fijado al objeto en dicho sistema de coordenadas de cámara por medio de un vector de traslación t y una matriz de rotación R;en donde el optimizador está configurado para buscar el vector de traslación t y la matriz de rotación R minimizando la función de pérdida L:
N
L(t,R) = ^ loss(line_point_distance[g i ,R x (p ¿ + t)))
¡=i
donde la posición de un punto de objeto se traslada y gira a una posición pc¡ en el sistema de coordenadas de cámara.
Se propone que l¡ne_po¡nt_d¡stance se calcule como la distancia entre un punto de objeto en el objeto y una posición donde un rayo de mirada g¡dirigido al punto de objeto interseca el objeto.
Una solución alternativa para calcular la distancia de un punto a una línea es que la formulación para la distancia de un punto a una línea:
l¡ne_po¡nt_d¡stance (x = a nd,p) = ll(a - p) -((a - p) • n)nll
se use para calcular l¡ne_po¡nt_d¡stance, donde un rayo de mirada (g) está representado por la línea x = a + nd, donde a es la posición de un punto en la línea, donde n es un vector unitario en la dirección de la línea, y donde x da el locus de la línea a medida que un escalar d varía, y donde p es la posición 3D calculada de un punto visualizado s.
Se puede usar cualquier función de pérdida de regresión, tal como pérdida L1, pérdida L2 o pérdida de Huber, para el cálculo de la pérd¡da, y un optimizador no lineal, tal como Levenberg-Marquardt, L-BFGS o Gauss-Newton, puede ser usado para el optimizador.
La invención propone que se conozca el tamaño del objeto y que se conozca el campo de visión de la cámara. Con la finalidad de reducir la complejidad o aumentar la precisión del proceso de optimización, se propone que se introduzcan una o varias restricciones en la posición del objeto en relación con la cámara, de manera que:
- la cámara está en la parte superior del objeto, lo que significa que no puede estar por encima o por debajo de una superficie superior definida del objeto; y/o
- la cámara está a la misma distancia de la persona que el objeto, lo que significa que no puede estar delante, o detrás, de una superficie frontal definida del objeto; y/o
- la cámara tiene una guiñada nula y un balanceo nulo en el sistema de coordenadas fijado al objeto.
La presente invención puede implementarse en cualquier situación donde deba usarse un seguimiento de la mirada en cualquier tipo de objeto. Una situación común donde se usa el seguimiento de la mirada se produce cuando el objeto es una pantalla de visualización. En esta situación, los puntos de estímulo se visualizan en la pantalla, y la superficie de pantalla de la pantalla define el sistema de coordenadas fijado al objeto.
La presente invención se refiere asimismo a un método usado para calibrar el modelo ocular para un usuario en una aplicación de seguimiento de la mirada, donde el usuario está observando un objeto a la vista de una cámara. Se propone que la posición del objeto en relación con la cámara se establezca según el método inventivo divulgado para establecer la posición de un objeto en relación con una cámara, y que la posición del objeto establecida por la presente se use en la calibración.
Según una realización alternativa de la presente invención, se propone usar un modelo ocular para el cálculo de un rayo de mirada g según:
g = eye_model(e, c)
donde e es una imagen de la cámara que muestra lo que ve la cámara, incluido un ojo del usuario, a medida que el usuario está observando un objeto, y donde c es una calibración personal para el usuario. Se propone que eye_model(e, c) se introduzca en la función de pérdida L de modo que:
N
L(c,R,t) = ^ loss (line_point_distance(_eye_model(e i ,c),R x (p i + t)))
¡=i
por lo que se permite el establecimiento simultáneo de la posición del objeto en relación con la cámara y la calibración personal c del modelo ocular.
Se propone asimismo que una función de penalización P(c, R, t) se introduzca en la función de pérdida L de modo que:
N
L(c,R, t) = '^ ¡ loss (line_point_distance[eye_model(e i ,c),R x (p i + t ))) + P(c,R, t)
i = l
Una función de penalización puede adoptar muchas formas diferentes, donde una forma propuesta es el uso de una función de penalización que penaliza las calibraciones personales c que se desvían sustancialmente de los valores típicos de una población conocida.
La presente invención se refiere asimismo a un sistema que comprende un objeto, una cámara y al menos una primera unidad informática, donde la primera unidad informática está adaptada para establecer la posición del objeto en relación con la cámara con el fin de que dicha primera unidad informática permita el seguimiento de la mirada de un usuario que observa dicho objeto, donde dicho usuario está a la vista de la cámara, en donde una segunda unidad informática está adaptada para mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo, en el objeto, y en donde la primera unidad informática comprende un optimizador adaptado para buscar una posición y orientación de dicho objeto en relación con dicha cámara, caracterizado por que el optimizador está adaptado además para: calcular la posición 3D (pi, p2, Pn) de dichos puntos (si, S2, ■■■, sN) en un sistema de coordenadas fijado al objeto; detectar, por medio de dicha cámara, rayos de mirada (gi, g2, ■■■, gN) de un usuario a medida que el usuario mira los puntos (si, S2, ■■■, sN) en un sistema de coordenadas de cámara; y transformar las posiciones (pi, p2, ■■■, pN) de dicho sistema de coordenadas fijado al objeto en dicho sistema de coordenadas de cámara por medio de un vector de traslación t y una matriz de rotación R, en donde el optimizador está adaptado para buscar dicho vector de traslación t y la matriz de rotación R minimizando la función de pérdida L:
N
L(t,R) = ^ loss (line_point_distance(g i , R x (p i + t )))
i = l
donde la posición de un punto de objeto se traslada y gira a una posición pc¡ en el sistema de coordenadas de cámara.
La invención enseña que el optimizador puede adaptarse para calcular l¡ne_po¡nt_d¡stance como la distancia entre un punto de objeto en el objeto y una posición donde un rayo de mirada dirigido al punto de objeto interseca el objeto.
Una solución propuesta alternativa es que el optimizador puede adaptarse para usar la formulación para la distancia de un punto a una línea:
l¡ne_po¡nt_d¡stance (x = a nd,p) = II(a - p) -((a - p) • n)nll
para el cálculo de l¡ne_po¡nt_d¡stance, donde un rayo de mirada (g) está representado por la línea x = a + nd, donde a es una posición de un punto en la línea, donde n es un vector unitario en la dirección de la línea, y donde x da el locus de la línea a medida que un escalar d varía, y donde p es la posición 3D calculada de un punto visualizado s. Se propone asimismo que el optimizador se pueda adaptar para usar cualquier función de pérdida de regresión, tal como pérdida L1, pérdida L2 o pérdida de Huber, para el cálculo de la pérdida, y que el optimizador pueda adaptarse para funcionar como un optimizador no lineal, tal como Levenberg-Marquardt, L-BFGS o Gauss-Newton.
Se propone que la primera unidad informática conozca el tamaño del objeto y el campo de visión de la cámara. Con la finalidad de simplificar o aumentar la precisión del optimizador, se propone que al menos se conozca una restricción en la posición del objeto en relación con la cámara, de manera que:
- la cámara está en la parte superior del objeto, lo que significa que no puede estar por encima o por debajo de una superficie superior definida del objeto; y/o
- la cámara está a la misma distancia de la persona que el objeto, lo que significa que no puede estar delante, o detrás, de una superficie frontal definida del objeto; y/o
- la cámara tiene una guiñada nula y un balanceo nulo en el sistema de coordenadas fijado al objeto.
Según una realización propuesta, el sistema comprende una pantalla de visualización, donde la pantalla de visualización es el objeto. Según esta realización, se propone que la primera unidad informática esté adaptada para proporcionar instrucciones a una segunda unidad informática acerca de cómo mostrar los puntos de estímulo, que una unidad de salida de gráficos perteneciente a la segunda unidad informática esté adaptada para visualizar los puntos de estímulo en la pantalla, y que la superficie de pantalla de la pantalla defina el sistema de coordenadas fijado al objeto.
Se propone que, cuando el sistema esté adaptado para proporcionar una aplicación de seguimiento de la mirada para el usuario mientras observa el objeto a la vista de la cámara, la primera unidad informática comprenda una unidad de calibración adaptada para calibrar el modelo ocular para el usuario en la aplicación de seguimiento de la mirada.
Esta calibración puede realizarse de diferentes maneras y, según una realización propuesta, se propone que la unidad de calibración esté adaptada para usar la posición de objeto establecida por el optimizador en la calibración. Otra realización propuesta enseña que la unidad de calibración está adaptada para calibrar el modelo ocular para el usuario por medio de un modelo ocular para el cálculo de un rayo de mirada g según:
g = eye_model(e, c)
donde e es una imagen de la cámara que muestra lo que ve la cámara, incluido un ojo del usuario, a medida que el usuario está observando un objeto, y donde c es una calibración personal para el usuario. Se propone a continuación que el optimizador esté adaptado para introducir eye_model(e, c) en la función de pérdida L de modo que el optimizador pueda buscar el vector de traslación t, la matriz de rotación R y la calibración personal c minimizando la función de pérdida L:
N
L(c,R,t) = ^ loss[iine_point_distance{eye_model(e i ,c),R x (p i + t) ) )
¡=i
permitiendo de este modo que el optimizador establezca la posición del objeto en relación con la cámara y la calibración personal c del modelo ocular simultáneamente.
Se propone asimismo que el optimizador esté adaptado para introducir una función de penalización P(c, R, t) en la función de pérdida L de modo que:
N
L(c,R, t) = '^ ¡ loss (jline_point_distance(eye_model(e i ,c),R x (p i + t ))) + P(c,R, t)
i = l
donde la función de penalización puede adoptar muchas formas diferentes, tales como una función que penaliza las calibraciones personales c que se desvían sustancialmente de los valores típicos de una población conocida.
La presente invención se refiere asimismo a un producto de programa informático que comprende un código de programa informático que, cuando es ejecutado por un ordenador, permite que el ordenador funcione como un optimizador divulgado previamente cuando se usa junto con el sistema divulgado previamente.
La presente invención se refiere asimismo a un medio legible por ordenador en el que se almacena un código de programa informático inventivo.
Ventajas
Las ventajas que ante todo se pueden asociar a un método, sistema o producto de programa informático según la presente invención son que el seguimiento de la mirada está permitido incluso en sistemas o aplicaciones donde no se especifica la posición de la cámara en relación con el objeto.
La presente invención permite el establecimiento de la posición de un objeto en relación con una cámara donde la posición de la cámara en relación con la posición del objeto no se conoce previamente, por lo que es posible el seguimiento de la mirada de un usuario que observa el objeto.
La invención también permite la calibración de un modelo ocular para el usuario incluso cuando la posición de la cámara en relación con la posición del objeto no se conoce previamente.
Breve descripción de los dibujos
A continuación se describirá con más detalle y con fines de ejemplificación un sistema que tiene las propiedades asociadas a la presente invención, haciendo referencia al dibujo adjunto, en donde:
La Figura 1 muestra de forma esquemática y muy simplificada un método y sistema según la invención,
La Figura 2 muestra de forma esquemática y muy simplificada una primera relación alternativa entre unidades informáticas,
La Figura 3 muestra de forma esquemática y muy simplificada una segunda relación alternativa entre unidades informáticas,
La Figura 4 muestra de forma esquemática y muy simplificada una tercera relación alternativa entre unidades informáticas, y
La Figura 5 muestra de forma esquemática un producto de programa informático y un medio legible por ordenador según la presente invención.
Descripción detallada de realizaciones preferidas
A continuación se describirá la presente invención, donde la Figura 1 muestra una ilustración esquemática de una cámara 1 conectada a una unidad informática 2, donde un usuario A está observando un objeto 3, y donde el usuario A, o al menos un ojo A1 del usuario A, está a la vista de la cámara 1.
La posición relativa entre el objeto 3 y la cámara 1 es desconocida y esta posición debe conocerse con el fin de permitir el seguimiento de la mirada del usuario A a medida que el usuario A está observando el objeto 3.
En aras de la simplicidad, se define un sistema 1c de coordenadas de cámara y un sistema 3c de coordenadas fijado al objeto, donde estos sistemas de coordenadas se definen a partir de la posición de un usuario de la siguiente manera:
- el eje x de ambos sistemas de coordenadas es un eje que apunta desde la cámara y el objeto, respectivamente, hacia el usuario, donde un balanceo es una rotación de la cámara u objeto alrededor del eje x, - el eje y de ambos sistemas de coordenadas es un eje horizontal que apunta de izquierda a derecha visto desde el usuario, donde una inclinación es una rotación de la cámara u objeto alrededor del eje y, y
- el eje z de ambos sistemas de coordenadas es un eje vertical que apunta hacia arriba como se ve desde el usuario, donde una guiñada es una rotación de la cámara u objeto alrededor del eje z.
La invención propone un método para establecer la posición del objeto 3 en relación con la cámara 1 con el fin de permitir el seguimiento de la mirada del usuario A. El método inventivo comprende las etapas de:
- mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo si, S2, sn, en el objeto 3; - detectar los rayos de mirada gi, g2, gN de un ojo A1 del usuario A a medida que el usuario mira los puntos de estímulo si, S2, ■■■, sn; y
- buscar, por medio de un optimizador 21, una posición y orientación del objeto 3 en relación con la cámara 1 de manera que los rayos de mirada gi, g2, ■■■, gN se aproximan a los puntos de estímulo si, s¿, ■ ■■, sn
A través del patrón conocido de puntos de estímulo, los rayos de mirada detectados y la suposición de que la información 3D es fiable, es posible buscar una posición y orientación del objeto de manera que los rayos de mirada se aproximen a los puntos de estímulo mostrados
Una forma propuesta para realizar la optimización mediante el optimizador 21 comprende las etapas de:
- visualizar un conjunto de puntos si, s¿, ■ ■, sn en el objeto 3, donde se conoce la posición de los puntos en el objeto 3;
- calcular la posición 3D pi, p2, ■■■, Pn de los puntos si, s2, ■■■, sn en un sistema 3c de coordenadas fijado al objeto;
- predecir los rayos de mirada gi, g2, gN de un usuario a medida que el usuario mira los puntos si, S2, sn por medio de un rastreador de cámara/ocular 22 en un sistema 1 c de coordenadas de cámara; y
- transformar las posiciones (pi, p2, p N ) del sistema 3c de coordenadas fijado al objeto en el sistema 1c de coordenadas de cámara por medio de un vector de traslación t y una matriz de rotación R.
El método inventivo enseña que se puede buscar el vector de traslación t y la matriz de rotación R minimizando la función de pérdida L:
N
L(t,R) = ^ loss(line_point_distance[g i ,R x (p ¿ + t)))
¡=i
donde la posición de un punto de objeto en el sistema 3c de coordenadas fijado al objeto se traslada y gira a una posición pc¡ en el sistema 1c de coordenadas de cámara.
La función propuesta L puede realizarse de diferentes maneras.
Una realización propuesta enseña que l¡ne_po¡nt_d¡stance se calcula como la distancia entre un punto de objeto Si­ en el objeto 3 y una posición donde un rayo de mirada dirigido al punto de objeto interseca el objeto 3.
Otra realización propuesta enseña que la formulación para la distancia de un punto a una línea:
l¡ne_po¡nt_d¡stance (x = a nd,p) = ll(a - p) -((a - p) • n)nll
se use para calcular l¡ne_po¡nt_d¡stance, donde un rayo de mirada (g) está representado por la línea x = a + nd, donde a es la posición de un punto en la línea, donde n es un vector unitario en la dirección de la línea, y donde x da el locus de la línea a medida que un escalar d varía, y donde p es la posición 3D calculada de un punto visualizado s.
Se propone asimismo que cualquier función de pérdida de regresión, tal como pérdida L1, pérdida L2 o pérdida de Huber, puede usarse para el cálculo de la pérdida, y que se puede usar cualquier optimizador no lineal, tal como Levenberg-Marquardt, L-BFGS o Gauss-Newton, para el optimizador 21.
Debe entenderse que se conoce el tamaño del objeto 3 y que se conoce el campo de visión para la cámara 1.
En el caso más simple, el problema de optimización tiene 6 grados de libertad, que son 3 grados para la traslación, es decir:
- una traslación de la cámara 1 a la izquierda o a la derecha en relación con el objeto 3, o a lo largo del eje y en el sistema 3c de coordenadas fijado al objeto,
- una traslación de la cámara 1 hacia arriba o hacia abajo en relación con el objeto 3, o a lo largo del eje z en el sistema 3c de coordenadas fijado al objeto, y
- una traslación de la cámara 1 hacia delante o hacia atrás en relación con el objeto 3, o a lo largo del eje x en el sistema 3c de coordenadas fijado al objeto,
y 3 grados para la rotación, es decir:
- inclinar la cámara 1 hacia arriba o hacia abajo en relación con el objeto 3, o una rotación de la cámara 1 alrededor del eje y en el sistema 3c de coordenadas fijado al objeto,
- guiñar la cámara 1 a la izquierda o a la derecha en relación con el objeto 3, o una rotación de la cámara a lo largo del eje z en el sistema 3c de coordenadas fijado al objeto, y
- balancear la cámara 1 a la izquierda o a la derecha en relación con el objeto 3, o una rotación de la cámara 1 alrededor del eje x en el sistema 3c de coordenadas fijado al objeto.
Sin embargo, es posible aplicar diversas restricciones en la posición del objeto en relación con la cámara, de manera que:
- la cámara 1 está en la parte superior del objeto 3, lo que significa que se fija en una posición a lo largo del eje z del sistema 3c de coordenadas fijado al objeto, de manera que no puede estar por encima o por debajo de una posición horizontal definida, tal como la superficie superior 31 del objeto; y/o
- la cámara 1 está a la misma distancia de la persona A que el objeto 3, lo que significa que se fija en una posición a lo largo del eje x del sistema 3c de coordenadas fijado al objeto, de manera que no puede estar delante, o detrás, de una superficie 32 frontal definida del objeto; y/o
- la cámara 1 tiene una guiñada nula, lo que significa que no tiene rotación alrededor del eje z en el sistema 3c de coordenadas fijado al objeto, y la cámara tiene un balanceo nulo, lo que significa que no tiene rotación alrededor del eje x en el sistema 3c de coordenadas fijado al objeto, de manera que un plano definido por el eje x y por el eje z del sistema 1c de coordenadas de cámara es paralelo a un plano definido por el eje x y por el eje z del sistema 3c de coordenadas fijado al objeto.
Estas restricciones reducirán la complejidad y/o aumentarán la precisión del proceso de optimización.
El seguimiento de la mirada puede usarse para muchos tipos diferentes de objetos y la presente invención puede usarse con cualquier tipo de objeto y adaptarse al mismo. En muchas aplicaciones donde se usa el seguimiento de la mirada se visualiza algo en una pantalla, en cuyo caso el propio objeto sería algún tipo de pantalla o visualizador, que se usa asimismo como ejemplo en las figuras. Debe entenderse que, aunque todos los puntos generados en un objeto plano como el de una pantalla estén en un plano mutuo, el plano de la pantalla, la presente invención no requiere que los puntos estén colocados en un plano mutuo; por consiguiente, la presente invención funcionará en una situación donde los puntos son puntos en cualquier objeto tridimensional, o en cualquier sistema de coordenadas 3c, donde la invención permitirá el establecimiento de la posición de los puntos en relación con el sistema 1c de coordenadas de cámara.
Sin embargo, en una realización donde el objeto 3 es una pantalla de visualización 41, entonces la invención enseña que los puntos de estímulo pueden visualizarse en la pantalla 41, y que la superficie de pantalla de la pantalla 41 define el sistema 3c de coordenadas fijado al objeto.
Un seguimiento de la mirada incluye en ocasiones una calibración personal para el usuario de la aplicación de seguimiento de la mirada.
En un modelo general para el seguimiento de la mirada, el algoritmo de seguimiento ocular usa una imagen e de la cámara 1, imagen e que muestra lo que la cámara ve a medida que el usuario está observando un objeto, objeto que puede ser algo abstracto y no definido. La imagen e muestra el ojo del usuario y a partir de esta imagen se puede calcular un rayo de mirada g.
Supongamos que g(d) = a + nd representa un rayo de mirada que pasa por el punto a donde n es un vector unitario en la dirección del rayo de mirada g, y donde una d diferente da diferentes posiciones en el rayo de mirada.
Lo que el algoritmo de seguimiento ocular puede ver no es suficiente para calcular el rayo de mirada g, por lo que se requiere asimismo una calibración personal c para el usuario. Los dos valores e y c se combinan con eye_model() para calcular el rayo de mirada:
g = eye_model(e, c)
Debe entenderse que e no necesita ser una sola imagen, puede ser una recopilación de varias imágenes donde eye_model usa información de múltiples imágenes para predecir un rayo de mirada. Un ejemplo de uso de varias imágenes para eye_model es usar múltiples imágenes para eliminar ruido.
Con un número N de pares de muestras (e¡, p) donde i es una muestra, la función de pérdida L mostrada previamente podría ser:
N
L(c,R, t) = ^ loss (line_point_distance{eye_model(ei,c),R x (p ¿ + t))) + P(c,R, t)
¡=i
donde se ha añadido una función de penalización opcional P(c, R, t). Una función de penalización puede adoptar muchas formas diferentes, pero una elección típica sería penalizar calibraciones personales c que se desvían sustancialmente de los valores típicos de una población conocida.
Se recomienda al usuario A que mire fijamente un conjunto de puntos de estímulo conocidos y, a continuación, un rastreador ocular 22 calcula un problema de calibración personal al resolver un problema de optimización. El problema de optimización es buscar un conjunto de parámetros personales que minimice la distancia errónea entre los rayos de mirada y los puntos conocidos, de forma similar a la función de coste como se ha mostrado anteriormente con respecto al establecimiento de la posición de un objeto 3 en relación con una cámara 1 con el fin de permitir el seguimiento de la mirada.
Típicamente hay tres parámetros personales por ojo, dos parámetros que angulan la mirada hacia arriba/hacia abajo y a la izquierda/a la derecha y un parámetro que aumenta/disminuye el ángulo entre el vector de cámara ocular y el rayo de mirada.
En el escenario descrito anteriormente, la calibración no es posible, dado que la ubicación del objeto es desconocida y, por tanto, las ubicaciones exactas de los puntos de estímulo mostrados no son conocidas. La presente invención propone un método para calibrar el modelo ocular para un usuario A en una aplicación de seguimiento de la mirada donde el usuario A está observando un objeto 3 a la vista de una cámara 1, donde la posición del objeto 3 en relación con la cámara 1 se establece, según el método divulgado inventivo, para establecer una posición de un objeto en relación con una cámara o, en pocas palabras, la posición del objeto en relación con la cámara se puede resolver según:
R, t = argmín L(c0, R, t)
R.t
donde la calibración personal c no forma parte del problema y puede omitirse, o donde c0 es un valor promedio poblacional para la calibración personal c.
Después de eso, la posición de objeto así establecida se puede usar en la calibración personal, donde la calibración se puede calcular según:
c = argmín ¿(c, R, t)
donde R y t se conocen a partir del establecimiento previo de la posición del objeto en relación con la cámara.
Asimismo es posible buscar la posición del objeto en relación con la cámara y la calibración personal, simultáneamente, según:
c, R, t = argmín L(c, R, t)
C,R,t
Esto probablemente dará como resultado un problema indeterminado, y con la finalidad de obtener un problema determinado, se propone que se introduzcan una o más restricciones como se ha descrito previamente, y/o que las restricciones en los parámetros personales pertenecientes al usuario se introduzcan mediante el uso de la función de penalización P(c, R, t), donde una función de penalización de este tipo podría ser que uno o más de los parámetros personales deben estar cerca del promedio poblacional como se ha descrito previamente.
Haciendo de nuevo referencia a la figura 1, se muestra que la presente invención se refiere asimismo a un sistema que comprende una cámara 1, al menos una primera unidad informática 2 y un objeto 3, donde la primera unidad informática 2 está adaptada para establecer la posición del objeto 3 en relación con la cámara 1 con el fin de que la primera unidad informática 2 permita el seguimiento de la mirada de un usuario A que observa el objeto 3, donde el usuario A está a la vista de la cámara 1.
Una segunda unidad informática 4 está adaptada para mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo si, S2, s n en el objeto 3, y un rastreador de cámara/ocular 22 está adaptado para detectar los rayos de mirada gi, g2, gNde un ojo A1 del usuario A a medida que el usuario mira los puntos de estímulo si, S2, s n . La primera unidad informática 2 comprende un optimizador 21, optimizador 21 que está adaptado para buscar una posición y orientación del objeto 3 en relación con la cámara 1, de manera que los rayos de mirada gi, g2, ..., gN se aproximan a los puntos de estímulo si, s ¿ , s n-Una segunda unidad informática 4 está adaptada para visualizar un conjunto de puntos si, s¿, ..., s n en el objeto 3, y la posición de los puntos si, s¿, ..., sn en el objeto 3 es conocida por la primera unidad informática 2 y por el optimizador 21.
El optimizador 21 está adaptado para calcular la posición 3D pi, p2, ..., P n de los puntos si, s¿, ..., s n en un sistema 3c de coordenadas fijado al objeto, y el sistema comprende un rastreador de cámara/ocular 22, que está adaptado para predecir los rayos de mirada gi, g2, ..., gN de un usuario A a medida que el usuario A mira los puntos si, s¿, ..., s n en un sistema de coordenadas de cámara. El optimizador 21 está adaptado para transformar las posiciones (pi, P2, ■■■, P n) del sistema 3c de coordenadas fijado al objeto en el sistema 1c de coordenadas de cámara por medio de un vector de traslación t y una matriz de rotación R.
El optimizador está adaptado para buscar el vector de traslación t y la matriz de rotación R minimizando la función de pérdida L:
N
L(t,R) = ^ loss(line_point_distance[gi,R x (p¿ + t)))
¡=i
donde la posición de un punto de objeto se traslada y gira a una posición pc¡ en el sistema 1c de coordenadas de cámara.
Se propone que el optimizador 21 esté adaptado para calcular l¡ne_po¡nt_d¡stance como la distancia entre un punto de objeto en el objeto 3 y una posición donde un rayo de mirada g¡dirigido al punto de objeto interseca el objeto 3.
Según una realización alternativa de la presente invención, se propone que el optimizador 21 esté adaptado para usar la formulación para la distancia de un punto a una línea:
l¡ne_po¡nt_d¡stance (x = a nd,p) = II(a - p) -((a - p) • n)nll
para calcular l¡ne_po¡nt_d¡stance, donde un rayo de mirada (g) está representado por la línea x = a + nd, donde a es una posición de un punto en la línea, donde n es un vector unitario en la dirección de la línea, y donde x da el locus de la línea a medida que un escalar d varía, y donde p es la posición 3D calculada de un punto visualizado s.
Se propone asimismo que el optimizador 21 esté adaptado para usar cualquier función de pérdida de regresión, tal como pérdida L1, pérdida L2 o pérdida de Huber, para el cálculo de la pérdida, y para funcionar como un optimizador no lineal, tal como Levenberg-Marquardt, L-BFGS o Gauss-Newton.
La primera unidad informática 2 conoce el tamaño del objeto 3 y el campo de visión de la cámara 1.
Se propone que se conozca al menos una restricción en la posición del objeto 3 en relación con la cámara 1, de manera que:
- la cámara 1 está en la parte superior del objeto 3, lo que significa que se fija en una posición a lo largo del eje z del sistema 3c de coordenadas fijado al objeto, de manera que no puede estar por encima o por debajo de una superficie 31 superior definida del objeto; y/o
- la cámara 1 está a la misma distancia de la persona A que el objeto 3, lo que significa que se fija en una posición a lo largo del eje x del sistema 3c de coordenadas fijado al objeto, de manera que no puede estar delante, o detrás, de una superficie 32 frontal definida del objeto; y/o
- la cámara 1 tiene una guiñada nula, lo que significa que no tiene rotación alrededor del eje z en el sistema 3c de coordenadas fijado al objeto, y la cámara tiene un balanceo nulo, lo que significa que no tiene rotación alrededor del eje x en el sistema 3c de coordenadas fijado al objeto, de manera que un plano definido por el eje x y por el eje z del sistema 1c de coordenadas de cámara es paralelo a un plano definido por el eje x y por el eje z del sistema 3c de coordenadas fijado al objeto.
El sistema inventivo puede comprender una segunda unidad informática 4 con una pantalla de visualización 41, donde la pantalla de visualización en sí es el objeto 3. Se propone que la primera unidad informática 2 pueda adaptarse para proporcionar instrucciones a la segunda unidad informática 4 acerca de cómo mostrar los puntos de estímulo, y que una unidad de salida de gráficos 42, perteneciente a la segunda unidad informática 4, pueda adaptarse para visualizar los puntos de estímulo en la pantalla 41, donde la superficie de pantalla de la pantalla 3 define el sistema 3c de coordenadas fijado al objeto.
El sistema está adaptado para proporcionar una aplicación de seguimiento de la mirada para el usuario A mientras observa el objeto 3 a la vista de la cámara 1, y se propone que el sistema comprenda una unidad de calibración 23 que esté adaptada para calibrar el modelo ocular para el usuario A en la aplicación de seguimiento de la mirada. Existen diferentes formas de realizar una calibración y una realización propuesta enseña que la unidad de calibración 23 está adaptada para usar la posición de objeto establecida por el optimizador 21 en la calibración. Según una realización alternativa para la calibración, se propone que la unidad de calibración 23 esté adaptada para calibrar el modelo ocular para el usuario A por medio de un modelo ocular para el cálculo de un rayo de mirada g según:
g = eye_model(e, c)
donde e es una imagen de la cámara 1 que muestra lo que ve la cámara 1, incluido un ojo A1 del usuario A, a medida que el usuario A está observando un objeto 3, y donde c es una calibración personal para el usuario. El optimizador 21 puede entonces adaptarse para introducir eye_model(e, c) en la función de pérdida L previamente mencionada, de modo que el optimizador puede buscar el vector de traslación t, la matriz de rotación R y la calibración personal c minimizando la función de pérdida L:
N
L(c,R,t) = ^ loss[iine_point_distance{eye_model(e i ,c),R x (p i + t)))
¡=i
permitiendo de este modo que el optimizador establezca la posición del objeto 3 en relación con la cámara 1 y la calibración personal c del modelo ocular simultáneamente.
Se propone que el optimizador 21 esté adaptado para introducir una función de penalización P(c, R, t) en la función de pérdida L, de modo que:
N
L(c,R, t) = '^ ¡ loss (line_point_distance{eye_model(ei,c),R x (p i + t ))) + P(c,R, t)
i = l
donde la función de penalización P(c, R, t) puede adoptar muchas formas diferentes. Una elección típica de la función de penalización es aquella que penaliza las calibraciones personales c que se desvían sustancialmente de los valores típicos de una población conocida.
La primera unidad informática 2 según las realizaciones divulgadas tanto en el método como en el sistema inventivos es una unidad informática 2 separada conectada a la cámara 1. La segunda unidad informática 4 se divulga como una unidad informática conectada a la unidad de visualización 41 y adaptada para controlar la misma. Sin embargo, debe entenderse que la invención no se limita a esta realización y que hay diferentes realizaciones que se encuentran dentro del alcance de las reivindicaciones, donde las unidades informáticas descritas tienen relaciones mutuamente diferentes.
La Figura 2 muestra una realización donde la primera unidad informática puede ser un primer procesador informático 2’ contenido dentro de la cámara 1 y la segunda unidad informática 4 sigue siendo una unidad informática separada conectada al objeto.
La Figura 3 muestra una realización donde la primera unidad informática es un primer procesador informático 2’ contenido dentro de la cámara 1 y la segunda unidad informática es un segundo procesador informático 4’ contenido dentro de la cámara 1. En esta realización, un mismo procesador informático 11 puede asumir la función tanto del primer como del segundo procesador informático 2’, 4’. Si, por ejemplo, un ordenador con una cámara y pantalla es usado por el usuario, pero cuando no se conoce la posición exacta de la cámara en relación con la pantalla, entonces es posible que este ordenador tenga la función tanto de la primera como de la segunda unidad informática. La Figura 4 muestra una realización donde la segunda unidad informática es un segundo procesador informático 4’’ contenido dentro de dicha primera unidad informática 2. En esta realización, un mismo procesador informático 2’’ puede asumir la función tanto de la primera unidad informática 2 como de la segunda unidad informática.
Por tanto, queda claro que la primera unidad informática 2 y la segunda unidad informática 4 pueden ser dos unidades informáticas separadas o que pueden ser una misma unidad informática que está adaptada para realizar la función tanto de la primera como de la segunda unidad informática.
La Figura 5 es una ilustración esquemática de un producto 51 de programa informático inventivo que comprende un código 51a de programa informático que, cuando es ejecutado por un ordenador 5, permite que el ordenador funcione como primera unidad informática 2, con un optimizador 21, como se muestra en el método inventivo.
La Figura 5 también muestra una unidad 52 de memoria no volátil, ejemplificada en este caso por un disco compacto, en el que se almacena un código 51a de programa informático inventivo.
La invención no se limita a las realizaciones dadas anteriormente como ejemplos, sino que puede ser objeto de modificaciones dentro del alcance de la idea general de la invención tal como se muestra y define en las reivindicaciones.

Claims (13)

  1. REIVINDICACIONES
    Método para establecer la posición de un objeto (3) en relación con una cámara (1) con el fin de permitir el seguimiento de la mirada de un usuario (A) que observa dicho objeto (3), donde dicho usuario (A) está a la vista de dicha cámara (1), comprendiendo el método:
    - mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo (si, S2, sn), en dicho objeto 3; y
    - buscar, por medio de un optimizador (21), una posición y orientación de dicho objeto (3) en relación con dicha cámara (1);
    estando el método caracterizado por que el optimizador realiza las etapas de:
    - calcular las posiciones 3D (pi, p2, pN) de dichos puntos (si, S2, ■■■, sN) en un sistema (3c) de coordenadas fijado al objeto;
    - detectar rayos de mirada (gi, g2, ■■■, gN) del usuario a medida que el usuario mira dichos puntos (si, s2, ■■■, sN) por medio de dicha cámara, en un sistema (1c) de coordenadas de cámara; y - transformar las posiciones (pi, p2, ■ ■■, pN) de dicho sistema (3c) de coordenadas fijado al objeto en dicho sistema (1c) de coordenadas de cámara por medio de un vector de traslación t y una matriz de rotación R;
    en donde el optimizador está configurado para buscar el vector de traslación t y la matriz de rotación R minimizando la función de pérdida L:
    N
    L(t,R) = ^ loss (line_point_distance(g i , R x (p i + t)))
    ¡=i
    donde la posición de un punto de objeto se traslada y gira a una posición pc¡ en el sistema de coordenadas de cámara.
    Sistema que comprende un objeto (3), una cámara (1) y al menos una primera unidad informática (2), donde dicha primera unidad informática (2) está adaptada para establecer la posición de dicho objeto (3) en relación con dicha cámara (1) con el fin de que dicha primera unidad informática (2) permita el seguimiento de la mirada de un usuario (A) que observa dicho objeto (3), donde dicho usuario (A) está a la vista de dicha cámara (1),
    en donde una segunda unidad informática (4) está adaptada para mostrar un patrón conocido, que consiste en un conjunto de puntos de estímulo (si, s¿, ■ ■, sn), en dicho objeto (3),
    y en donde dicha primera unidad informática
  2. (2) comprende un optimizador (21) adaptado para buscar una posición y orientación de dicho objeto (3) en relación con dicha cámara (1); caracterizado por que el optimizador está adaptado además para:
    calcular la posición 3D (pi, p2, ■ ■■, pn) de dichos puntos (si, s¿, ■ ■, sN) en un sistema (3c) de coordenadas fijado al objeto;
    detectar, por medio de dicha cámara, rayos de mirada (gi, g2, ■■■, gN) de un usuario (A) a medida que el usuario mira dichos puntos (si, s¿, ■■■, sN) en un sistema (1c) de coordenadas de cámara;
    y
    transformar las posiciones (pi, p2, ■■■, pN) de dicho sistema (3c) de coordenadas fijado al objeto en dicho sistema (1c) de coordenadas de cámara por medio de un vector de traslación t y una matriz de rotación R,
    en donde el optimizador está adaptado para buscar dicho vector de traslación t y dicha matriz de rotación R minimizando la función de pérdida L:
    N
    L(t, R) = ^ loss (line_point_distance(g i , R x (p i + t)))
    i = l
    donde la posición de un punto de objeto se traslada y gira a una posición pc¡ en el sistema (1c) de coordenadas de cámara.
    Sistema según la reivindicación 2, caracterizado por que dicho optimizador (21) está adaptado para calcular dicha l¡ne_po¡nt_d¡stance como la distancia entre un punto de objeto en dicho objeto (3) y una posición donde un rayo de mirada dirigido a dicho punto de objeto interseca dicho objeto
  3. (3).
  4. 4. Sistema según la reivindicación 2, caracterizado por que dicho optimizador (21) está adaptado para usar la formulación para la distancia de un punto a una línea:
    line_point_distance(x = a nd,p) = ll(a - p) -((a - p) n)n\\
    para calcular dicha line_point_distance, donde un rayo de mirada (g) está representado por la línea x = a nd, donde a es una posición de un punto en la línea, donde n es un vector unitario en la dirección de la línea, y donde x da el locus de la línea a medida que un escalar d varía, y donde p es la posición 3D calculada de un punto visualizado s.
  5. 5. Sistema según la reivindicación 2, 3 o 4, caracterizado por que dicho optimizador (21) está adaptado para usar cualquier función de pérdida de regresión, tal como pérdida L1, pérdida L2 o pérdida de Huber, para el cálculo de dicha pérdida.
  6. 6. Sistema según una cualquiera de las reivindicaciones 2 a 5, caracterizado por que dicho optimizador (21) está adaptado para funcionar como un optimizador no lineal, tal como Levenberg-Marquardt, L-BFGS o Gauss-Newton.
  7. 7. Sistema según una cualquiera de las reivindicaciones 2 a 6, caracterizado por que dicha primera unidad informática (2) conoce el tamaño de dicho objeto (3) y el campo de visión para dicha cámara (1).
  8. 8. Sistema según una cualquiera de las reivindicaciones 2 a 7, caracterizado por que se conoce al menos una restricción en la posición de dicho objeto (3) en relación con dicha cámara (1), de manera que:
    - dicha cámara (1) está en la parte superior de dicho objeto (3), lo que significa que no puede estar por encima o por debajo de una superficie (31) superior definida de dicho objeto; y/o - dicha cámara (1) está a la misma distancia de dicha persona (A) que dicho objeto (3), lo que significa que no puede estar delante, o detrás, de una superficie (32) frontal definida de dicho objeto (3); y/o
    - dicha cámara (1) tiene una guiñada nula y un balanceo nulo en dicho sistema (3c) de coordenadas fijado al objeto.
  9. 9. Sistema según una cualquiera de las reivindicaciones 2 a 8, caracterizado por que dicho sistema comprende una pantalla de visualización (41), por que dicha pantalla de visualización (41) es dicho objeto (3), por que dicha primera unidad informática (2) está adaptada para proporcionar instrucciones a una segunda unidad informática (4) acerca de cómo visualizar dichos puntos de estímulo (si, S2, sn), por que una unidad de salida de gráficos (42) perteneciente a dicha segunda unidad informática (4) está adaptada para visualizar dichos puntos de estímulo (si, s2, sN) en dicha pantalla (41), y por que una superficie de pantalla de dicha pantalla (3) define dicho sistema (3c) de coordenadas fijado al objeto.
  10. 10. Sistema según una cualquiera de las reivindicaciones 2 a 9, caracterizado por que dicha primera unidad informática (2) comprende una unidad de calibración (23), por que dicho sistema está adaptado para proporcionar una aplicación de seguimiento de la mirada para dicho usuario (A) mientras observa dicho objeto (3) a la vista de dicha cámara (1), por que dicha unidad de calibración (23) está adaptada para calibrar un modelo ocular para dicho usuario en dicha aplicación de seguimiento de la mirada, y por que dicha unidad de calibración (23) está adaptada para usar la posición de objeto establecida por dicho optimizador (21) en dicha calibración.
  11. 11. Sistema según una cualquiera de las reivindicaciones 2 a 9, caracterizado por que dicha primera unidad informática comprende (2) una unidad de calibración (23), por que dicho sistema está adaptado para proporcionar una aplicación de seguimiento de la mirada para dicho usuario (A) mientras observa dicho objeto (3) a la vista de dicha cámara (1), por que dicha unidad de calibración (23) está adaptada para calibrar un modelo ocular para dicho usuario (A) por medio de un modelo ocular para el cálculo de un rayo de mirada g según:
    g = eye_model(e, c)
    donde e es una imagen de dicha cámara (1) que muestra lo que dicha cámara ve, incluido un ojo (A1) de dicho usuario, a medida que dicho usuario (A) está observando un objeto, donde c es una calibración personal para dicho usuario (A), por que dicho optimizador (21) está adaptado para introducir dicho eye_model(e, c) en dicha función de pérdida L de modo que dicho optimizador (21) puede buscar dicho vector de traslación t, dicha matriz de rotación R y dicha calibración personal c minimizando la función de pérdida L:
    N
    L(c,R,t) = ^ loss[line_point_distance{eye_model(e i ,c),R x (p ¿ + t))^
    ¡=i
    y por que dicho optimizador (21) puede de este modo establecer la posición de dicho objeto (3) en relación con dicha cámara (1) y la calibración personal c de dicho modelo ocular simultáneamente.
  12. 12. Producto de programa informático (51) que comprende un código (51a) de programa informático que, cuando es ejecutado por un ordenador (5), permite que dicho ordenador (5) funcione como un optimizador (21) según la reivindicación 1 cuando se usa junto con un sistema de cualquiera de las reivindicaciones 2 a 11.
  13. 13. Medio (52) legible por ordenador en el que se almacena un código (51a) de programa informático según la reivindicación 12.
ES19212891T 2018-12-11 2019-12-02 Estimación de posición en pantalla Active ES2924701T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE1851540 2018-12-11

Publications (1)

Publication Number Publication Date
ES2924701T3 true ES2924701T3 (es) 2022-10-10

Family

ID=68762619

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19212891T Active ES2924701T3 (es) 2018-12-11 2019-12-02 Estimación de posición en pantalla

Country Status (4)

Country Link
US (1) US11061471B2 (es)
EP (1) EP3667462B1 (es)
CN (1) CN111309141B (es)
ES (1) ES2924701T3 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3667462B1 (en) * 2018-12-11 2022-07-13 Tobii AB Screen position estimation
US11308682B2 (en) * 2019-10-28 2022-04-19 Apical Limited Dynamic stereoscopic rendering method and processor
EP4027220A1 (en) * 2021-01-08 2022-07-13 Eyeware Tech SA Method for calibrating an eye-tracking device
US12204689B2 (en) 2022-09-27 2025-01-21 Tobii Dynavox Ab Method, system, and computer program product for drawing and fine-tuned motor controls
KR102777828B1 (ko) * 2022-12-19 2025-03-06 서강대학교산학협력단 시선추적 장치 및 이를 포함하는 시선추적 시스템

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6943754B2 (en) * 2002-09-27 2005-09-13 The Boeing Company Gaze tracking system, eye-tracking assembly and an associated method of calibration
CA2545202C (en) * 2003-11-14 2014-01-14 Queen's University At Kingston Method and apparatus for calibration-free eye tracking
US7963652B2 (en) * 2003-11-14 2011-06-21 Queen's University At Kingston Method and apparatus for calibration-free eye tracking
WO2010003410A1 (en) * 2008-07-08 2010-01-14 It-University Of Copenhagen Eye gaze tracking
US8957948B2 (en) * 2010-08-24 2015-02-17 Siemens Corporation Geometric calibration of head-worn multi-camera eye tracking system
KR101544524B1 (ko) * 2010-12-16 2015-08-17 한국전자통신연구원 차량용 증강현실 디스플레이 시스템 및 차량용 증강현실 디스플레이 방법
CN104113680B (zh) * 2013-04-19 2019-06-28 北京三星通信技术研究有限公司 视线跟踪系统及方法
US9480397B2 (en) * 2013-09-24 2016-11-01 Sony Interactive Entertainment Inc. Gaze tracking variations using visible lights or dots
CN106662917B (zh) * 2014-04-11 2020-06-12 脸谱科技有限责任公司 眼睛跟踪校准系统和方法
CN107533634A (zh) * 2015-03-23 2018-01-02 控制辐射系统有限公司 眼睛跟踪系统
CN106296796B (zh) * 2015-06-04 2019-08-13 北京智谷睿拓技术服务有限公司 信息处理方法、信息处理装置及用户设备
EP3329316B1 (en) * 2016-03-11 2023-09-20 Facebook Technologies, LLC Corneal sphere tracking for generating an eye model
CA3020394A1 (en) * 2016-04-08 2017-10-12 Vizzario, Inc. Methods and systems for obtaining. analyzing, and generating vision performance data and modifying media based on the data
WO2017216118A1 (en) * 2016-06-13 2017-12-21 SensoMotoric Instruments Gesellschaft für innovative Sensorik mbH Method and eye tracking system for performing a calibration procedure for calibrating an eye tracking device
US10304209B2 (en) * 2017-04-19 2019-05-28 The Nielsen Company (Us), Llc Methods and systems to increase accuracy of eye tracking
CN108875524B (zh) * 2018-01-02 2021-03-02 北京旷视科技有限公司 视线估计方法、装置、系统和存储介质
US11106315B2 (en) * 2018-11-29 2021-08-31 International Business Machines Corporation Touch screen device facilitating estimation of entity orientation and identity
KR102707598B1 (ko) * 2018-12-04 2024-09-19 삼성전자주식회사 3차원 증강 현실을 위한 캘리브레이션 방법 및 그 장치
EP3667462B1 (en) * 2018-12-11 2022-07-13 Tobii AB Screen position estimation
US11436756B2 (en) * 2018-12-20 2022-09-06 Microsoft Technology Licensing, Llc Calibrating a machine vision camera

Also Published As

Publication number Publication date
US11061471B2 (en) 2021-07-13
CN111309141B (zh) 2023-08-04
CN111309141A (zh) 2020-06-19
EP3667462B1 (en) 2022-07-13
EP3667462A1 (en) 2020-06-17
US20200225743A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
ES2924701T3 (es) Estimación de posición en pantalla
ES2932079T3 (es) Entrenamiento de redes neuronales para la predicción de mirada tridimensional (3D) con parámetros de calibración
US8885177B2 (en) Medical wide field of view optical tracking system
EP3076892B1 (en) A medical optical tracking system
KR102448284B1 (ko) 헤드 마운트 디스플레이 추적 시스템
US10334240B2 (en) Efficient augmented reality display calibration
ES2940634T3 (es) Mapeo de la dirección de la mirada
US20110310238A1 (en) Apparatus and method for inputting coordinates using eye tracking
JP4517049B2 (ja) 視線検出方法および視線検出装置
JP6631951B2 (ja) 視線検出装置及び視線検出方法
US10758124B2 (en) Device and method for distance determination and/or centering using corneal reflections
JP6596678B2 (ja) 視線測定装置および視線測定方法
CN104075688A (zh) 一种双目立体凝视监控系统的测距方法
JP6324119B2 (ja) 回転角度算出方法、注視点検出方法、情報入力方法、回転角度算出装置、注視点検出装置、情報入力装置、回転角度算出プログラム、注視点検出プログラム及び情報入力プログラム
US20210185293A1 (en) Depth data adjustment based on non-visual pose data
JP6452235B2 (ja) 顔検出方法、顔検出装置、及び顔検出プログラム
JP2021533465A (ja) 頭部運動に基づく瞳孔間距離補償を伴う視認システム
ES3035885T3 (en) Augmented reality window
ES2973585T3 (es) Método implementado por ordenador para determinar una posición de un centro de rotación de un ojo usando un dispositivo móvil, dispositivo móvil y programa informático
JP6430813B2 (ja) 位置検出装置、位置検出方法、注視点検出装置、及び画像生成装置
CN111044039A (zh) 基于imu的单目目标区域自适应高精度测距装置和方法
US20230122185A1 (en) Determining relative position and orientation of cameras using hardware
US11972549B2 (en) Frame selection for image matching in rapid target acquisition
JP6370168B2 (ja) 照明撮像装置及びそれを備えた視線検出装置
JP2016208062A (ja) 表示装置および映像表示方法