ES2915835T3 - Mapeo de mirada a objeto de traza de múltiples líneas para determinar objetivos de enfoque de mirada - Google Patents
Mapeo de mirada a objeto de traza de múltiples líneas para determinar objetivos de enfoque de mirada Download PDFInfo
- Publication number
- ES2915835T3 ES2915835T3 ES19167545T ES19167545T ES2915835T3 ES 2915835 T3 ES2915835 T3 ES 2915835T3 ES 19167545 T ES19167545 T ES 19167545T ES 19167545 T ES19167545 T ES 19167545T ES 2915835 T3 ES2915835 T3 ES 2915835T3
- Authority
- ES
- Spain
- Prior art keywords
- line traces
- scene
- gaze
- user
- line
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Optics & Photonics (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
Un método para determinar un objetivo de enfoque de la mirada de un usuario en una escena (10) tridimensional ("3D"), en donde el método comprende: determinar una primera dirección (805) de mirada de un usuario en una escena 3D (10), en donde la escena 3D (10) incluye una pluralidad de componentes, caracterizado por: ejecutar una primera pluralidad de trazas (810) de línea en la escena 3D (10), cada una de las cuales trazas (810) de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas (810) de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección (805) de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida; determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de: el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; y el número total de trazas de línea en la pluralidad de trazas de línea; e identificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea.
Description
DESCRIPCIÓN
Mapeo de mirada a objeto de traza de múltiples líneas para determinar objetivos de enfoque de mirada Antecedentes de la invención
Las realizaciones de la presente invención se refieren al seguimiento de la mirada de un usuario cuando el usuario observa una escena 3D y, en particular, cómo determinar si la mirada de un usuario está dirigida en la dirección de una zona de interés en la escena 3D.
Se conoce la detección de un ojo y su dirección de mirada, esto puede hacerse, por ejemplo: iluminando una región en la que se busca el ojo con radiación infrarroja; capturando una imagen de la región; y detectando puntos brillantes en la imagen que derivan de la pupila y la córnea del ojo. Este enfoque aprovecha el efecto de ojo brillante u “ojo rojo” conocido por los fotógrafos, mediante el que la luz entra en el ojo y se refleja o absorbe y se vuelve a emitir a través de la pupila, haciendo que la pupila parezca más brillante que el resto del ojo y la cara. La córnea crea un punto brillante separado, más pequeño (también denominado destello). Las posiciones relativas de la pupila y el destello corneal pueden usarse para determinar la dirección de la mirada del ojo. Se dan más detalles en la patente US- 6.152.563.
Alternativamente, o complementariamente, se puede usar una técnica similar mediante la cual los iluminadores de infrarrojos están separados de un sensor de imágenes, por lo que una imagen capturada por el sensor de imágenes tiene una pupila no brillante, conocida de otro modo como un efecto de “pupila oscura” .
Esta tecnología de seguimiento de mirada puede implementarse en un rastreador de mirada remoto ubicado adyacente a una pantalla, por ejemplo, o en un dispositivo llevable tal como unas gafas, cascos de realidad virtual, cascos de realidad aumentada, un casco o similares.
Dicha tecnología de seguimiento de mirada puede usarse para determinar si un usuario está mirando a un objeto o área particular en una pantalla (estos objetos o áreas se denominan genéricamente “zonas” en el presente documento). Esto podría ser como parte de un juego, por ejemplo. Esto permite a los usuarios interactuar con imágenes en una pantalla observando las mismas (el acto de mirar la imagen que tiene un resultado predeterminado) o mediante una combinación de mirar a una imagen y otro control (por ejemplo, un usuario que presiona una tecla en un teclado o ratón mientras su mirada está dirigida a la imagen).
Típicamente, una imagen en una pantalla puede contener zonas interactuables de mirada, así como zonas que no son interactuables de mirada.
Los métodos anteriores para determinar si la mirada de un usuario está dirigida a una zona interactuable de mirada en una imagen tienden a estar basados en la necesidad de un desarrollador de especificar una 'máscara de interacción' para indicar la ubicación en la pantalla de los elementos interactuables. Estos pueden funcionar bien dentro de ciertas restricciones. Esas restricciones incluyen el uso de una “cámara” estática (es decir, el punto de vista desde el que se determina la imagen en la pantalla), y mantener un pequeño número de objetos móviles que son “oclusores” (elementos que deben marcarse como interactuables de mirada, pero solo con el propósito de transmitir información de selección visual, no para ser “ interactuables” de por sí). Además, tales sistemas generalmente dependen de los objetos interactuables de mirada que son visibles en la escena visual.
Además, previamente ha sido posible sondear o proyectar de otra manera una línea desde una cámara virtual para determinar objetos dentro de una escena con la que se cruza. Sin embargo, debido a una falta inherente de la precisión del 100 % en la tecnología de seguimiento de mirada, es preferible sondear un área de una escena para tener en cuenta un error o desplazamiento en la ubicación de la mirada determinada de un usuario. En efecto, esto requiere buscar dentro de una forma de cono proyectada desde la cámara virtual. Esta es una solución intensiva en procesamiento e ineficaz.
El documento US 2013/0154918 A1 se refiere a la estimación de la mirada del ojo del usuario. Se adquiere una pluralidad de imágenes de un ojo de un usuario. Se adquiere al menos una imagen de al menos parte del campo de visión del usuario. Se determina al menos un área objetivo de mirada en el campo de visión del usuario basándose en la pluralidad de imágenes del ojo del usuario. A continuación, se estima una mirada del ojo del usuario mejorada al estrechar una base de datos de información de ojos y las líneas de mirada conocidas correspondientes a un subconjunto de la información de ojos que tiene líneas de mirada correspondientes a un área objetivo de mirada. La información del ojo del usuario derivada de las imágenes del ojo del usuario se compara entonces con el subconjunto estrechado de la información del ojo, y se identifica una mirada del ojo del usuario mejorada como la línea de mirada conocida de una imagen ocular coincidente.
El documento US 2016/0147302 A1 se refiere a un dispositivo de visualización que es capaz de estar montado en la cabeza y un método para controlar el dispositivo de visualización. Se proporciona un dispositivo de visualización que incluye un cuerpo principal formado de tal manera que el cuerpo principal se puede montar en la cabeza, una unidad
de visualización dispuesta en una posición que corresponde a los ojos izquierdo y derecho configurada para mostrar un indicador que indica una ocurrencia de un evento en un dispositivo externo, y un controlador configurado para mostrar información de vídeo que corresponde al evento que ocurre en el dispositivo externo a la unidad de visualización cuando se determina que un usuario mira fijamente en el indicador durante un tiempo predeterminado o mayor.
Sin embargo, en 3D, donde la cámara puede girar a través de una escena, tal como en muchos juegos informáticos o en cascos de realidad virtual, y típicamente hay una abundancia de geometría que define una escena que puede actuar como oclusores, los métodos anteriores no son tan exitosos. Incluso sin oclusores, la situación 3D es problemática. Crear las máscaras necesarias para hacer frente al entorno 3D y a las ubicaciones variables de los objetos (ya sean interactores u oclusores) desde diferentes puntos de vista se vuelve muy complejo.
Esto se debe a que, por ejemplo, el número de actores (entidades de juego que pueden interactuar con el jugador de una manera activa) en un juego 3D es típicamente mucho más alto que en aplicaciones 2D. Esto, en efecto, significa que cada objeto en la escena debe considerarse como un oclusor potencial. Por el contrario, los objetos realmente destinados a ser interactuables de mirada, tales como partes de otros caracteres (un carácter es un actor que puede poseer una IA o un jugador) podría comprender tan poco como el 5-10 % de cada escena. Por consiguiente, se requiere un ancho de banda de diez veces más o mayor para los oclusores que para objetos interactuables de mirada. Esto es ineficiente para la implementación y engorroso de implementar para los desarrolladores de juegos.
Además, algunas entidades en una escena de juego, tales como la geometría mundial (casas, montañas etc.) no exponen los límites de representación o los límites físicos de forma nativa, lo que significa que existe la necesidad de proyectar estas mallas a la pantalla para crear oclusores interactor para ellos. Esto puede ser extremadamente costoso a nivel computacional. Además, parte de esta geometría mundial es extremadamente difícil de manejar (montañas, etc.), por lo que para proyectarla de una manera significativa (para conseguir oclusores adecuados) sería necesario emplear en primer lugar algoritmos de división de malla antes de realizar cualquier proyección. Esto resulta poco práctico.
Finalmente, puede ser deseable en ciertos escenarios conocer si la mirada de un usuario está dirigida a un objeto o región, que no se representa visualmente en la imagen mostrada en el monitor o pantalla. Por ejemplo, el objeto o región puede ser invisible o ya no está dentro de los límites de la imagen mostrada en la pantalla.
Por lo tanto, existe el problema de cómo implementar eficazmente el seguimiento de la mirada en escenarios 3D. La presente invención tiene como objetivo superar al menos parcialmente este problema.
Breve descripción de la invención
La invención se define mediante las reivindicaciones independientes. Las realizaciones preferidas se describen en las reivindicaciones dependientes.
En una realización, se proporciona un método para determinar un objetivo de enfoque de la mirada de un usuario en una escena tridimensional (“3D” ). El método incluye ejecutar una primera pluralidad de trazas de línea en la escena 3D, cada una de las cuales trazas de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida; determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas de línea, siendo el valor de confianza una función de: el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; y el número total de trazas de línea en la pluralidad de trazas de línea; e identificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas de línea.
En otra realización, se proporciona un sistema para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D. El sistema incluye un dispositivo de visualización para presentar una escena 3D a un usuario, donde la escena 3D comprende una pluralidad de componentes; un dispositivo de seguimiento ocular para determinar una dirección de mirada del usuario en la escena 3D; y un dispositivo de procesamiento configurado para al menos: recibir, desde el dispositivo de seguimiento ocular, datos que identifican una primera dirección de mirada de un usuario en la escena 3D. El dispositivo de procesamiento está configurado además para: ejecutar una primera pluralidad de trazas de línea en la escena 3D, cada una de las cuales trazas de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida; determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas de línea, siendo el valor de confianza una función de: el número de trazas de línea de la
pluralidad de trazas de línea que se intersecan con el componente; y el número total de trazas de línea en la pluralidad de trazas de línea; e identificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas de línea.
En otra realización, se proporciona un medio legible por máquina no transitorio que tiene instrucciones almacenadas en el mismo para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D. Las instrucciones son ejecutables por uno o más procesadores para al menos: recibir datos que identifican una primera dirección de mirada de un usuario en la escena 3D. Las instrucciones ejecutables por uno o más procesadores están configuradas además para: ejecutar una primera pluralidad de trazas de línea en la escena 3d , cada una de las cuales trazas de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida; determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas de línea, siendo el valor de confianza una función de: el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; y el número total de trazas de línea en la pluralidad de trazas de línea; e identificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas de línea.
Breve descripción de los dibujos
La invención se describe a continuación con referencia a realizaciones ilustrativas y a los dibujos adjuntos, en los que:
La Figura 1 es un diagrama para explicar cómo se representan escenas 3D como una imagen 2D;
la Figura 2 es un diagrama que ilustra el uso de cámaras de detección de la mirada y visuales separadas;
la Figura 3 es un diagrama que ilustra un uso diferente de cámaras visuales y de detección de miradas separadas; la Figura 4 es un diagrama que ilustra un uso adicional de cámaras de detección de la mirada y visuales separadas; la Figura 5 es un diagrama de un sistema para implementar la detección de la mirada;
la Figura 6 es un diagrama de bloques de un método de la invención para determinar el objetivo de enfoque de la mirada de un usuario en una escena 3D
la Figura 7 es un ejemplo ilustrativo de la ejecución del método de la Figura 6; y
las Figuras 8-10 son ilustraciones adicionales con respecto a la ejecución del método de la Figura 6.
Descripción detallada de la invención
La presente invención se refiere al seguimiento de la mirada con respecto a una escena 3D. El término seguimiento de mirada se utiliza en la presente memoria para referirse a cualquier sistema que detecta y/o monitoriza la ubicación de un ojo y/o la dirección de la mirada de un ojo. El lector experto será consciente de y comprende tales sistemas. También se observa que la descripción también se refiere a objetos o zonas “ interactuables de mirada” . Esta frase pretende indicar objetos que el sistema puede detectar hacia los que se dirige la mirada de un usuario. Esto puede o no conducir a una 'interacción' manifiesta para el usuario. Por ejemplo, el usuario puede ver ningún signo cuando un sistema detecta que su mirada está dirigida a un objeto interactuable de mirada. Sin embargo, se habrá detectado el hecho de que el objeto se haya buscado y puede ser utilizado por el sistema (por ejemplo, para análisis estadístico) de manera no manifiesta. Por lo tanto, la expresión “ interacción de mirada” no debe interpretarse que requiere una interacción manifiesta con el usuario.
La FIGURA 1 proporciona un ejemplo de una escena 3D. Dicha escena puede ser una escena 3D virtual 10, tal como en un juego de ordenador o creada para un casco de realidad virtual. La escena 10 contiene objetos 3D 1. Dichos objetos 1 pueden moverse dentro de la escena 10 a lo largo del tiempo. De hecho, los objetos 1 también pueden moverse fuera de la escena 10 y otros objetos 1 pueden moverse en la escena. Cuando tales escenas 3D se ven en un monitor o pantalla de ordenador, el monitor o pantalla presenta una imagen 2D que representa una vista en la escena 3D desde una ubicación particular en el espacio, a través de una ventana 2 de visualización. La ventana 2 de visualización delimita la imagen que se vería por una cámara u ojo ubicado en una posición nocional con respecto a la escena 3D 10. La combinación de la posición de la cámara y la ventana 2 de visualización, establece el campo 4 de visión. La Figura 1 también muestra el tronco 3 de visión, que es la región de la escena 10
3D (es decir, que se extiende hasta la parte más trasera de la escena 3D 10) que se muestra en la ventana 2 de visualización.
El diagrama de la figura 1 también se aplica a imágenes estereoscópicas, tal como se usa en cascos de realidad virtual, por ejemplo. En ese caso, cada ojo de un usuario se presenta con una ventana de visualización ligeramente diferente en una escena, de la cual el cerebro del usuario percibe entonces una única imagen en 3D. En este caso, cada imagen se deforma normalmente de manera no lineal para compensar las características de las lentes. Sin embargo, los conceptos subyacentes son los mismos que los analizados con referencia a la Figura 1 para cada imagen presentada a cada uno de los ojos del usuario.
Los objetos 3D 1 pueden ser formas 3D nocionalmente complejas de manera infinita, construidas de polígonos. La imagen vista a través de la ventana 2 de visualización es una proyección 2D de los objetos 3D 1 sobre el plano de la ventana 2 de visualización como se ve desde la posición de la cámara, como se analizó anteriormente. Sin embargo, las pantallas en las que se muestran las imágenes de la ventana 2 de visualizaciónD 2 están compuestas por matrices de elementos o píxeles discretos. Como tal, las proyecciones de los objetos 3D 1 deben rasterizarse sobre una cuadrícula de visualización, muestreando la imagen proyectada en cada una de las ubicaciones de píxeles de pantalla, para producir la imagen que se presentará como la escena visual (es decir, la escena observada a través de la ventana 2 de visualización). Los valores de píxel se almacenan en un área de memoria o memoria intermedia, como un “mapa de bits 2D” correspondiente a las mismas dimensiones que la pantalla o la ventana 2 de visualización.
Se observa que la expresión “mapa de bits” tiene varios significados posibles. En el contexto de la presente invención, y como es común en el campo de los gráficos de ordenador, se usa para referirse al concepto de una matriz de píxeles asignada espacialmente, que también puede ser conocida como “ mapa de píxeles” . La expresión mapa de bits no pretende que transmita ninguna limitación en términos de la profundidad de bits de la información almacenada. En la presente invención, la profundidad de bits de la información almacenada puede ser variable.
La presente invención utiliza un mapa de bits que almacena específicamente información acerca de las zonas interactuables de mirada en una escena 3D 10. Ese mapa de bits puede combinarse con un mapa de bits visual o puede estar completamente separado. El uso de dicho mapa de bits según la invención es efectivamente una forma dinámica y eficiente de generar las 'máscaras de interacción' que, de otro modo, tendría que especificar manualmente un desarrollador en la escena 3D. La eficiencia se logra parcialmente porque el desarrollo de la máscara se considera como un problema de 'espacio de pantalla', en lugar de un problema de escena 3D. Es decir, en lugar de aproximarse al problema de especificar la máscara como problema a resolver en el mundo 3D especificado por el desarrollador, como en el pasado, el punto de partida para la invención es conseguir que el seguimiento de la mirada se realice con respecto a una ventana 2D o una ventana de visualización (típicamente, pero no necesariamente, la pantalla). Como tal, la 'máscara' puede crearse basándose en esa ventana 2D, en lugar de en el mundo 3D.
Cuando se considera el seguimiento de la mirada, no todos los objetos 3D 1 serán interactuables de mirada. Por lo tanto, según la presente invención, es posible simplificar la escena 3D 10 utilizada para el seguimiento de la mirada solo considerando esas zonas que son interactuables de mirada. Esto puede usarse para generar un mapa de bits separado, que puede almacenarse en una memoria intermedia para su uso con el sistema de detección de mirada. Esto se analiza con más detalle más adelante.
El mapa de bits utilizado para la detección de mirada corresponderá a la escena visual observada por el usuario en la pantalla de una manera predeterminada. Por ejemplo, podría representar la misma escena 3D 10 observada desde la misma posición de cámara a través de la misma ventana de visualización (pero, sin embargo, almacenar diferente información, porque el mapa de bits de detección de mirada solo se ocupará sobre las propiedades de objetos interactuables de mirada, como se analiza a continuación). Sin embargo, esa relación no es la única posibilidad.
Por ejemplo, las cámaras usadas para el mapa de bits de detección de mirada y la escena visual pueden ser coincidentes, pero la escena visual mostrada al usuario puede no estar completa. Un ejemplo de esto podría deberse a que el usuario está usando un modo de “ imagen en imagen” en un televisor. Como tal, puede ser posible usar el mapa de bits de detección de mirada para seguir si la mirada de un usuario está rastreando la posición de un objeto a medida que pasa a través de una región de la pantalla que muestra una imagen diferente, superpuesta. En otra variación, el mismo objeto puede aparecer en una forma diferente en las representaciones de interacción visual y de mirada de la escena 3d 10. Por ejemplo, un objeto 1 puede tener un tamaño aumentado en la representación de interacción de mirada, para facilitar que la mirada del usuario se registre como dirigida a ese objeto 1. Se analiza a continuación otras posibilidades diferentes.
En algunos escenarios, la ventana de visualización usada para el mapa de bits de interacción de mirada puede ser diferente a la ventana de visualización de la escena visual. Este podría ser el caso, por ejemplo, si se desea rastrear si la mirada de un usuario continúa estando dirigida a un objeto que se mueve fuera del tronco 3 de visión. En ese caso, la cámara para el mapa de bits de interacción de la mirada puede ubicarse en la misma posición nocional que
la cámara para la ventana de visualización de la escena visual, pero el tamaño del puerto de visión de la interacción de la mirada puede ser mayor. Esto se ilustra en la Figura 2. Se observa que, aunque las Figuras 2-4 ilustran conceptos 3D, se presentan como una vista en planta 2D por simplicidad.
En la Figura 2 los objetos 1 interactuables de mirada 3D se ven desde la misma ubicación tanto por la cámara visual 20 como por la cámara 30 de detección de mirada. Sin embargo, la cámara de detección de mirada correspondiente tiene un campo de visión más amplio que da lugar a una ventana 5 de visualización de detección de mirada más grande en comparación con la ventana 2 de visualización de escena visual más pequeña (se hace notar que las características 2 y 5 se muestran ligeramente separadas en la Figura 2 por motivos de claridad, pero se consideran coincidentes con los propósitos del presente análisis). Además, puede haber otras diferencias en los parámetros ópticos entre las cámaras, tales como la distorsión, que incluyen el efecto barril, el efecto cojín y similares, la profundidad de enfoque y la resolución, etc. Como resultado, en la cámara visual 20 solo ve el objeto 13D cuadrado, pero el objeto 13D triangular es parcialmente visible para la cámara de detección de mirada a través de la ventana 5 de visualización de detección de mirada. Como tal, es posible determinar que la mirada de un usuario se dirigirá en el objeto triangular 1, aunque no es visible dentro de la ventana 2 de visualización visual.
La Figura 3 representa una posibilidad alternativa, en la que la ubicación de la cámara 20 de escena visual y la cámara 30 de seguimiento de mirada correspondiente no son coincidentes. Esto podría ser, por ejemplo, para tener en cuenta un desplazamiento entre la posición y la orientación de una pantalla en comparación con los ojos de un usuario. En este caso, como se muestra en la Figura 3, no solo pueden ser visibles objetos 1 interactuables de mirada a través de las diferentes ventanas 2, 5 de visualización (ventana 5 de visualización de detección de mirada que muestra tanto los objetos 1 triangulares como cuadrados, mientras que la ventana 2 de visualización visual muestra solo el objeto cuadrado 1), sino que las ventanas 2, 5 de visualización también mostrarán diferentes proyecciones del objeto cuadrado 1 cuando se ve desde diferentes ángulos.
En otro escenario, como se mencionó anteriormente, no todos los objetos dentro de una escena pueden ser interactuables de mirada. Esto se ilustra en la Figura 4. En la Figura 4, solo el objeto cuadrado 1 es interactuable de mirada y, por lo tanto, este es el único objeto 1, que se representa en la ventana 5 de visualización de la cámara 30 de detección de mirada. Sin embargo, tanto los objetos 1 cuadrados como los triangulares se representan en la correspondiente ventana 2 de visualización visual.
Debe observarse que, en el escenario de la Figura 4, el objeto cuadrado 1 se representa en la ventana 5 de visualización de detección de mirada, incluso aunque pueda no ser visible (o esté al menos parcialmente bloqueado) en la escena visual debido al posicionamiento del objeto triangular 1 entre el objeto cuadrado y la ventana 2 de visualización. Los objetos no interactuables de mirada se ignoran eficazmente en la creación del mapa de bits de interacción de la mirada.
En la práctica, en el escenario de la Figura 4, la escena visual y la correspondiente interactuable de mirada podrían representarse de forma totalmente independiente, por ejemplo. Alternativamente, los objetos dentro de una única escena virtual 10 podrían proporcionarse con propiedades para identificarles como objetos que se representan o no en una u otra de las escenas de detección visual o de mirada.
De hecho, aunque no se muestra en las figuras, puede haber elementos dentro de una escena que de hecho solo pueden ser interactuable de mirada y no ser evidentes en la escena visual. Por ejemplo, un objeto puede volverse invisible dentro de la escena visual, pero puede permanecer interactuable de mirada (es decir, de modo que un usuario podría intentar rastrear su progreso extrapolando su movimiento previo). Alternativamente, una escena 3D puede contener sectores, áreas o regiones que son interactuables de mirada, pero que no corresponden a un objeto visual específico. Por ejemplo, una escena en un juego puede contener una región “peligrosa” que activará una respuesta si la mirada del usuario está dirigida hacia ella.
La sección anterior de la descripción ha analizado diversas formas en las que las cámaras 20, 30 de interacción visual y de mirada pueden corresponder entre sí. La siguiente sección analizada con mayor detalle cómo se produce y utiliza el mapa de bits de la interacción de la mirada.
La Figura 5 muestra una vista esquemática de un sistema 40 en el que puede implementarse la detección de mirada. El sistema 40 incluye una pantalla o monitor 41 y un detector 42 de mirada. La pantalla puede tomar una forma convencional o no convencional, que incluye una pantalla virtual tal como un proyector de retina o una pantalla de visualización frontal en un vehículo. Tanto el detector 42 de mirada como la pantalla 41 están conectados a un ordenador 43. En los ordenadores modernos 43, la unidad 45 de procesamiento gráfico (GPU) es a menudo 10-100 veces más rápida que la unidad 44 central de procesamiento (CPU) para cálculos paralelizables. Como tal, es preferible implementar la presente invención usando la GPU 45. Sin embargo, la invención podría implementarse usando cualquier procesador adecuado tal como una CPU 44.
El ordenador comprende además una memoria 46, que contiene una memoria intermedia en la que se puede almacenar el mapa 47 de bits de detección de mirada. Como se mencionó anteriormente, la memoria intermedia es preferiblemente de profundidad de bits variable. La memoria intermedia contiene al menos suficiente profundidad de
bits para codificar una propiedad representativa de cada zona 1 interactuable de mirada (donde, como se ha mencionado anteriormente, se usa el término “zona” para incluir tanto objetos 3D como regiones de espacio 3D) presentes en la escena 10. En el contexto de las cámaras 30, 20 de interacción de mirada y de representación visual que están coubicadas y tienen las mismas ventanas 5, 2 de visualización de tamaño, la memoria intermedia podría implementarse junto con la memoria intermedia visual. En particular, si se implementa la memoria intermedia visual en el formato RGBA, es común que haya bits en el canal alfa que no se usen. En algunas implementaciones de la presente invención, esos bits de repuesto podrían usarse para almacenar la información relacionada con las zonas 1 de interés.
En cualquier caso, cualquiera que sea el formato específico usado, la memoria intermedia se usa para almacenar un mapa 47 de bits que representa la ventana 5 de visualización en la escena 3D de la cámara 30 de interacción de mirada. Los píxeles del mapa 47 de bits, en los que se proyectan las zonas 1 interactuables de mirada, se usan para almacenar una propiedad de las zonas 1 interactuables de mirada.
La propiedad almacenada en el mapa 47 de bits puede ser un identificador único (ID), que identifica la zona interactuable de mirada particular. Sin embargo, este no siempre será el caso. Por ejemplo, la idea de tener zonas “peligrosas” en una escena 10 se ha analizado previamente. En ese caso, puede no haber necesidad de distinguir entre regiones “peligrosas” individuales, en lugar de identificar que la mirada del usuario se ha dirigido a una (cualquiera) de las áreas “peligrosas” . En ese caso, la información almacenada en el mapa de bits puede representar simplemente que la región tiene la propiedad “peligrosa” sin ningún ID único.
Los píxeles del mapa 47 de bits pueden usarse para almacenar información sobre más de una propiedad de las zonas de interés. Por ejemplo, en combinación con (o en lugar de) un ID único, puede ser deseable almacenar otra información relacionada con la interacción de mirada.
Dicha información de interacción de mirada podría ser metadatos asociados con un objeto 1, por ejemplo, indicando la importancia visual relativa de un objeto 1. Esta información puede usarse para ayudar en algoritmos para detectar si un usuario está mirando a un objeto particular si dos objetos 1 interactuables de mirada están ubicados cerca de cada uno de los otros: si es difícil determinar a cuál de los dos objetos está mirando un usuario, se puede suponer que el usuario está mirando al objeto más “ importante” visualmente.
Otra información de interacción de mirada útil que puede almacenarse en el mapa 47 de bits también puede incluir información sobre el movimiento de un objeto 1, tal como su velocidad y/o aceleración. Esta información puede ser relevante para la ponderación heurística, la probabilidad de que la mirada de un usuario se dirija en cualquier objeto particular en un área particular (por ejemplo, siendo más probable que un objeto en movimiento más rápido atraiga la atención de un usuario). Cualquier otra variable usada para tales ponderaciones puede almacenarse también (o alternativamente) en el mapa 47 de bits.
La creación del mapa 47 de bits de interacción con la mirada, además de la información de la escena visual, aumenta los requisitos de cálculo. Una forma de ahorrar gasto computacional en la presente invención, si es necesario, es la muestra descendente del tamaño del mapa 47 de bits de interacción de la mirada (es decir, usar menos píxeles para él), en comparación con la escena visual, por ejemplo. Otra alternativa sería especificar una subsección de la escena visual que sea potencialmente interactuable de mirada (por ejemplo, para ignorar las barras de menú u otros elementos visuales constantes que podrían significar que ciertas áreas de la escena nunca serán visualmente interactuables). Esto reduciría la carga computacional (pero a expensas de la menor fidelidad en el caso de muestreo descendente).
Como será evidente a partir del análisis anterior, los únicos elementos que se representan en el mapa 47 de bits de interacción de la mirada son objetos y áreas identificadas como zonas 1 interactuables de mirada. Dichos objetos y áreas se definen previamente durante la programación/diseño de la escena 3D 10.
Además, la información almacenada en el mapa 47 de bits puede incluir cualquier propiedad relevante como se define en relación con las zonas 1 interactuables de mirada cuando se crea la escena 10. En algunos casos, puede ser deseable almacenar información sobre múltiples objetos en el mismo píxel del mapa de bits (es decir, si múltiples objetos interactuables de mirada están alineados uno detrás del otro) y, en ese caso, también puede almacenarse un índice asociado, para indicar el orden de proximidad de los objetos con respecto a la ventana de visualización, por ejemplo.
Además, en el momento de representar el mapa 47 de bits basándose en la proyección de la escena 3D 10, se puede utilizar cualquier memoria intermedia de profundidad disponible y/o datos de memoria intermedia de estarcido. Como tal, es posible proporcionar de manera eficaz una sustitución más eficiente y ya integrada y soportada para el enfoque previo para manejar los oclusores y la división/proyección de la geometría mundial, lo que de otro modo puede resultar problemático. Este enfoque es posible considerando la 'máscara de interacción' en un contexto 2D, de la misma manera que la proyección de la escena a la ventana de visualización y, por lo tanto, aprovechando las capacidades de representación de gráficos existentes en la creación de la máscara (es decir, el mapa 47 de bits). Una vez que se ha creado y almacenado el mapa 47 de bits, puede usarse junto con cualquier
hardware de seguimiento ocular 42 para determinar si la mirada de un usuario está dirigida a una zona 1 interactuable de mirada. Por ejemplo, esto podría hacerse monitorizando los ojos del usuario con respecto a una escena visual mostrada en la pantalla 41, pero también podría hacerse monitorizando los ojos del usuario con respecto a la ventana 5 de visualización para el mapa 47 de bits de interacción de la mirada, o incluso una ventana de visualización separada completamente. Siempre que se conozca la relación entre las diversas ventanas de visualización, se pueden correlacionar las escenas correspondientes 10 de cada ventana de visualización y se puede realizar una determinación sobre la dirección de la mirada del usuario.
Una vez que se determina la dirección de la mirada del usuario, el mapa 47 de bits de interacción de la mirada puede usarse para determinar si la mirada está dirigida a una zona 1 interactuable de mirada, haciendo referencia a la información de propiedad almacenada en el mapa 47 de bits. A continuación, se puede usar cualquier información relacionada con las propiedades de una zona 1 interactuable de mirada a la que se dirige la mirada del usuario para determinar la consecuencia del usuario que mira a la zona particular 1.
Como se analizó anteriormente, la presente invención permite la determinación eficiente de si un usuario está buscando un objeto interactuable de mirada en una escena 3D, representando de forma eficaz una escena de interacción de mirada. La información relacionada con la escena interactuable de mirada puede usarse, por ejemplo, junto con la escena visual, para determinar las consecuencias de la dirección de la mirada del usuario.
La Figura 6 muestra un diagrama de bloques de un método 600 de la invención para identificar un objetivo de enfoque de la mirada de un usuario en una escena tridimensional (“3D”). La Figura 7 muestra un diagrama 700 de punto de vista 3D simulada de un usuario cuya mirada en una escena 3D se está determinando por un dispositivo de rastreo ocular. El punto 705 de vista del usuario observa un visualizador 2D 710 que muestra una escena 715 3D representada. La escena 3D 715, en este ejemplo, incluye dos objetos 720A, 720B. Los objetos 720A, 720B se representan como formas 725A, 725B. La Figura 8 muestra el visualizador 710 directamente desde el punto 705 de vista del usuario.
En el bloque 605, la escena 3D 715 se muestra al usuario en un visualizador 710. La pantalla 710 puede ser un dispositivo llevable tal como un casco de realidad virtual o un visualizador tradicional tal como un dispositivo de televisión, monitor o proyección. La escena puede incluir una serie de objetos representados en el espacio 3D, de manera que el sistema que hace que la escena se muestre puede identificarlos por separado, y especificar/retener diferentes propiedades para cada uno.
En el bloque 610, se detecta una dirección de mirada del usuario en la escena 3D con un dispositivo de rastreo ocular como se ha analizado en la presente memoria. Puede desearse determinar en qué objeto en la escena 3D es más probable que el usuario se esté centrando, debido a que los objetos en la escena 3D pueden moverse con respecto al usuario (es decir, los objetos pueden moverse, o la ubicación/perspectiva del usuario puede moverse), los objetos pueden estar muy próximos entre sí y/u ocultarse (total o parcialmente) por otros objetos o elementos. Por lo tanto, el resto del método continúa con el fin de determinar el objeto enfocado por el usuario. En la Figura 8 se muestra una primera dirección 805 de mirada detectada.
En el bloque 615, un dispositivo de procesamiento ejecuta una pluralidad de trazas de línea en la escena 3D cerca del punto de vista del usuario. Las trazas de línea pueden describirse aproximadamente como una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden observarse por el usuario. Por lo tanto, una traza de línea se intersecaría con un gran objeto en el primer plano inmediato de una escena, pero no con un objeto pequeño inmediatamente detrás y oculto por el objeto grande en la escena.
Se muestran cuatro trazas 810 de línea de ejemplo en la Figura 8. En la práctica, puede emplearse cualquier número de trazas de línea. La colocación de las trazas de línea puede distribuirse en diferentes sectores 815 como se muestra, siendo la distancia desde la dirección 805 de mirada realizada en una manera gaussiana (es decir, es más probable que las trazas de línea estén más cerca de la dirección 805 de mirada que más lejos). Aunque solo se muestran cuatro sectores 815, puede emplearse cualquier número de sectores. Del mismo modo, el tamaño del círculo próximo 815 en el que se distribuyen las trazas 810 de línea puede variar.
En el bloque 620, se determina qué objetos son intersecados por las trazas 810 de línea. En este ejemplo, el objeto 720A se interseca (como se muestra por la intersección de una de las trazas 810 de línea con la representación 2D 725A). Este objeto se añade a una lista de objetos candidatos, que puede ser el objetivo enfocado del usuario.
En el bloque 625, para cada objeto candidato en la lista se determina un valor de confianza. El valor de confianza puede ser mayor que un valor mínimo, o una función del número de trazas de línea de intersección (en este punto, 1) con respecto al número total de trazas de línea moldeadas (en este punto, 4).
En el bloque 630, debido a que esta es la primera dirección 805 de mirada detectada en la escena (y el primer conjunto de trazas de línea complementarias), se selecciona el objeto candidato con el valor de confianza más alto en el objetivo de enfoque. Por lo tanto, se selecciona el objeto 720a (representación 2D 725A) como el objetivo de
enfoque. Esto se ajusta a las expectativas ya que la primera dirección 805 de mirada está más cercana al objeto 720A.
En el bloque 635, el valor de confianza de cada objeto en la lista de objetos candidatos se disminuye en una primera cantidad. Por lo tanto, el valor de confianza asociado con el objeto 720A se disminuye por una primera cantidad. Cualquier objeto de la lista no intersecado por una traza de línea en la última ronda de detección de dirección de mirada/trazas de línea puede disminuirse en una segunda cantidad, que es mayor que la primera cantidad.
El método a continuación se repite, donde la escena 3D representada se muestra nuevamente con cualquier cambio en la orientación y/o colocación de los objetos en el mismo que se están ajustando. En el ejemplo analizado en la presente memoria, la orientación y/o la colocación no cambian, ya que no es necesario comprender las realizaciones de la invención.
La Figura 9 muestra la segunda dirección 905 de mirada detectada, y las correspondientes trazas 910 de línea. En esta ronda de detección y trazado de línea, una traza de línea ha impactado el objeto 720A, y otra traza de línea ha impactado el objeto 720B. Por lo tanto, el objeto 720B se añade a la lista de objetos candidatos con un valor de confianza asociado calculado como se describió anteriormente. El objeto 720A también mantiene un punto en la lista, y tiene un valor de confianza asociado calculado. Debido a que no se supera el valor de confianza del objeto 720B, por al menos una cantidad umbral, el valor de confianza del objeto 720A, que es el objetivo de enfoque previamente determinado, el objetivo de enfoque determinado continúa siendo el objeto 720A.
De nuevo, sin embargo, todos los valores de confianza para objetos en la lista de objetos candidatos se disminuyen en una cierta cantidad. Como será evidente para un experto en la técnica, la disminución de los valores de confianza de los objetos candidatos ayuda a eliminar los objetos candidatos de la lista una vez que no han sido impactados por una traza de línea sobre una o más rondas del método. Un valor de confianza mínimo posible también garantiza que un objeto candidato no se retirará inmediatamente de la lista de objetos candidatos inmediatamente por la disminución. Además, un experto en la técnica reconocerá también la necesidad potencial de requerir que el valor de confianza de cualquier objetivo de enfoque nuevo potencial supere el de un objetivo de enfoque identificado previamente por al menos una cantidad umbral para evitar la histéresis (es decir, cambiar el objetivo de enfoque hacia adelante y hacia atrás entre los objetos debido a cambios/diferencias insignificantes en valores de confianza).
La Figura 10 muestra una tercera ronda de detección 1005 de mirada y trazas 1010 de línea. Repetir el proceso anterior, debido al mayor número de trazas 1010 de línea que impactan el objeto 720B, junto con la disminución del valor de confianza del objeto 720A, se selecciona un nuevo objetivo de enfoque (objeto 720B) porque su valor de confianza supera el del objeto 720A en al menos una cantidad umbral.
En algunas realizaciones, si un objeto aún en la lista de objetos candidatos no es impactado por una nueva ronda de trazas de línea y, por lo tanto, parece estar “ausente” , se puede realizar una o más trazas de línea en y/o alrededor de la última ubicación conocida donde una última traza de línea interseca el objeto “ausente” . Es posible, debido a la aleatoriedad de las ubicaciones de trazas de línea seleccionadas, que pueda perderse cuando todavía está allí, o al menos parcialmente oculto por otro objeto y otro elemento.
Claims (1)
- REIVINDICACIONESUn método para determinar un objetivo de enfoque de la mirada de un usuario en una escena (10) tridimensional (“3D” ), en donde el método comprende:determinar una primera dirección (805) de mirada de un usuario en una escena 3D (10), en donde la escena 3D (10) incluye una pluralidad de componentes, caracterizado por:ejecutar una primera pluralidad de trazas (810) de línea en la escena 3D (10), cada una de las cuales trazas (810) de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas (810) de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección (805) de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida;determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de:el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; yel número total de trazas de línea en la pluralidad de trazas de línea; e identificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea.El método para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 1, en donde el método comprende además:determinar una segunda dirección (905) de mirada del usuario en la escena 3D (10), ejecutar una segunda pluralidad de trazas (910) de línea en la escena 3D (10), comprendiendo la segunda pluralidad de trazas (910) de línea al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la segunda dirección (905) de mirada, siendo la distancia angular de cada una de las al menos dos trazas de línea menor que una distancia angular máxima predefinida;determinar un valor de confianza para cada componente intersecado por al menos una de la segunda pluralidad de trazas (910) de línea y no intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de:el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; yel número total de trazas de línea en la pluralidad de trazas de línea; y cambiar el objetivo de enfoque del usuario al componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la segunda pluralidad de trazas (910) de línea si el valor de confianza más alto de todos los componentes intersecados por al menos una de la segunda pluralidad de trazas (910) de línea es mayor que el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea por al menos una cantidad umbral.El método para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 2, en donde el método comprende además:disminuir, a lo largo del tiempo, el valor de confianza de cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea y al menos una de la segunda pluralidad de trazas (910) de línea.El método para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 1, en donde la primera pluralidad de trazas (810) de línea comprende:al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está en una dirección angular diferente de la primera dirección (805) de mirada.El método para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 1, en donde:si ninguna de la segunda pluralidad de trazas (910) de línea interseca un componente particular, que se intersecó por al menos una de la primera pluralidad de trazas (810) de línea:determinar una ubicación anterior del componente particular; yejecutar al menos una traza de línea en una dirección de la ubicación anterior.El método para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 1, en donde determinar el valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea comprende:asignar el valor de confianza a un valor mínimo predefinido; o el valor de confianza es una función de:el número de trazas de línea de la pluralidad de trazas de línea, que se intersecan con el componente;el número total de trazas de línea en la pluralidad de trazas de línea; yuna propiedad asignada o determinada del componente.Un sistema (40) para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10), en donde el sistema (40) comprende:un dispositivo (41) de visualización para presentar una escena en 3D (10) a un usuario, en donde la escena 3D (10) comprende una pluralidad de componentes;un dispositivo de rastreo ocular para determinar una dirección (805, 905, 1005) de mirada del usuario en la escena en 3D (10); yun dispositivo de procesamiento configurado para al menos:recibir, desde el dispositivo de rastreo ocular, datos que identifican una primera dirección (805) de mirada de un usuario en la escena 3D (10), caracterizado por que el dispositivo de procesamiento está configurado además para:ejecutar una primera pluralidad de trazas (810) de línea en la escena 3D (10), cada una de las cuales trazas (810) de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas (810) de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección (805) de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida;determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de: el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; yel número total de trazas de línea en la pluralidad de trazas de línea; eidentificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea.El sistema (40) para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 7, en donde el dispositivo de procesamiento está configurado además para al menos:recibir, del dispositivo de rastreo ocular, datos que identifican una segunda dirección (905) de mirada del usuario en la escena en 3D (10);ejecutar una segunda pluralidad de trazas (910) de línea en la escena 3D (10), comprendiendo la segunda pluralidad de trazas (910) de línea al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la segunda dirección (905) de mirada, siendo la distancia angular de cada una de las al menos dos trazas de línea menor que una distancia angular máxima predefinida;determinar un valor de confianza para cada componente intersecado por al menos una de la segunda pluralidad de trazas (910) de línea y no intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de:el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; yel número total de trazas de línea en la pluralidad de trazas de línea; y cambiar el objetivo de enfoque del usuario al componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la segunda pluralidad de trazas (910) de línea si el valor de confianza más alto de todos los componentes intersecados por al menos una de la segunda pluralidad de trazas (910) de línea es mayor que el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea por al menos una cantidad umbral.El sistema (40) para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 8, en donde el dispositivo de procesamiento está configurado además para al menos:disminuir, a lo largo del tiempo, a una primera velocidad, el valor de confianza de cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea y al menos una de la segunda pluralidad de trazas (910) de línea; ydisminuir, a lo largo del tiempo a una segunda velocidad, el valor de confianza de cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea pero no al menos una de la segunda pluralidad de trazas (910) de línea, en donde la segunda velocidad es mayor que la primera velocidad.Un medio legible por máquina no transitorio (46) que tiene instrucciones almacenadas en el mismo para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10), en donde las instrucciones son ejecutables por uno o más procesadores (44, 45) para al menos:recibir datos que identifican una primera dirección (805) de mirada de un usuario en la escena 3D (10), caracterizado por que las instrucciones ejecutables por uno o más procesadores (44, 45) están configuradas además para:ejecutar una primera pluralidad de trazas (810) de línea en la escena 3D (10), cada una de las cuales trazas (810) de línea es una línea imaginaria proyectada en la escena 3D para determinar qué objetos, o porciones de objetos, pueden ser observados por el usuario, en donde la primera pluralidad de trazas (810) de línea comprende al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la primera dirección (805) de mirada, en donde la distancia angular de cada una de las al menos dos trazas de línea es menor que una distancia angular máxima predefinida;determinar un valor de confianza para cada componente intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de:el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; yel número total de trazas de línea en la pluralidad de trazas de línea; e identificar como objetivo de enfoque del usuario el componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea.El medio (46) legible por máquina no transitorio que tiene instrucciones almacenadas en el mismo para determinar un objetivo de enfoque de la mirada de un usuario en una escena 3D (10) de la reivindicación 10, en donde las instrucciones son ejecutables además por el uno o más procesadores (44, 45) para al menos:recibir datos que identifican una segunda dirección (905) de mirada del usuario en la escena en 3D (10);ejecutar una segunda pluralidad de trazas (910) de línea en la escena 3D (10), comprendiendo la segunda pluralidad de trazas (910) de línea al menos dos trazas de línea, en donde cada una de las al menos dos trazas de línea está a una distancia angular diferente de la segunda dirección (905) de mirada, siendo la distancia angular de cada una de las al menos dos trazas de línea menor que una distancia angular máxima predefinida;determinar un valor de confianza para cada componente intersecado por al menos una de la segunda pluralidad de trazas (910) de línea y no intersecado por al menos una de la primera pluralidad de trazas (810) de línea, siendo el valor de confianza una función de:el número de trazas de línea de la pluralidad de trazas de línea que se intersecan con el componente; yel número total de trazas de línea en la pluralidad de trazas de línea; y cambiar el objetivo de enfoque del usuario al componente que tiene el valor de confianza más alto de todos los componentes intersecados por al menos una de la segunda pluralidad de trazas (910) de línea si el valor de confianza más alto de todos los componentes intersecados por al menos una de la segunda pluralidad de trazas (910) de línea es mayor que el valor de confianza más alto de todos los componentes intersecados por al menos una de la primera pluralidad de trazas (810) de línea por al menos una cantidad umbral.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/941,595 US10607401B2 (en) | 2015-06-03 | 2018-03-30 | Multi line trace gaze to object mapping for determining gaze focus targets |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2915835T3 true ES2915835T3 (es) | 2022-06-27 |
Family
ID=66290176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19167545T Active ES2915835T3 (es) | 2018-03-30 | 2019-04-05 | Mapeo de mirada a objeto de traza de múltiples líneas para determinar objetivos de enfoque de mirada |
Country Status (4)
Country | Link |
---|---|
US (1) | US11688128B2 (es) |
EP (2) | EP4033334B1 (es) |
CN (2) | CN110320997B (es) |
ES (1) | ES2915835T3 (es) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021113540A1 (en) * | 2019-12-06 | 2021-06-10 | Magic Leap, Inc. | Virtual, augmented, and mixed reality systems and methods |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6152563A (en) | 1998-02-20 | 2000-11-28 | Hutchinson; Thomas E. | Eye gaze direction tracker |
WO2010015962A1 (en) * | 2008-08-07 | 2010-02-11 | Koninklijke Philips Electronics N. V. | Method of and system for determining a head-motion/gaze relationship for a user, and an interactive display system |
US8510166B2 (en) * | 2011-05-11 | 2013-08-13 | Google Inc. | Gaze tracking system |
US9135508B2 (en) * | 2011-12-20 | 2015-09-15 | Microsoft Technology Licensing, Llc. | Enhanced user eye gaze estimation |
EP2709060B1 (en) * | 2012-09-17 | 2020-02-26 | Apple Inc. | Method and an apparatus for determining a gaze point on a three-dimensional object |
KR20150020918A (ko) * | 2013-08-19 | 2015-02-27 | 엘지전자 주식회사 | 디스플레이 장치 및 그것의 제어 방법 |
US20170123491A1 (en) * | 2014-03-17 | 2017-05-04 | Itu Business Development A/S | Computer-implemented gaze interaction method and apparatus |
-
2019
- 2019-03-29 CN CN201910251739.2A patent/CN110320997B/zh active Active
- 2019-03-29 CN CN202210496700.9A patent/CN114935974A/zh active Pending
- 2019-04-05 ES ES19167545T patent/ES2915835T3/es active Active
- 2019-04-05 EP EP22161372.2A patent/EP4033334B1/en active Active
- 2019-04-05 EP EP19167545.3A patent/EP3547084B1/en active Active
-
2022
- 2022-01-11 US US17/572,883 patent/US11688128B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11688128B2 (en) | 2023-06-27 |
US20220130107A1 (en) | 2022-04-28 |
EP3547084A3 (en) | 2020-04-15 |
CN114935974A (zh) | 2022-08-23 |
CN110320997B (zh) | 2022-05-17 |
CN110320997A (zh) | 2019-10-11 |
EP3547084A2 (en) | 2019-10-02 |
EP4033334B1 (en) | 2024-08-21 |
EP4033334A1 (en) | 2022-07-27 |
EP3547084B1 (en) | 2022-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579142B2 (en) | Gaze detection method and apparatus | |
ES2882158T3 (es) | Dispositivos portátiles con seguimiento ocular | |
KR102544062B1 (ko) | 가상 이미지 표시 방법, 저장 매체 및 이를 위한 전자 장치 | |
EP3368170B1 (en) | Adjusting image frames based on tracking motion of eyes | |
US11270499B2 (en) | Multi line trace gaze to object mapping for determining gaze focus targets | |
KR102303809B1 (ko) | 비평면 계산 디스플레이 | |
CN110658914B (zh) | 边界区域的闪烁追踪 | |
TW201902212A (zh) | 具有經由眼睛追蹤之延伸有效眼動範圍之近眼顯示器 | |
ES2746448T3 (es) | Realidad mediada | |
ES2931181T3 (es) | Método y sistema para determinar una dirección de mirada actual | |
CN114026603A (zh) | 渲染计算机生成现实文本 | |
JP2019102828A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
ES2915835T3 (es) | Mapeo de mirada a objeto de traza de múltiples líneas para determinar objetivos de enfoque de mirada | |
US11589034B2 (en) | Method and apparatus for providing information to a user observing a multi view content | |
CN113347348A (zh) | 信息处理装置、信息处理方法以及存储介质 | |
US11861060B2 (en) | Recording medium for selecting objects using head mounted display, information processing system, and information processing method | |
KR101733519B1 (ko) | 3차원 디스플레이 장치 및 방법 | |
KR102224057B1 (ko) | 관전 영상의 자동제어를 이용한 부하 감소 방법 및 이를 이용한 헤드 마운티드 디스플레이 | |
JP2008250166A (ja) | 頭部装着型表示装置 |