ES2698574T3 - Método y dispositivo para calcular la pose de una cámara u objeto - Google Patents

Método y dispositivo para calcular la pose de una cámara u objeto Download PDF

Info

Publication number
ES2698574T3
ES2698574T3 ES14709030T ES14709030T ES2698574T3 ES 2698574 T3 ES2698574 T3 ES 2698574T3 ES 14709030 T ES14709030 T ES 14709030T ES 14709030 T ES14709030 T ES 14709030T ES 2698574 T3 ES2698574 T3 ES 2698574T3
Authority
ES
Spain
Prior art keywords
image
camera
scene
coordinates
pose
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
ES14709030T
Other languages
English (en)
Inventor
Jamie Daniel Joseph Shotton
Christopher Zach
Shahram Izadi
Andrew William Fitzgibbon
Benjamin Michael Glocker
Antonio Criminisi
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2698574T3 publication Critical patent/ES2698574T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7625Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

Un método para calcular pose que comprende: recibir, en un procesador, al menos una imagen (118), en donde la imagen (118): bien corresponde a un objeto y está capturada por una cámara fija, o bien corresponde a una escena capturada por una cámara (112) móvil en la escena (116); utilizar el procesador para hacer pasar los elementos de imagen de la al menos una imagen (118) seleccionados de manera aleatoria a través de un sistema de aprendizaje automático entrenado, que comprende un árbol de decisión o más de uno en donde cada uno de ellos posee un nodo raíz, una pluralidad de nodos de decisión y una pluralidad de nodos terminales, en donde cada elemento de imagen seleccionado es hecho pasar desde el nodo raíz hasta un nodo terminal en un proceso en el que se toma una decisión en cada nodo de decisión de acuerdo con características del elemento de imagen seleccionado y características de elementos de imagen de test de la imagen desplazados del elemento de imagen seleccionado mediante desplazamientos (offsets) espaciales especificados por parámetros en el nodo de decisión, para obtener, desde los nodos terminales alcanzados por los elementos de imagen seleccionados, una pluralidad de asociaciones entre los elementos de imagen seleccionados y puntos bien en coordenadas de entidad o bien en coordenadas de escena, en donde las coordenadas de entidad son coordenadas de objeto o coordenadas de cámara móvil, en donde el sistema de aprendizaje automático ha sido entrenado utilizando imágenes con elementos de imagen individuales etiquetados bien con un punto expresado en coordenadas de escena o bien con un punto expresado en coordenadas de objeto; y calcular la pose del objeto o de la cámara móvil a partir de las asociaciones mediante la optimización de una función de energía utilizando un proceso iterativo para buscar entre posibles candidatos a pose de cámara, en donde un candidato a pose de cámara se calcula a partir de al menos dos de las asociaciones.

Description

DESCRIPCIÓN
Método y dispositivo para calcular la pose de una cámara u objeto
Antecedentes
En muchas aplicaciones, tal como en la robótica, navegación de vehículos, aplicaciones de juegos por ordenador, aplicaciones médicas y otros ámbitos de problemas, resulta valioso ser capaz de encontrar la orientación y la posición de una cámara mientras se mueve en un entorno conocido. La orientación y la posición de una cámara se conoce como pose de la cámara y puede comprender seis grados de libertad (tres de traslación y tres de rotación). Cuando una cámara esta fija y un objeto se mueve en relación a la cámara, también resulta útil ser capaz de calcular la pose del objeto.
Una estrategia de la técnica anterior utiliza comparación de secuencia clave, de manera que una imagen de test completa se compara con imágenes de entrenamiento de ejemplo (secuencias clave). Se encuentran secuencias clave K que coinciden, y las poses (poses clave) de dichas secuencias clave se interpolan para generar una salida de pose de cámara. La coincidencia de secuencias clave tiende a ser muy aproximada en relación al resultado de pose.
Otra estrategia de la técnica anterior utiliza comparación de puntos clave, de manera que se detecta un conjunto disperso de puntos de interés en una imagen de test y se compara utilizando descriptores de punto clave con una base de datos de descriptores conocida. Dado un conjunto putativo de comparaciones, se lleva a cabo una optimización robusta para encontrar la pose de cámara para la que son consistentes geométricamente el mayor número de dichas coincidencias. La comparación de puntos clave sufre en situaciones en las que se detecta un número muy bajo de puntos clave.
Las estrategias existentes están limitadas en precisión, robustez y velocidad.
El artículo “Seguimiento de poses a partir de características naturales en teléfonos móviles” (“Pose tracking from natural features on mobile phones"), escrito por Wagner D y otros en Mixed and Augmented Reality 2008 ACM International Symposium, IEEE, páginas 125-134, describe la utilización de descriptores de características SIFT y Fern modificados para seguimiento de características naturales en teléfonos móviles.
El documento US5930392 describe un bosque de decisión que incluye múltiples árboles de decisión. Cada árbol individual lleva a cabo una clasificación inicial sobre la base de subconjuntos de datos seleccionados de manera aleatoria. Los resultados de clasificación por los árboles individuales se combinan utilizando un proceso de discriminación en el clasificador de bosque de decisión para proporcionar la decisión de clasificación. El artículo de Lepetit y otros “Árboles Randomizados para Reconocimiento de Punto Clave en Tiempo Real” (“Randomised Trees for Real-Time Keypoint Recognition") en IEEE CVPR 2005 vol. 2, 20 de junio de 2005, páginas 775-781, describe comparación de puntos clave para estimación de pose de objetos sobre la base de la clasificación. Describe la utilización de árboles randomizado para la clasificación.
El documento GB2411532 escribe la determinación de la posición y la orientación de una cámara. Se almacena un conjunto de imágenes de referencia, junto con la pose de la cámara y la información de características para cada imagen. Se determina una primera estimación de la posición de la cámara comparando la imagen actual de la cámara con un conjunto de imágenes de referencia.
Las realizaciones descritas a continuación no están limitadas a implementaciones que resuelven alguna o todas las desventajas de los sistemas conocidos para encontrar la pose de una cámara o de un objeto.
Compendio
En lo que sigue, se presenta un resumen simplificado de la descripción con el fin de proporcionar una comprensión básica al lector. Este resumen no constituye una visión de conjunto de la descripción y no identifica elementos clave/críticos ni delinea el alcance del documento. Su único propósito es presentar una selección de conceptos descritos en la presente memoria de una manera simplificada como preludio de una descripción más detallada que se presenta más adelante. La invención se define en las reivindicaciones anexas.
Se describe el cálculo de la pose de una cámara o de un objeto para, por ejemplo, resituar una cámara móvil (tal como la cámara de un teléfono móvil inteligente) en un entorno conocido o para calcular la pose de un objeto que se mueve en relación a una cámara fija. La información de pose resulta útil en robótica, realidad aumentada, navegación y otras aplicaciones. En varias realizaciones en las que se calcula la pose de una cámara, un sistema de aprendizaje automático entrenado asocia elementos de imagen de una imagen de una escena, con puntos en el sistema de coordenadas universal tridimensional de la escena. En ejemplos en los que la cámara está fija y se debe calcular la pose de un objeto, el sistema de aprendizaje automático entrenado asocia elementos de imagen de una imagen del objeto con puntos en un sistema de coordenadas del objeto. En ejemplos, los elementos de imagen pueden contener ruido y ser incompletos y un motor de inferencia de pose calcula una estimación precisa de la pose.
Muchas de las características propias relacionadas resultarán más fáciles de comprender haciendo referencia a la descripción detallada que sigue y que se considera en relación con los dibujos adjuntos.
Breve descripción de los dibujos
La presente descripción se comprenderá mejor a partir de la descripción detallada que sigue leída a la luz de los dibujos adjuntos, en los cuales:
la FIG. 1 es un diagrama esquemático de un estimador de pose de cámara para relocalizar una cámara móvil (tal como la cámara de un teléfono móvil inteligente) en una escena A;
la FIG. 2 es un diagrama esquemático de una persona que sostiene un dispositivo móvil con una cámara y un estimador de pose de cámara y que se comunica con un sistema de realidad aumentada para permitir que se proyecte la imagen de un gato sobre la escena de una manera realista;
la FIG. 3 es un diagrama esquemático de una persona y un robot, cada uno de los cuales posee una cámara y un estimador de pose de cámara;
la FIG. 4 es un diagrama esquemático de tres árboles de decisión aleatorios que forman al menos una parte de un bosque de decisión aleatorio;
la FIG. 5 es un diagrama de flujo de un método para entrenar un bosque de decisión aleatorio para predecir correspondencias entre elementos de imagen y coordenadas de escena; y para utilizar el bosque de decisión aleatorio entrenado;
la FIG. 6 es un diagrama de flujo de un método para entrenar un bosque de decisión aleatorio utilizando imágenes de una escena cuyos elementos de imagen tienen etiquetas que indican sus correspondientes coordenadas de escena;
la FIG. 7 es un diagrama de flujo de un método para utilizar un bosque de decisión aleatorio entrenado para obtener parejas de coordenadas de escena - elemento de imagen;
la FIG. 8 es un diagrama de flujo de un método en un motor de inferencia de pose de cámara para utilizar parejas de coordenadas de escena - elemento de imagen para inferir la pose de cámara;
la FIG. 9 es un diagrama esquemático del estimador de pose de cámara de la FIG. 1 en el que está disponible un modelo tridimensional de la escena;
la FIG. 10 ilustra un dispositivo basado en ordenador a modo de ejemplo en el que pueden implementarse realizaciones de un estimador de pose de cámara o de un estimador de pose de objeto.
En los dibujos adjuntos, se utilizan números de referencia similares para designar partes similares.
Descripción detallada
La descripción detallada que se ofrece a continuación en relación con los dibujos adjuntos pretende ser una descripción de los presentes ejemplos y no pretende representar las únicas formas en las que el presente ejemplo puede construirse o utilizarse. La descripción establece las funciones del ejemplo y la secuencia de pasos para construir y hacer funcionar el ejemplo. Sin embargo, pueden conseguirse las mismas funciones y secuencias o funciones y secuencias equivalentes mediante ejemplos diferentes.
Aunque los presentes ejemplos se describen y se ilustran en la presente memoria como ejemplos que están implementados utilizando un bosque de decisión aleatorio, se proporciona el sistema descrito como un ejemplo y no como una limitación. Como comprenderán aquellas personas expertas en la técnica, los presentes ejemplos pueden implementarse utilizando una variedad de diferentes tipos de sistemas de aprendizaje automático que incluyen, pero que no están limitados a, máquinas de soporte vectorial, sistemas de regresión basados en procesos Gaussianos.
La FIG. 1 es un diagrama esquemático de un estimador de pose de cámara para relocalizar una cámara móvil (tal como la cámara de un teléfono móvil inteligente) en una escena A. En este ejemplo, una persona 114 está sosteniendo la cámara 112 móvil que está integrada en un dispositivo de comunicación tal como un teléfono móvil inteligente. La persona 114 utiliza la cámara 112 móvil para capturar al menos una imagen 118 de la escena 116 A, tal como una sala de estar, una oficina u otro entorno. La imagen puede ser una imagen de profundidad, una imagen en color (a la que se hará referencia como una imagen RGB) o puede comprender tanto una imagen de profundidad como una imagen en color. En algunos ejemplos, puede capturarse una secuencia de imágenes por medio de la cámara móvil.
Un estimador 100 de pose de cámara o bien está integrado con el teléfono móvil inteligente o bien está proporcionado por otra entidad que se comunica con el teléfono móvil inteligente. El estimador 100 de pose de cámara esta implementado utilizando software y/o hardware tal como se describe con mayor detalle más adelante haciendo referencia a la FIG. 10. El estimador 100 de pose de cámara comprende una pluralidad de bosques 102, 104, 106 de decisión de coordenadas de escena entrenados, cada uno de ellos para cada una de las escenas de una pluralidad de escenas. Los bosques de decisión de coordenadas de escena entrenados pueden almacenarse en el estimador de pose de cámara o pueden ubicarse en otra entidad que se comunica con el estimador de pose de cámara. Cada bosque de decisión de coordenadas de escena es un tipo de sistema de aprendizaje automático que toma elementos de imagen (a partir de imágenes de su escena asociada) como entrada y genera estimaciones de coordenadas de escena (en el espacio del universo) de puntos en una escena representada por los elementos de imagen. Los elementos de imagen pueden ser píxeles, grupos de píxeles, vóxeles, grupos de vóxeles, manchas, parches u otros componentes de una imagen. Pueden utilizarse otros tipos de sistemas de aprendizaje automático en lugar del bosque de decisión de coordenadas de escena. Por ejemplo, un sistema de regresión basado en máquinas de soporte vectorial, sistemas de regresión basados en procesos Gaussianos.
Un bosque de decisión comprende un árbol de decisión o más de uno donde cada uno de ellos posee un nodo raíz, una pluralidad de nodos de decisión y una pluralidad de nodos terminales. Los elementos de imagen de una imagen pueden hacerse pasar a través de árboles de un bosque de decisión desde la raíz hasta un nodo terminal en un proceso en el que se toma una decisión en cada nodo de decisión. La decisión se toma de acuerdo con características del elemento de imagen y características de elementos de imagen de test desplazados en la misma mediante desplazamientos (offsets) espaciales especificados por los parámetros en el nodo de decisión. En un nodo de decisión, el elemento de imagen avanza hasta el siguiente nivel del árbol bajando por una rama escogida de acuerdo con los resultados de la decisión. El bosque de decisión aleatorio puede utilizar regresión o clasificación tal como se describirá con mayor detalle más adelante. Durante el entrenamiento, los valores de los parámetros (a los que también se hace referencia como características) se aprenden para ser utilizados en los nodos de decisión y los datos se acumulan en los nodos terminales. Por ejemplo, en los nodos terminales se acumulan distribuciones de coordenadas de escena.
El almacenamiento de todas las coordenadas de escena en los nodos terminales durante el entrenamiento puede necesitar mucha memoria puesto que típicamente se utilizan grandes cantidades de datos de entrenamiento para aplicaciones prácticas. Las coordenadas de escena pueden agregarse con el fin de que puedan ser almacenadas de una manera compacta. Pueden utilizarse diferentes procesos de agregación. Más adelante se describirá con mayor detalle un ejemplo en el que se almacenan modos de la distribución de coordenadas de escena.
En el ejemplo de la FIG. 1, existen una pluralidad de bosques de decisión de coordenadas de escena entrenados; uno por cada una de las escenas de la pluralidad de escenas. Sin embargo, también resulta posible tener un único bosque de decisión de coordenadas de escena entrenado que funciona para una pluralidad de escenas. Esto se explicará más adelante haciendo referencia a la FIG. 9.
El bosque o bosques de decisión de coordenadas de escena proporcionan estimaciones 110 de parejas de elemento de imagen - coordenadas de escena que son entregados a un motor 108 de inferencia de pose de cámara en el estimador 100 de pose de cámara. También puede estar disponible información sobre la certidumbre de las estimaciones de elemento de imagen - coordenadas de escena. El motor 108 de inferencia de pose de cámara puede utilizar una estrategia de optimización de energía para encontrar una pose de cámara que constituya un buen ajuste para una pluralidad de parejas elemento de imagen - predicciones de coordenadas de escena llevadas a cabo por el bosque de decisión de coordenadas de escena. Esto se describe con mayor detalle más adelante haciendo referencia a la FIG. 8. En algunos ejemplos, las coordenadas de escena para cada elemento de imagen disponible pueden calcularse y utilizarse en la optimización de energía. Sin embargo, para conseguir mejoras de rendimiento a la vez que se mantiene la precisión, puede utilizarse un subconjunto de elementos de imagen para calcular las predicciones de coordenadas de escena.
El motor 108 de inferencia de pose de cámara utiliza muchas parejas 110 de elemento de imagen - coordenadas de escena para inferir la pose de la cámara 112 móvil utilizando una estrategia de optimización de energía, tal como se mencionó anteriormente. El número de parejas utilizado puede ser mucho mayor que tres (el mínimo necesario) para mejorar la precisión. Por ejemplo, la al menos una imagen 118 capturada puede contener ruido y puede tener elementos de imagen ausentes, especialmente cuando la imagen 118 capturada es una imagen de profundidad. Por otro lado, obtener una predicción de coordenadas de escena para cada elemento de imagen en una imagen es computacionalmente costoso y consume mucho tiempo puesto que cada elemento de imagen necesita ser pasado a través del bosque tal como se describe haciendo referencia a la FIG. 7. Por lo tanto, en algunos ejemplos, el motor de inferencia de pose de cámara puede utilizar un proceso iterativo que proporciona el beneficio de que se utiliza un subconjunto de elementos de imagen para calcular predicciones de coordenadas de escena a la vez que se tiene en cuenta la precisión.
La salida 120 de pose de cámara que se obtiene del estimador de pose de cámara puede tener la forma de un conjunto de parámetros con seis grados de libertad, tres que indican la rotación de la cámara y tres que indican la posición de la cámara. Por ejemplo, la salida del estimador de pose de cámara es un conjunto de parámetros de registro de una transformación desde el espacio de cámara hasta el espacio del universo. En algunos ejemplos, estos parámetros de registro se proporcionan como una estimación de pose de seis grados de libertad (6DOF) en forma de una matriz SE3 que describe la rotación y la traslación de la cámara en relación a las coordenadas del universo real.
La salida 120 de pose de cámara que se obtiene del estimador 100 de pose puede entregarse a un sistema 122 posterior junto con la imagen o imágenes 118 capturadas. El sistema posterior puede ser un sistema 124 de juego, un sistema 126 de realidad aumentada, un sistema 128 robótico, un sistema 130 de navegación u otro sistema. Haciendo referencia a la FIG. 2, se describirá un ejemplo en el que el sistema 122 posterior es un sistema de realidad aumentada.
Los ejemplos descritos muestran cómo puede calcularse una pose de cámara. Estos ejemplos pueden modificarse de una manera sencilla y directa para permitir que la pose de un objeto se calcule cuando la cámara está fija. En este caso, el sistema de aprendizaje automático se entrena utilizando imágenes de entrenamiento de un objeto en el que los elementos de imagen están etiquetados con coordenadas de objeto. Se proporciona así un estimador de pose de objeto que utiliza los métodos descritos en la presente memoria adaptados a la situación en la que la cámara está fija y debe calcularse la pose de un objeto.
De manera alternativa, o de manera adicional, el estimador de pose de cámara o el estimador de pose de objeto descritos en la presente memoria pueden implementarse, al menos en parte, utilizando un componente lógico de hardware o más de uno. Por ejemplo, y sin limitación, tipos ilustrativos de componentes lógicos de hardware que pueden utilizarse incluyen Matrices de Puertas Programables (FPGAs, Field Prngrammable Gate Arrays), Circuitos Integrados para Aplicaciones Específicas (ASICs, Program Specific Integrated Circuit), Productos Estándar para Aplicación Específica (ASSPs, Program Specific Standard Product), Sistemas en un Chip (SOCs, System-on-a-chip), Dispositivos Lógicos Programables Complejos (CPLDs, Complex Programmable Logic Device), Unidades de Procesamiento Gráfico (GPU, Graphics Processing Unit).
La FIG. 2 es un diagrama esquemático de una persona 200 que sostiene un dispositivo 202 móvil que posee una cámara 212, un estimador 214 de pose de cámara y un proyector 210. Por ejemplo, el dispositivo móvil puede ser un teléfono móvil inteligente. En aras de la claridad, no se muestran otros componentes del dispositivo móvil que le permiten funcionar como un teléfono móvil inteligente tales como una interfaz de comunicación, una pantalla de visualización, una fuente de suministro de potencia y otros componentes. Una persona 200 que sostiene el dispositivo 202 móvil es capaz de capturar imágenes de la escena o del entorno en el que se está moviendo el usuario. En el ejemplo de la FIG. 2, la escena o el entorno es una sala de estar que contiene diversos objetos 206 y otra persona 204.
El dispositivo móvil es capaz de comunicarse con una entidad o más de una dispuestas en la nube 216 tales como un sistema 218 de realidad aumentada, un modelo 220 tridimensional de la escena y un sistema 222 de generación de modelo tridimensional opcional.
Por ejemplo, el usuario 200 hace funcionar el dispositivo 202 móvil para capturar imágenes de la escena que son utilizadas por el estimador 214 de pose de cámara para calcular la pose (posición y orientación) de la cámara. Con el consentimiento del usuario, la pose de la cámara es enviada 224 a las entidades en la nube 216 opcionalmente con las imágenes 228. El sistema 218 de realidad aumentada puede tener acceso a un modelo 220 tridimensional de la escena (por ejemplo, un modelo tridimensional de la sala de estar) y puede utilizar el modelo tridimensional y la pose de la cámara para calcular la entrada 226 del proyector. La entrada 226 del proyector se envía al dispositivo 202 móvil y puede ser proyectada por el proyector 210 en la escena. Por ejemplo, puede proyectarse una imagen de un gato 208 en la escena de una manera realista teniendo en cuenta el modelo tridimensional de la escena y la pose de la cámara. El modelo tridimensional de la escena podría ser un modelo de diseño asistido por ordenador (CAD, Computer Aided Design), o bien podría ser un modelo de las superficies en la escena construido a partir de imágenes de la escena capturadas utilizando un sistema 222 de generación de modelo tridimensional. Un ejemplo de un sistema de generación de modelo tridimensional que puede utilizarse se describe en la solicitud de patente de EE. UU. N° US20120194516 “Reconstrucción de entorno tridimensional” (“ Three-Dimensional Environment Reconstruction") a favor de Newcombe, Richard y otros publicada el 2 de agosto de 2012. También pueden utilizarse otros tipos de modelos tridimensionales y de sistemas de generación de modelos tridimensionales.
Se describirá a continuación, haciendo referencia a la FIG. 3, un ejemplo en el que el sistema 122 posterior es un sistema de navegación. La FIG. 3 contiene una vista en planta del suelo de una oficina 300 con varios objetos 310. Una persona 302 que sostiene un dispositivo 304 móvil está caminando a lo largo de un pasillo 306 en la dirección de las flechas 308. El dispositivo 304 móvil tiene una cámara 314 o más de una, un estimador 316 de pose de cámara y un visualizador 318 de mapa. El dispositivo 304 móvil puede ser un teléfono móvil inteligente u otro dispositivo de comunicación móvil tal como se describió haciendo referencia a la FIG. 2 y que es capaz de comunicarse con un sistema 322 de navegación en la nube 320. El sistema 322 de navegación recibe la pose de cámara desde el dispositivo móvil (siempre que el usuario haya consentido en revelar esta información) y utiliza esa información junto con los mapas 324 de la planta de la oficina para calcular datos de visualización de mapa para ayudar a la persona 302 a moverse por la planta de la oficina. Los datos de visualización de mapa son enviados al dispositivo móvil y pueden visualizarse en el visualizador 318 de mapa.
Se describirá a continuación, haciendo referencia a la FIG. 3, un ejemplo en el que el sistema 122 posterior es un sistema robótico. Un vehículo 312 robot se mueve a lo largo del pasillo 306 y captura imágenes utilizando una cámara 326 o más de una situadas en el vehículo robot. Un estimador 328 de pose de cámara en el vehículo robot es capaz de calcular la pose de la(s) cámara(s) cuando el vehículo robot ya conoce la escena.
La FIG. 4 es un diagrama esquemático de un bosque de decisión a modo de ejemplo que comprende tres árboles de decisión: un primer árbol 400 (denominado árbol 1); un segundo árbol 402 (denominado árbol 2); y un tercer árbol 404 (denominado árbol 3). Cada árbol de decisión comprende un nodo raíz (por ejemplo, el nodo 406 raíz del primer árbol 700 de decisión), una pluralidad de nodos internos, denominados nodos de decisión (por ejemplo, el nodo 408 de decisión del primer árbol 400 de decisión), y una pluralidad de nodos terminales (por ejemplo, el nodo 410 terminal del primer árbol 400 de decisión).
Durante el funcionamiento, cada nodo raíz y cada nodo de decisión de cada árbol lleva a cabo un test binario (o posiblemente un test n-ario) sobre los datos de entrada y, sobre la base del resultado, dirige los datos hacia el nodo hijo izquierdo o el nodo hijo derecho. Los nodos terminales no llevan a cabo ninguna acción; almacenan coordenadas de escena acumuladas (y opcionalmente otra información). Por ejemplo, pueden almacenarse distribuciones de probabilidad que representan las coordenadas de escena acumuladas.
La FIG. 5 es un diagrama de flujo de un método para entrenar un bosque de decisión aleatorio para predecir correspondencias entre elementos de imagen y coordenadas de escena. Esto se ilustra en la parte superior de la FIG. 5 por encima de la línea punteada en la región etiquetada “entrenamiento”. La parte inferior de la FIG. 5 por debajo de la línea punteada muestra pasos del método durante el tiempo de test cuando se utiliza el bosque de decisión aleatorio entrenado para predecir (o estimar) correspondencias entre elementos de imagen de una imagen de una escena y puntos en el sistema de coordenadas universal tridimensional de la escena (coordenadas de escena).
Un bosque de decisión aleatorio es entrenado en el paso 502 para permitir que los elementos de imagen generen predicciones de correspondencias entre ellos mismos y coordenadas de escena. Durante el entrenamiento, se utilizan las imágenes 500 de entrenamiento etiquetadas de al menos una escena, tal como la escena A. Por ejemplo, una imagen de entrenamiento etiquetada comprende, para cada elemento de imagen, un punto en un sistema de coordenadas universal tridimensional de la escena que representa el elemento de imagen. Para obtener las imágenes de entrenamiento etiquetadas, pueden utilizarse diferentes métodos para capturar imágenes 516 de la escena A y grabar o calcular la pose de la cámara para cada imagen capturada. Utilizando estos datos, pueden calcularse unas coordenadas de escena que indican el punto del universo representado por un elemento de imagen. Para capturar las imágenes y grabar o calcular la pose de cámara asociada, una estrategia consiste en llevar a cabo un seguimiento de cámara en el paso 512 desde la entrada de cámara de profundidad. Por ejemplo, tal como se describe en la solicitud de patente de EE. UU. N° US20120196679 “Seguimiento de cámara en tiempo real utilizando mapas de profundidad” (“Real-time camera tracking using depth maps") a favor de Newcombe, Richard y otros publicada el 2 de agosto de 2012. Otra estrategia consiste en llevar a cabo en el paso 514 una reconstrucción densa y seguimiento de cámara desde la entrada de cámara RGB. También resulta posible utilizar un modelo CAD para generar datos de entrenamiento sintéticos. Las propias imágenes de entrenamiento (es decir, no las imágenes etiquetadas) pueden ser reales o sintéticas.
Se describirá a continuación, haciendo referencia a la FIG. 6, un ejemplo de un proceso de entrenamiento del bloque 502. El resultado del entrenamiento es un bosque 504 de decisión aleatorio entrenado para la escena A (en el caso en el que las imágenes de entrenamiento correspondiesen a la escena A).
En el tiempo de test, en el paso 508 se recibe una imagen de entrada de la escena A y se seleccionan una pluralidad de elementos de imagen a partir de la imagen de entrada. Los elementos de imagen pueden seleccionarse de manera aleatoria o de otra manera (por ejemplo, mediante una selección tal que se omiten elementos de imagen espurios o que contienen ruido). Cada elemento de imagen seleccionado puede aplicarse en el paso 506 al bosque de decisión entrenado para obtener predicciones 510 de correspondencias entre esos elementos de imagen y puntos en el sistema de coordenadas universal tridimensional de la escena.
La FIG. 6 es un diagrama de flujo de un método para entrenar un bosque de decisión aleatorio utilizando imágenes de una escena cuyos elementos de imagen tienen etiquetas que indican sus correspondientes coordenadas de escena. En el paso 600 se recibe un conjunto de imágenes de entrenamiento de una escena en el que los elementos de imagen tienen etiquetas que indican las coordenadas de escena del punto de escena que representan. Se seleccionan en el paso 602 un número de árboles que serán utilizados en el bosque de decisión, por ejemplo, entre 3 y 20 árboles.
Se selecciona en el paso 604 un árbol de decisión del bosque de decisión (por ejemplo, el primer árbol 600 de decisión) y se selecciona 606 en el paso 606 el nodo raíz. Se selecciona entonces en el paso 608 al menos un subconjunto de los elementos de imagen de cada una de las imágenes de entrenamiento. Por ejemplo, la imagen puede filtrarse para eliminar ruido o elementos de imagen espurios.
Se generan entonces en el paso 610 un conjunto aleatorio de parámetros de test (también llamados clasificadores débiles) para ser utilizados como candidatos a características por el test binario llevado a cabo en el nodo raíz. En un ejemplo, el test binario tiene la forma: £ > f (x; 9) > t, de tal manera que f (x; 9) es una función aplicada al elemento x de imagen con parámetros 9, de manera que la salida de la función se compara con valores £ y t umbrales. Si el resultado de f (x; 9) está en el rango comprendido entre £ y t, entonces el resultado del test binario es verdadero. En caso contrario, el resultado del test binario es falso. En otros ejemplos, sólo puede utilizarse uno de los valores f y t umbrales, de tal manera que el resultado del test binario es verdadero si el resultado de f (x; 9) es mayor que (o, de manera alternativa, menor que) un valor umbral. En el ejemplo descrito aquí, el parámetro 9 define una característica de la imagen.
Una función f (x; 9) candidata utiliza información de imagen que está disponible durante el tiempo de test. El parámetro 9 de la función f (x; 9) se genera de manera aleatoria durante el entrenamiento. El proceso para generar el parámetro 9 puede comprender generar valores de desplazamiento espacial aleatorios en forma de un desplazamiento de dos o de tres dimensiones. El resultado de la función f (x; 9) se calcula entonces observando el valor de la profundidad (o valor de intensidad en el caso de una pareja de imágenes RGB y de profundidad) para un elemento de imagen de test o más de uno que están desplazados del elemento x de imagen de interés en la imagen mediante desplazamientos espaciales. Se hace que los desplazamientos espaciales sean, opcionalmente, invariantes en profundidad, escalándoles mediante el factor 1/profundidad del elemento de imagen de interés. Cuando se utilizan imágenes RGB sin imágenes de profundidad, el resultado de la función f (x; 9) puede calcularse observando el valor de intensidad en un canal específico de entre los canales de color rojo, verde o azul para un elemento de imagen de test o más de uno que están desplazados del elemento x de imagen de interés mediante desplazamientos espaciales.
El resultado del test binario llevado a cabo en un nodo raíz o en un nodo de decisión determina a qué nodo hijo se pasa un elemento de imagen. Por ejemplo, si el resultado del test binario es verdadero, el elemento de imagen se pasa a un primer nodo hijo, mientras que si el resultado es falso el elemento de imagen se pasa a un segundo nodo hijo.
El conjunto aleatorio de parámetros de test generado comprende una pluralidad de valores aleatorios para el parámetro 9 de la función y para los valores f y t umbrales. Con el fin de inyectar aleatoriedad en los árboles de decisión, los parámetros 9 de la función de cada nodo de decisión se optimizan solamente sobre un subconjunto 0 de todos los posibles parámetros muestreados de manera aleatoria. Esto constituye una manera efectiva y simple de inyectar aleatoriedad en los árboles, y aumenta la generalización.
A continuación, cada combinación de parámetro de test puede aplicarse en el paso 612 a cada elemento de imagen en el conjunto de imágenes de entrenamiento. En otras palabras, se prueban valores permitidos de 9 (es decir, e 0 ) uno detrás de otro, en combinación con valores permitidos de f y t para cada elemento de imagen en cada imagen de entrenamiento. Para cada combinación, se calculan en el paso 614 los criterios (a los que también se hace referencia como los objetivos). La combinación de parámetros que optimiza los criterios se selecciona en el paso 614 y se almacena en el nodo actual para un uso futuro.
En un ejemplo, el objetivo es un objetivo de reducción de varianza expresado de la siguiente manera:
Figure imgf000007_0001
lo que puede expresarse en palabras diciendo que la reducción en la varianza de los ejemplos de entrenamiento en el nodo n de decisión con los parámetros 9 de clasificador débil es igual a la varianza de todos los ejemplos de entrenamiento que alcanzan ese nodo de decisión menos la suma de las varianzas de los ejemplos de entrenamiento que alcanzan los nodos hijo izquierdo y derecho del nodo de decisión. La varianza puede calcularse como:
Figure imgf000007_0002
Zovn)es II™ - ™ l l2
lo que puede expresarse con palabras diciendo que la varianza de un conjunto de ejemplos S de entrenamiento es igual a la media de las diferencias entre las coordenadas m de escena y el valor medio de las coordenadas de escena en S.
Como alternativa a un objetivo de reducción de varianza, pueden utilizarse otros criterios, tales como el logaritmo del determinante, o la ganancia continua de información.
Se determina entonces en el paso 616 si el valor para el criterio calculado es menor que (o mayor que) un umbral. Si el valor del criterio calculado es menor que el umbral, entonces esto indica que una expansión adicional del árbol no proporciona un beneficio significativo. Esto conduce a árboles asimétricos que paran de crecer de manera natural cuando ningún nodo adicional resulta beneficioso. En tales casos, se establece en el paso 618 el nodo actual como un nodo terminal. De manera similar, se determina la profundidad actual del árbol (es decir, cuántos niveles de nodos existen entre el nodo raíz y el nodo actual). Si resulta ser mayor que un valor máximo predeterminado, entonces se establece en el paso 618 el nodo actual como un nodo terminal. Cada nodo terminal tiene predicciones de coordenadas de escena que se acumulan en el nodo terminal durante el proceso de entrenamiento tal como se describe posteriormente.
También resulta posible utilizar otro criterio de detención en combinación con aquellos ya mencionados. Por ejemplo, evaluar el número de elementos de imagen de ejemplo que alcanzan un nodo terminal. Si el número de ejemplos es demasiado reducido (en comparación con un umbral, por ejemplo), entonces puede disponerse que el proceso se detenga para evitar sobreajuste. Sin embargo, no resulta esencial utilizar este criterio de detención.
Si el valor del criterio calculado es mayor que o igual que el umbral, y la profundidad del árbol es menor que el valor máximo, entonces se establece en el paso 620 el nodo actual como un nodo de decisión. Puesto que el nodo actual es un nodo de decisión, poseerá nodos hijo, y el proceso se desplaza entonces a entrenar a esos nodos hijo. Cada nodo hijo es entrenado utilizando un subconjunto de los elementos de imagen de entrenamiento en el nodo actual. El subconjunto de elementos de imagen enviados a un nodo hijo se determina utilizando los parámetros que optimizaron el criterio. Estos parámetros se utilizan en el test binario, y se lleva a cabo en el paso 622 el test binario en todos los elementos de imagen en el nodo actual. Los elementos de imagen que pasan el test binario forman un primer subconjunto enviado a un primer nodo hijo, y los elementos de imagen que no pasan el test binario forman un segundo subconjunto enviado a un segundo nodo hijo.
Para cada uno de los nodos hijo, los procesos tal como se delinean en los bloques 610 a 622 de la FIG. 6 se ejecutan en el paso 624 de manera recursiva para el subconjunto de elementos de imagen dirigidos al nodo hijo respectivo. En otras palabras, para cada nodo hijo, en el paso 610 se generan nuevos parámetros de test aleatorios, en el paso 612 se aplican al subconjunto de elementos de imagen respectivo, en el paso 614 se seleccionan parámetros que optimizan el criterio, y el paso 616 se determina el tipo de nodo (de decisión o terminal). Si se trata de un nodo terminal, entonces termina la ramificación de recurrencia actual. Si se trata de un nodo de decisión, en el paso 622 se llevan a cabo test binarios para determinar subconjuntos de elementos de imagen adicionales y comienza otra ramificación de recurrencia. Por lo tanto, este proceso se mueve de manera recursiva a través del árbol, entrenando a cada nodo hasta que se alcanzan nodos terminales en cada rama. Cuando se alcanzan nodos terminales, el proceso espera en el paso 626 hasta que los nodos de todas las ramas hayan sido entrenados. Nótese que, en otros ejemplos, puede conseguirse la misma funcionalidad utilizando técnicas alternativas de recursividad.
Una vez que todos los nodos en el árbol han sido entrenados para determinar los parámetros para el test binario optimizando el criterio en cada nodo de decisión, y una vez que los nodos terminales han sido seleccionados para terminar cada rama, entonces en el paso 628 pueden acumularse las coordenadas de escena en los nodos terminales del árbol. Esta es la etapa de entrenamiento y por lo tanto elementos de imagen particulares que alcanzan un nodo terminal dado poseen coordenadas de escena específicas conocidas a partir de los datos de entrenamiento de validación de terreno. Puede almacenarse en el paso 630 una representación de las coordenadas de escena utilizando varios métodos diferentes. Por ejemplo, mediante la agregación de las coordenadas de escena o mediante el almacenamiento de estadísticos que representan la distribución de las coordenadas de escena.
En algunas realizaciones, se ajusta una distribución multimodal a las coordenadas de escena acumuladas. Ejemplos de ajuste de una distribución multimodal incluyen el uso de maximización esperada (tal como ajuste de un modelo de mezcla Gaussiana); el uso de detección de modos mediante desplazamiento de media; el uso de cualquier proceso de agrupamiento apropiado tal como agrupamiento k-medias, agrupamiento por aglomeración u otros procesos de agrupamiento. Se almacenan entonces características de las agrupaciones o de las distribuciones multimodales en lugar de almacenar las coordenadas de escena individuales. En algunos ejemplos, pueden almacenarse un puñado de las muestras de las coordenadas de escena individuales.
También puede almacenarse un peso para cada agrupación o modo. Un ejemplo, se utiliza un algoritmo de detección de modos mediante desplazamiento de media y el número de coordenadas de escena que alcanzan un modo particular puede utilizarse como un peso para ese modo. La detección de modos mediante desplazamiento de media es un algoritmo que detecta de manera eficiente los modos (picos) en una distribución definida por un estimador de densidad de ventana de Parzen. En otro ejemplo, la densidad tal como se define por un estimador de densidad de ventana de Parzen puede utilizarse como un peso. Un estimador de densidad de ventana de Parzen (también conocido como un estimador de densidad de kernel) es un proceso no paramétrico para estimar una función de densidad de probabilidad, en este caso de las coordenadas de escena acumuladas. Un estimador de densidad de ventana de Parzen toma un parámetro de ancho de banda que puede ser considerado como un parámetro que controla un grado de suavizado.
En un ejemplo, se toma una sub-muestra de los elementos de imagen de entrenamiento que alcanzan un nodo terminal y se introduce en un proceso de detección de modos mediante desplazamiento de media. Esto agrupa las coordenadas de escena en un pequeño conjunto de modos. Uno de estos modos, o más de uno, puede almacenarse, por ejemplo, de acuerdo con el número de ejemplos asignados a cada modo.
Una vez que las coordenadas de escena acumuladas se han almacenado, se determina en el paso 632 si están presentes más árboles en el bosque de decisión. Si es así, entonces se selecciona el siguiente árbol en el bosque de decisión, y se repite el proceso. Si se han entrenado todos los árboles en el bosque, y no queda ningún otro, entonces se ha completado el proceso de entrenamiento y se termina el proceso en el paso 634.
Por lo tanto, como resultado del proceso de entrenamiento, se entrenan un árbol de decisión o más de uno utilizando imágenes de entrenamiento empíricas. Cada árbol comprende una pluralidad de nodos de decisión que almacenan parámetros de test optimizados, y una pluralidad de nodos terminales que almacenan coordenadas de escena asociadas o representaciones de coordenadas de escena agregadas. Debido a la generación aleatoria de parámetros a partir de un subconjunto limitado utilizado en cada nodo, y al posible conjunto sub-muestreado de datos de entrenamiento utilizados en cada árbol, los árboles del bosque son distintos (es decir, diferentes) entre sí.
El proceso de entrenamiento puede llevarse a cabo antes de utilizar el sistema de predicción entrenado para identificar coordenadas de escena para elementos de imagen de imágenes de profundidad o imágenes RGB de una escena conocida o más de una. El bosque de decisión y los parámetros de test optimizados pueden almacenarse en un dispositivo de almacenamiento para ser utilizados en la identificación de coordenadas de escena de elementos de imagen en un tiempo posterior.
La FIG. 7 ilustra un diagrama de flujo de un proceso para predecir coordenadas de escena en una imagen no vista con anterioridad (una imagen de profundidad, una imagen RGB, o una pareja de imágenes de profundidad y RGB rectificadas) utilizando un bosque de decisión que ha sido entrenado tal como se describió haciendo referencia a la FIG. 6. En primer lugar, en el paso 700 se recibe una imagen no vista. Se hace referencia a una imagen como "no vista” para distinguirla de una imagen de entrenamiento que tiene ya especificadas las coordenadas de escena.
Se selecciona en el paso 702 un elemento de imagen de la imagen no vista. También se selecciona en el paso 704 un árbol de decisión entrenado del bosque de decisión. El elemento de imagen seleccionado se hace pasar en el paso 706 a través del árbol de decisión seleccionado, de tal manera que es testeado contra los parámetros entrenados en un nodo, y a continuación pasa al nodo hijo apropiado dependiendo del resultado del test, y el proceso se repite hasta que el elemento de imagen alcanza un nodo terminal. Una vez que el elemento de imagen alcanza un nodo terminal, se almacenan en el paso 708 las coordenadas de escena acumuladas (provenientes de la etapa de entrenamiento) asociadas con este nodo terminal para este elemento de imagen. En un ejemplo en el que el nodo terminal almacena un modo o más de uno de una distribución de coordenadas de escena, uno de estos modos, o más de uno, se almacenan para este elemento de imagen.
Si en el paso 710 se determina que hay más árboles de decisión en el bosque, entonces se selecciona en el paso 704 un nuevo árbol de decisión, el elemento de imagen se hace pasar en el paso 706 a través del árbol y se almacenan en el paso 708 las coordenadas de escena acumuladas. Esto se repite hasta que se haya llevado a cabo para todos los árboles de decisión en el bosque. La predicción final del bosque para un elemento de imagen puede ser un agregado de las coordenadas de escena obtenidas en los nodos terminales que se encuentran en cada árbol. Cuando un modo o más de uno de una distribución de coordenadas de escena se almacenan en los nodos terminales, la predicción final del bosque puede ser una unión de los modos de los nodos terminales que se encuentran en cada árbol. Nótese que el proceso para hacer pasar un elemento de imagen a través de la pluralidad de árboles en el bosque de decisión también puede llevarse a cabo en paralelo, en lugar de hacerlo en secuencia como se muestra en la FIG. 7.
Se determina entonces en el paso 712 si deben ser evaluados elementos de imagen no analizados adicionales, y si es así se selecciona otro elemento de imagen y se repite el proceso. El motor de inferencia de pose de cámara puede estar dispuesto para determinar si deben ser evaluados elementos de imagen no analizados adicionales tal como se describirá a continuación haciendo referencia a la FIG. 8.
La FIG. 8 es un diagrama de flujo de un método en un motor de inferencia de pose de cámara para utilizar parejas de coordenadas de escena - elemento de imagen para inferir la pose de cámara. Tal como se mencionó anteriormente, el motor de inferencia de pose de cámara puede utilizar una estrategia de optimización de energía para encontrar una pose de cámara que constituya un buen ajuste a una pluralidad de parejas de elemento de imagen - coordenadas de escena predichas por el bosque de decisión de coordenadas de escena. En el caso de que se utilicen imágenes de profundidad, o imágenes de profundidad junto con imágenes RGB, una función de energía a modo de ejemplo podría ser:
Figure imgf000009_0001
donde i e I es un índice de elemento de imagen; p es una función de error robusta; m e Mi representa el conjunto de modos (localizaciones tridimensionales en el espacio del universo de la escena) predicho por los árboles en el bosque para el elemento pi de imagen; y xi son las coordenadas tridimensionales en el espacio de la cámara que corresponden al píxel pi que pueden obtenerse mediante retroproyección de los elementos de imagen de profundidad. Puede considerarse que la función de energía cuenta el número de valores atípicos (outliers) para una determinada hipótesis H de cámara. La anotación anterior utiliza coordenadas tridimensionales homogéneas.
En el caso de que se utilicen imágenes RGB sin imágenes de profundidad, la función de energía puede ser modificada del siguiente modo:
E ( H ) = Yi ígi p ( ™ in m £ M i \\7T( K H ~ 1m — p¿ )||2) = I i iG1ei ( H )
donde p es una función de error robusta, n proyecta coordenadas de imagen tridimensionales a bidimensionales, K es una matriz que codifica los parámetros intrínsecos de la cámara, y p es la coordenada del elemento de imagen bidimensional.
Nótese que, en las expresiones anteriores, E, p y ei pueden distinguirse con diferentes superíndices tales como RGB/profundidad.
Con el fin de optimizar la función de energía, puede utilizarse un proceso iterativo para buscar buenos candidatos a pose de cámara entre un conjunto de posibles candidatos a pose de cámara. Se toman muestras de parejas de elemento de imagen - coordenadas de escena y se utilizan para evaluar los candidatos a pose de cámara. Los candidatos a pose de cámara pueden refinarse o actualizarse utilizando un subconjunto de las parejas de elemento de imagen - coordenadas de escena. Utilizando muestras de parejas elemento de imagen - coordenadas de escena en lugar de utilizar cada pareja de elemento de imagen - coordenadas de escena a partir de una imagen, el tiempo de computación se reduce sin pérdida de precisión.
Se describirá a continuación, haciendo referencia a la FIG. 8, un proceso iterativo a modo de ejemplo que puede utilizarse en el motor de inferencia de pose de cámara. Se genera en el paso 800 un conjunto de hipótesis o candidatos a pose de cámara inicial mediante la selección realizada en el paso 802, para cada candidato a pose de cámara, de tres elementos de imagen de la imagen de entrada (que puede ser una imagen de profundidad, una imagen RGB o una pareja de imágenes de profundidad y RGB rectificadas). La selección puede ser aleatoria o puede tener en cuenta el ruido o la ausencia de valores en la imagen de entrada. También resulta posible elegir parejas en las que las coordenadas de escena tienen mayor certeza cuando el bosque proporciona información sobre certeza. En algunos ejemplos, puede imponerse una distancia de separación mínima entre los elementos de imagen con el fin de mejorar la precisión. Se hace pasar cada elemento de imagen a través del bosque de decisión de coordenadas de escena entrenado para obtener tres coordenadas de escena. Las tres parejas de elementos de imagen - coordenadas de escena se utilizan para calcular en el paso 804 una pose de cámara utilizando cualquier método apropiado tal como el algoritmo Kabsch, también conocido como alineación de Procrustes ortogonal, que utiliza una descomposición en valores singulares para calcular la hipótesis de pose de cámara. En algunos ejemplos, el conjunto de candidatos iniciales a pose de cámara puede incluir en el paso 820 una pose de cámara o más de una de fotogramas previos cuando está disponible una secuencia de imágenes. También puede incluir una predicción de pose de cámara llevada a cabo a partir del conocimiento del camino seguido por la cámara.
Para cada hipótesis de pose de cámara, se calculan en el paso 806 algunos valores típicos (inliers) o valores atípicos (outliers). Los valores típicos y los valores atípicos son parejas de elementos de imagen - coordenadas de escena que se clasifican bien como consistentes con una hipótesis de pose de cámara o bien como no consistentes. Para calcular valores típicos y valores atípicos, se muestrea en el paso 808 un lote B de elementos de imagen de la imagen de entrada y se aplican al bosque entrenado para obtener coordenadas de escena. El muestreo puede ser aleatorio o puede tener en cuenta el ruido o la ausencia de valores en la imagen de entrada. Cada pareja de elemento de imagen - coordenadas de escena puede clasificarse en el paso 810 como un valor típico o un valor atípico de acuerdo con cada una de las hipótesis de pose de cámara. Por ejemplo, comparando las coordenadas de escena establecidas por el bosque para el elemento de imagen y las coordenadas de escena establecidas por la hipótesis de pose de cámara para el elemento de imagen.
De manera opcional, puede descartarse en el paso 812 una de las hipótesis de pose de cámara o más de una sobre la base del número relativo de valores típicos (o valores atípicos) asociados con cada hipótesis, o sobre la base de un orden jerárquico de número de valores atípicos con las otras hipótesis. En varios ejemplos, la jerarquización o selección de hipótesis puede conseguirse contando cuántos valores atípicos tiene cada hipótesis de pose de cámara. Las hipótesis de pose de cámara con menor número de valores atípicos tienen una mayor energía de acuerdo con la función de energía descrita anteriormente.
De manera opcional, las hipótesis de pose de cámara restantes pueden refinarse en el paso 814 utilizando los valores típicos asociados con cada pose de cámara para recalcular esa pose de cámara (utilizando el algoritmo de Kabsch mencionado anteriormente). En aras de la eficiencia, el proceso puede almacenar y actualizar las matrices de covarianza y las medias utilizadas por la descomposición en valores singulares.
El proceso puede repetirse en el paso 816 muestreando otro lote B de elementos de imagen, y así sucesivamente, hasta que quede una pose de cámara o un número especificado de ellas, o de acuerdo con otros criterios (tal como el número de iteraciones).
El motor de inferencia de pose de cámara es capaz de generar una estimación de pose de cámara precisa con frecuencias interactivas. Esto se consigue sin necesidad de calcular un modelo tridimensional explícito de la escena. Puede pensarse en un modelo tridimensional de la escena como un modelo codificado implícitamente en el bosque de decisión aleatorio entrenado. Puesto que el bosque se ha entrenado para trabajar con cualquier elemento de imagen válido, resulta posible muestrear elementos de imagen durante el tiempo de test. El muestreo evita la necesidad de calcular puntos de interés y también el coste de una evaluación muy densa del bosque.
La FIG. 9 es un diagrama esquemático del estimador de pose de cámara de la FIG. 1 en el que está disponible un modelo 902 tridimensional de la escena. Por ejemplo, el modelo tridimensional puede ser un modelo CAD o puede ser una reconstrucción densa de la escena construida a partir de imágenes de profundidad de la escena, tal como se describe en la solicitud de patente de EE. UU. N° US20120194516 “Reconstrucción de entorno tridimensional” (“ Three-Dimensional Environment Reconstruction") a favor de Newcombe, Richard y otros publicada el 2 de agosto de 2012. Puede llevarse a cabo un proceso 900 de refinado de pose para mejorar la precisión de la pose 120 de cámara. El proceso 900 de refinado de pose puede ser un refinamiento iterativo de pose por punto más cercano tal como se describe en la solicitud de patente de EE. UU. N° US20120196679 “Seguimiento de cámara en tiempo real utilizando mapas de profundidad” (“Real-time camera tracking using depth maps") a favor de Newcombe, Richard y otros publicada el 2 de agosto de 2012. En otro ejemplo, el proceso 900 de refinado de pose puede buscar la alineación de observaciones de profundidad tomadas por la cámara móvil con superficies del modelo tridimensional de la escena con el fin de encontrar una posición y una orientación de la cámara actualizadas que facilite la alineación. Esto se describe en la solicitud de patente de EE. UU. número de serie 13/749497 presentada el 24 de enero de 2013 titulada “estimación de pose de cámara para reconstrucción tridimensional” (“Camera pose estimation for 3D reconstruction") a favor de Sharp y otros.
El ejemplo mostrado en la FIG. 9 tiene un estimador de pose de cámara con un bosque de decisión aleatorio entrenado en lugar de una pluralidad de bosques de decisión aleatorios entrenados como en la FIG. 1. Esto pretende ilustrar que un único bosque puede encapsular una pluralidad de escenas si se entrena el único bosque utilizando datos de entrenamiento de esas escenas. Los datos de entrenamiento comprenden coordenadas de escena para elementos de imagen y también etiquetas para elementos de imagen que identifican una escena particular. Cada sub-escena puede dotarse de una sub-región tridimensional del espacio completo de coordenadas universales tridimensionales y el bosque puede entonces entrenarse tal como se describió anteriormente. La salida del estimador de pose de cámara puede comprender una escena y una pose de cámara estimada de tal manera que el estimador de pose de cámara también es capaz de llevar a cabo reconocimiento de escena. Esto permite que el estimador de pose de cámara envíe datos a un sistema posterior identificando en qué escena de la pluralidad de escenas posibles está la cámara.
La FIG. 10 ilustra varios componentes de un dispositivo 1004 basado en ordenador a modo de ejemplo que puede implementarse como una forma cualquiera de un dispositivo de computación y/o electrónico, y en el cual pueden implementarse realizaciones de un estimador de pose de cámara o de un estimador de pose de objeto.
El dispositivo 1004 basado en ordenador comprende una interfaz 1002 de entrada o más de una dispuestas para recibir y procesar entradas provenientes de un dispositivo o más de uno, tal como un dispositivo de entrada de usuario (por ejemplo, un dispositivo 1008 de captura, un controlador 1005 de juegos, un teclado 1006, un ratón 1007). Esta entrada de usuario puede utilizarse para controlar aplicaciones de software, estimadores de pose de cámara o estimadores de pose de objeto. Por ejemplo, un dispositivo 1008 de captura puede ser una cámara móvil de profundidad dispuesta para capturar mapas de profundidad de una escena. También puede ser una cámara de profundidad fija dispuesta para capturar mapas de profundidad de un objeto. En otro ejemplo, el dispositivo 1008 de captura comprende tanto una cámara de profundidad como una cámara RGB. El dispositivo 1004 basado en ordenador puede estar dispuesto para proporcionar estimación de pose de cámara o de objeto a frecuencias interactivas.
El dispositivo 1004 basado en ordenador también comprende una interfaz 1010 de salida dispuesta para entregar información de visualización a un dispositivo 1009 de visualización que puede estar separado de o estar integrado en el dispositivo 1004 de computación. La información de visualización puede proporcionar una interfaz gráfica de usuario. En un ejemplo, el dispositivo 1009 de visualización también puede actuar como el dispositivo de entrada de usuario si se trata de un dispositivo de visualización sensible al tacto. La interfaz 1010 de salida también puede entregar datos a dispositivos diferentes del dispositivo de visualización, como, por ejemplo, a un dispositivo de impresión conectado de manera local.
En algunos ejemplos, los dispositivos 1005, 1007, 1008, 1009 pueden detectar entrada de voz, gestos de usuario u otras acciones de usuario y pueden proporcionar una interfaz natural de usuario (NUI, Natural User Interface). Esta entrada de usuario puede utilizarse para controlar un juego u otra aplicación. La interfaz 1010 de salida también puede entregar datos a dispositivos diferentes del dispositivo de visualización, como, por ejemplo, un dispositivo de impresión conectado de manera local.
La interfaz 1002 de entrada, la interfaz 1010 de salida, el dispositivo 1009 de visualización y opcionalmente los dispositivos 1005, 1007, 1008, 1009 de entrada de usuario pueden comprender tecnología n U i que permite a un usuario interactuar con el dispositivo basado en ordenador de una manera natural, libre de restricciones artificiales impuestas por dispositivos de entrada tales como ratones, teclados, mandos a distancia y dispositivos similares. Ejemplos de tecnología NUI que pueden proporcionarse incluyen, pero no están limitados a, aquellas que se basan en reconocimiento de voz y/o de habla, de tacto y/o lápiz electrónico (en pantallas de visualización táctiles), de gestos tanto en pantalla como en alguna ubicación adyacente a la pantalla, de gestos aéreos, de seguimiento de cabeza y ojo, de voz y habla, de visión, de tacto, de gestos, y de inteligencia de máquina. Otros ejemplos de tecnología NUI que puede utilizarse incluyen sistemas de comprensión de intención y objetivo, sistemas de detección de gestos de movimiento que utilizan cámaras de profundidad (tales como sistemas de cámara estereoscópica, sistemas de cámara infrarroja, sistemas de cámara RGB y combinaciones de los mismos), sistemas de detección de gestos de movimiento que utilizan acelerómetros/giróscopos, reconocimiento facial, pantallas de visualización tridimensional, seguimiento de cabeza, ojo y mirada, sistemas de realidad aumentada inmersiva y de realidad virtual y tecnologías para detectar actividad cerebral que utilizan electrodos de detección de campo eléctrico (EEG y métodos relacionados).
Pueden proporcionarse instrucciones ejecutables por ordenador utilizando cualquier medio legible por un ordenador al que pueda acceder el dispositivo 1004 basado en ordenador. Los medios legibles por un ordenador pueden incluir, por ejemplo, medios de almacenamiento computacional tales como una memoria 1012 y medios de comunicación. Los medios de almacenamiento computacional, tales como la memoria 1012, incluyen medios volátiles y no volátiles, retirables y no retirables, implementados mediante cualquier método o tecnología para el almacenamiento de información tal como instrucciones legibles por un ordenador, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento computacional incluyen, pero no están limitados a, memorias RAM, ROM, EPROM, EEPROM, flash u otras tecnologías de memoria, CD-ROM, Disco Versátil Digital (DVD, Digital Versatile Disk) u otros almacenamientos ópticos, casetes magnéticos, cintas magnéticas, almacenamientos en disco magnético u otros dispositivos de almacenamiento magnéticos, u otro medio de no transmisión cualquiera que pueda utilizarse para almacenar información a la que pueda acceder un dispositivo computacional.
Por el contrario, los medios de comunicación pueden incorporar instrucciones legibles por un ordenador, estructuras de datos módulos de programa, u otros datos en una señal de datos modulada, tal como una onda portadora, u otro mecanismo de transporte. Tal como se definen en la presente memoria, los medios de almacenamiento computacional no incluyen medios de comunicación. Por lo tanto, un medio de almacenamiento computacional no debería ser interpretado como una señal que se propaga per se. Las señales que se propagan pueden estar presentes en un medio de almacenamiento computacional, pero las señales que se propagan per se no son ejemplos de medios de almacenamiento computacional. Aunque los medios de almacenamiento computacional (memoria 1012) se muestran dentro del dispositivo 1004 basado en ordenador, se apreciará que el almacenamiento puede estar distribuido o puede ser local en un lugar remoto y se puede acceder a él a través de una red o de otro enlace de comunicación (por ejemplo, utilizando la interfaz 1013 de comunicación).
El dispositivo 1004 basado en ordenador también comprende un procesador 1000 o más de uno que puede estar constituido por microprocesadores, controladores u otro tipo de procesadores apropiados para procesar instrucciones de procesamiento ejecutables por ordenador para controlar el funcionamiento del dispositivo con el fin de proporcionar seguimiento de cámara en tiempo real. En algunos ejemplos, por ejemplo cuando se utiliza arquitectura de “sistema en un chip”, los procesadores 1000 pueden incluir un bloque funcional fijo o más de uno (a los que también se hace referencia como aceleradores) que implementan una parte del método de seguimiento de cámara en tiempo real en hardware (en lugar de en software o en firmware).
Una plataforma software que comprende un sistema 1014 operativo o cualquier otra plataforma de software apropiada puede proporcionarse en el dispositivo basado en ordenador para permitir que la aplicación 1016 de software se ejecute en el dispositivo. Otro software que puede ejecutarse en el dispositivo 1004 de computación comprende: un estimador 1018 de pose de cámara/objeto que comprende un motor de inferencia de pose. También puede proporcionarse un sistema de regresión de máquina de soporte vectorial entrenado y/o un sistema de regresión entrenado basado en procesos Gaussianos. Se proporciona un almacenamiento 1020 de datos para almacenar datos tales como imágenes recibidas con anterioridad, estimaciones de pose de cámara, estimaciones de pose de objeto, parámetros de registro de bosques de decisión aleatorios entrenados, parámetros de usuario configurables, otros parámetros, modelos tridimensionales de escenas, información del estado de juegos, metadatos de juegos, datos de mapas y otros datos.
El término “ordenador” o “dispositivo basado en ordenador” o “dispositivo de computación” se utiliza en la presente memoria para hacer referencia a cualquier dispositivo con capacidad de procesamiento de tal manera que pueda ejecutar instrucciones. Aquellas personas expertas en la técnica comprenderán que dichas capacidades de procesamiento están incorporadas en muchos dispositivos diferentes y, por lo tanto, los términos “ordenador” y “dispositivo basado en ordenador” o “dispositivo de computación” incluyen, cada uno de ellos, PCs, servidores, teléfonos móviles (incluyendo teléfonos móviles inteligentes), tabletas, módulos de conexión, reproductores multimedia, consolas de juegos, asistentes digitales personales y muchos otros dispositivos.
Los métodos descritos en la presente memoria pueden llevarse a cabo mediante software en forma legible por una máquina en un medio de almacenamiento tangible, como, por ejemplo, en forma de un programa computacional que comprende un medio de código de programa computacional adaptado para llevar a cabo todos los pasos de cualquiera de los métodos descritos en la presente memoria cuando se hace funcionar el programa en un ordenador y en donde el programa computacional puede estar incorporado en un medio legible por ordenador. Ejemplos de medios de almacenamiento tangibles incluyen dispositivos de almacenamiento computacional que comprenden medios legibles por un ordenador tales como discos, llaves USB, memorias, etc., y no incluyen señales propagadas. Las señales propagadas pueden estar presentes en un medio de almacenamiento tangible, pero las señales propagadas per se no son ejemplos de medios de almacenamiento tangibles. El software puede ser apropiado para ser ejecutado en un procesador paralelo o en un procesador serie de tal manera que los pasos del método pueden llevarse a cabo en cualquier orden apropiado, o de manera simultánea.
Esto reconoce que el software puede constituir una mercancía valiosa, comercializare de manera separada. Se pretende incluir el software, que se ejecuta en hardware estándar o “no inteligente” o lo controla, para llevar a cabo las funciones deseadas. También se pretende incluir el software que “describe” o define la configuración del hardware, tal como software HDL (Lenguaje de Descripción de Hardware, Hardware Description Language), tal como se utiliza para diseñar chips de silicio, o para configurar chips programables universalmente, para llevar a cabo funciones deseadas.
Aquellas personas expertas en la técnica apreciarán que los dispositivos de almacenamiento utilizados para almacenar instrucciones de programa pueden estar distribuidos a lo largo de una red. Por ejemplo, un ordenador remoto puede almacenar un ejemplo del proceso descrito como software. Un ordenador local o terminal puede acceder al ordenador remoto y descargar todo el software o una parte del mismo para hacer funcionar un programa. De manera alternativa, el ordenador local puede descargar piezas del software tal como se necesite, o ejecutar algunas instrucciones de software en el terminal local y algunas otras en el ordenador remoto (o en la red de ordenadores). Aquellas personas expertas en la técnica también comprenderán que, al utilizar técnicas convencionales conocidas por aquellas personas expertas en la técnica, todas las instrucciones de software, o una parte de las mismas, pueden ejecutarse mediante un circuito dedicado, tal como un DSP, un dispositivo lógico programable, o un dispositivo similar.
Cualquier intervalo o valor de dispositivo ofrecido en la presente memoria puede extenderse o alterarse sin perder el efecto buscado, tal como apreciará la persona experta.
Aunque la materia de la invención se ha descrito en un lenguaje específico correspondiente a características estructurales y/o actos metodológicos, debe entenderse que la materia de la invención definida en las reivindicaciones anexas no está limitada necesariamente a las características o actos específicos descritos anteriormente. Por el contrario, las características y los actos específicos descritos anteriormente se describen como formas de ejemplo de implementación de las reivindicaciones.
Debe comprenderse que los beneficios y las ventajas descritas anteriormente pueden estar relacionadas con una realización o pueden estar relacionadas con varias realizaciones. Las realizaciones no están limitadas a aquellas que resuelven todos los problemas presentados o algunos de ellos o a aquellas que presentan todos los beneficios y ventajas o algunos de ellos. Se comprenderá adicionalmente que una referencia a “un” elemento hace referencia a uno de esos elementos o a más de uno.
Los pasos de los métodos descritos en la presente memoria pueden llevarse a cabo en cualquier orden apropiado, o de manera simultánea cuando resulte apropiado. Adicionalmente, pueden eliminarse bloques individuales de cualquiera de los métodos sin apartarse del espíritu y del alcance de la materia de la invención descrita en la presente memoria. Pueden combinarse aspectos de cualquiera de los ejemplos descritos anteriormente con aspectos de cualesquiera de los otros ejemplos descritos para formar ejemplos adicionales sin perder el efecto buscado.
El término “comprende” se utiliza en la presente memoria para significar la inclusión de los bloques o elementos de métodos identificados, pero tales bloques o elementos no comprenden una lista exclusiva y un método o un aparato puede contener bloques o elementos adicionales.
Se comprenderá que la descripción anterior se ofrece a modo de ejemplo solamente y que pueden llevarse a cabo diversas modificaciones por parte de aquellas personas expertas en la técnica. La especificación, los ejemplos y los datos anteriores proporcionan una descripción completa de la estructura y el uso de realizaciones a modo de ejemplo. Aunque se han descrito varias realizaciones con un cierto grado de particularidad, o haciendo referencia a una realización individual o a más de una, aquellas personas expertas en la técnica pueden llevar a cabo numerosas alteraciones en las realizaciones descritas sin separarse del espíritu o del alcance de este documento.

Claims (12)

REIVINDICACIONES
1. - Un método para calcular pose que comprende:
recibir, en un procesador, al menos una imagen (118), en donde la imagen (118): bien corresponde a un objeto y está capturada por una cámara fija, o bien corresponde a una escena capturada por una cámara (112) móvil en la escena (116);
utilizar el procesador para hacer pasar los elementos de imagen de la al menos una imagen (118) seleccionados de manera aleatoria a través de un sistema de aprendizaje automático entrenado, que comprende un árbol de decisión o más de uno en donde cada uno de ellos posee un nodo raíz, una pluralidad de nodos de decisión y una pluralidad de nodos terminales, en donde cada elemento de imagen seleccionado es hecho pasar desde el nodo raíz hasta un nodo terminal en un proceso en el que se toma una decisión en cada nodo de decisión de acuerdo con características del elemento de imagen seleccionado y características de elementos de imagen de test de la imagen desplazados del elemento de imagen seleccionado mediante desplazamientos (offsets) espaciales especificados por parámetros en el nodo de decisión, para obtener, desde los nodos terminales alcanzados por los elementos de imagen seleccionados, una pluralidad de asociaciones entre los elementos de imagen seleccionados y puntos bien en coordenadas de entidad o bien en coordenadas de escena, en donde las coordenadas de entidad son coordenadas de objeto o coordenadas de cámara móvil, en donde el sistema de aprendizaje automático ha sido entrenado utilizando imágenes con elementos de imagen individuales etiquetados bien con un punto expresado en coordenadas de escena o bien con un punto expresado en coordenadas de objeto; y
calcular la pose del objeto o de la cámara móvil a partir de las asociaciones mediante la optimización de una función de energía utilizando un proceso iterativo para buscar entre posibles candidatos a pose de cámara, en donde un candidato a pose de cámara se calcula a partir de al menos dos de las asociaciones.
2. - Un método tal como se reivindica en la reivindicación 1, en donde el sistema de aprendizaje automático ha sido entrenado utilizando imágenes en las que cada elemento de imagen individual está etiquetado.
3. - Un método tal como se reivindica en la reivindicación 1, en donde la pose de la cámara se calcula utilizando la al menos una imagen (118) capturada por la cámara móvil.
4. - Un método tal como se reivindica en la reivindicación 1, en donde la pose del objeto se calcula utilizando la al menos una imagen (118) capturada por una cámara fija.
5. - Un método tal como se reivindica en la reivindicación 3 o en la reivindicación 4, que comprende calcular las poses como parámetros que tienen seis grados de libertad, tres que indican la rotación del objeto o de la cámara móvil y tres que indican la posición del objeto o de la cámara móvil.
6. - Un método tal como se reivindica en la reivindicación 1, en donde el sistema de aprendizaje automático comprende una pluralidad de bosques aleatorios entrenados y el método comprende aplicar el elemento de imagen de la al menos una imagen (118) a la pluralidad de bosques aleatorios entrenados, en donde cada bosque aleatorio ha sido entrenado utilizando imágenes de una escena diferente de una pluralidad de escenas, y calcular en cuál de las escenas estaba la cámara (112) móvil cuando se capturó la al menos una imagen.
7. - Un método tal como se reivindica en la reivindicación 1, en donde el sistema de aprendizaje automático ha sido entrenado utilizando imágenes de una pluralidad de escenas con elementos de imagen etiquetados con identificadores de escena y etiquetados con coordenadas de escena de puntos en la escena que representan los elementos de imagen.
8. - Un método tal como se reivindica en la reivindicación 1, que comprende aplicar solamente una sub-muestra de los elementos de imagen de la al menos una imagen (118) al sistema de aprendizaje automático entrenado.
9. - Un método tal como se reivindica en la reivindicación 1, que comprende calcular la pose mediante la búsqueda en un conjunto de posibles candidatos a pose y utilizar muestras de asociaciones entre elementos de imagen y puntos para evaluar los candidatos a pose.
10. - Un estimador (100) de pose que comprende:
un procesador dispuesto para recibir al menos una imagen (118) bien de un objeto capturado por una cámara fija, o bien de una escena (116) capturada por una cámara (112) móvil;
en donde el procesador está dispuesto para aplicar elementos de imagen seleccionados de manera aleatoria de la al menos una imagen (118) a un sistema de aprendizaje automático entrenado, que comprende un árbol de decisión o más de uno, en donde cada uno de ellos posee un nodo raíz, una pluralidad de nodos de decisión y una pluralidad de nodos terminales, en donde cada elemento de imagen seleccionado es hecho pasar desde el nodo raíz hasta un nodo terminal en un proceso en el que se toma una decisión en cada nodo de decisión de acuerdo con características del elemento de imagen seleccionado y características de elementos de imagen de test de la imagen desplazados del elemento de imagen seleccionado mediante desplazamientos (offsets) espaciales especificados por parámetros en el nodo de decisión, para obtener, desde los nodos terminales alcanzados por los elementos de imagen seleccionados, una pluralidad de asociaciones entre los elementos de imagen seleccionados y puntos bien en coordenadas de entidad o bien en coordenadas de escena, en donde las coordenadas de entidad son coordenadas de objeto o coordenadas de cámara móvil, en donde el sistema de aprendizaje automático ha sido entrenado utilizando imágenes con elementos de imagen individuales etiquetados bien con un punto expresado en coordenadas de escena o bien con un punto expresado en coordenadas de objeto; y
un motor de inferencia de pose dispuesto para calcular una posición y una orientación bien del objeto o bien de la cámara (112) móvil a partir de las asociaciones mediante la optimización de una función de energía utilizando un proceso iterativo para buscar entre posibles candidatos a pose de cámara, en donde un candidato a pose de cámara se calcula a partir de al menos dos de las asociaciones.
11. - Un estimador (100) de pose tal como se reivindica en la reivindicación 10, en donde el procesador está dispuesto para aplicar solamente una sub-muestra de los elementos de imagen de la al menos una imagen (118) al sistema de aprendizaje automático entrenado.
12. - Un programa de ordenador que comprende instrucciones que, cuando se ejecutan en un ordenador, implementan el método de una cualquiera de las reivindicaciones 1 a 9.
ES14709030T 2013-02-22 2014-02-18 Método y dispositivo para calcular la pose de una cámara u objeto Active ES2698574T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/774,145 US9940553B2 (en) 2013-02-22 2013-02-22 Camera/object pose from predicted coordinates
PCT/US2014/016749 WO2014130404A1 (en) 2013-02-22 2014-02-18 Method and device for calculating a camera or object pose

Publications (1)

Publication Number Publication Date
ES2698574T3 true ES2698574T3 (es) 2019-02-05

Family

ID=50239978

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14709030T Active ES2698574T3 (es) 2013-02-22 2014-02-18 Método y dispositivo para calcular la pose de una cámara u objeto

Country Status (5)

Country Link
US (2) US9940553B2 (es)
EP (1) EP2959431B1 (es)
CN (1) CN105144196B (es)
ES (1) ES2698574T3 (es)
WO (1) WO2014130404A1 (es)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9956687B2 (en) 2013-03-04 2018-05-01 Microsoft Technology Licensing, Llc Adapting robot behavior based upon human-robot interaction
US9922437B1 (en) 2013-03-15 2018-03-20 William S. Baron Process for creating an augmented image
US20160086334A1 (en) * 2013-03-26 2016-03-24 Nokia Technologies Oy A method and apparatus for estimating a pose of an imaging device
US9449392B2 (en) * 2013-06-05 2016-09-20 Samsung Electronics Co., Ltd. Estimator training method and pose estimating method using depth image
US9710960B2 (en) 2014-12-04 2017-07-18 Vangogh Imaging, Inc. Closed-form 3D model generation of non-rigid complex objects from incomplete and noisy scans
CN104850120B (zh) * 2015-03-19 2017-11-10 武汉科技大学 基于ihdr自主学习框架的轮式移动机器人导航方法
US20160358382A1 (en) * 2015-06-04 2016-12-08 Vangogh Imaging, Inc. Augmented Reality Using 3D Depth Sensor and 3D Projection
US9558424B2 (en) 2015-06-30 2017-01-31 Mitsubishi Electric Research Laboratories, Inc. On-road stereo visual odometry without explicit pose determinations
US10169917B2 (en) 2015-08-20 2019-01-01 Microsoft Technology Licensing, Llc Augmented reality
US20170054815A1 (en) * 2015-08-20 2017-02-23 Microsoft Technology Licensing, Llc Asynchronous Session via a User Device
US10235808B2 (en) 2015-08-20 2019-03-19 Microsoft Technology Licensing, Llc Communication system
US10404962B2 (en) * 2015-09-24 2019-09-03 Intel Corporation Drift correction for camera tracking
CN105988583A (zh) * 2015-11-18 2016-10-05 乐视致新电子科技(天津)有限公司 手势控制方法及虚拟现实显示输出设备
US10068385B2 (en) * 2015-12-15 2018-09-04 Intel Corporation Generation of synthetic 3-dimensional object images for recognition systems
WO2017120767A1 (zh) * 2016-01-12 2017-07-20 深圳多哚新技术有限责任公司 一种头部姿态预测方法和装置
CN107204044B (zh) * 2016-03-17 2023-05-05 深圳多哚新技术有限责任公司 一种基于虚拟现实的画面显示方法及相关设备
WO2017197620A1 (en) 2016-05-19 2017-11-23 Intel Corporation Detection of humans in images using depth information
KR20190011722A (ko) * 2016-06-02 2019-02-07 인텔 코포레이션 심도 정보를 이용한 이미지에서의 사람의 방향 추정
CN106127741B (zh) * 2016-06-17 2019-01-15 西安电子科技大学 基于改良自然场景统计模型的无参考图像质量评价方法
FR3054347B1 (fr) * 2016-07-19 2019-08-23 Safran Procede et dispositif d'aide a la navigation d'un vehicule
US10593065B2 (en) * 2016-07-27 2020-03-17 Htc Corporation Method and device for camera pose estimation
CN106407408B (zh) * 2016-09-22 2019-08-16 北京数字绿土科技有限公司 一种海量点云数据的空间索引构建方法及装置
CN106408578A (zh) * 2016-09-22 2017-02-15 北京数字绿土科技有限公司 一种单木分割方法及装置
US10380762B2 (en) 2016-10-07 2019-08-13 Vangogh Imaging, Inc. Real-time remote collaboration and virtual presence using simultaneous localization and mapping to construct a 3D model and update a scene based on sparse data
JP2018067115A (ja) * 2016-10-19 2018-04-26 セイコーエプソン株式会社 プログラム、追跡方法、追跡装置
US10235771B2 (en) 2016-11-11 2019-03-19 Qualcomm Incorporated Methods and systems of performing object pose estimation
US10452133B2 (en) * 2016-12-12 2019-10-22 Microsoft Technology Licensing, Llc Interacting with an environment using a parent device and at least one companion device
US10282861B2 (en) 2016-12-12 2019-05-07 Here Global B.V. Pose error estimation and localization using static features
US11132816B2 (en) * 2016-12-21 2021-09-28 Intel Corporation Large scale CNN regression based localization via two-dimensional map
US11538591B2 (en) 2017-03-10 2022-12-27 Altair Engineering, Inc. Training and refining fluid models using disparate and aggregated machine data
US10977397B2 (en) 2017-03-10 2021-04-13 Altair Engineering, Inc. Optimization of prototype and machine design within a 3D fluid modeling environment
US10409950B2 (en) * 2017-03-10 2019-09-10 General Electric Company Systems and methods for utilizing a 3D CAD point-cloud to automatically create a fluid model
FR3065098A1 (fr) * 2017-04-05 2018-10-12 Stmicroelectronics (Rousset) Sas Procede de detection en temps reel d'une scene par un appareil, par exemple un appareil de communication sans fil, et appareil correspondant
US10319151B2 (en) 2017-07-07 2019-06-11 Motorola Solutions, Inc. Device and method for hierarchical object recognition
US10416681B2 (en) 2017-07-12 2019-09-17 Mitsubishi Electric Research Laboratories, Inc. Barcode: global binary patterns for fast visual inference
US10691747B2 (en) * 2017-11-16 2020-06-23 Google Llc Association of data items and objects
US10839585B2 (en) 2018-01-05 2020-11-17 Vangogh Imaging, Inc. 4D hologram: real-time remote avatar creation and animation control
WO2019153245A1 (en) * 2018-02-09 2019-08-15 Baidu.Com Times Technology (Beijing) Co., Ltd. Systems and methods for deep localization and segmentation with 3d semantic map
CN108416840B (zh) * 2018-03-14 2020-02-18 大连理工大学 一种基于单目相机的三维场景稠密重建方法
US11080540B2 (en) 2018-03-20 2021-08-03 Vangogh Imaging, Inc. 3D vision processing using an IP block
CN108648821B (zh) * 2018-03-21 2020-12-01 北京理工大学 面向穿刺手术机器人的智能手术决策系统及其应用方法
CN108549484B (zh) * 2018-03-29 2019-09-20 北京微播视界科技有限公司 基于人体动态姿态的人机交互方法和装置
US10810783B2 (en) 2018-04-03 2020-10-20 Vangogh Imaging, Inc. Dynamic real-time texture alignment for 3D models
CN110555883B (zh) * 2018-04-27 2022-07-22 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置及存储介质
US20210118166A1 (en) * 2019-10-18 2021-04-22 Nvidia Corporation Pose determination using one or more neural networks
US11521326B2 (en) 2018-05-23 2022-12-06 Prove Labs, Inc. Systems and methods for monitoring and evaluating body movement
US11170224B2 (en) 2018-05-25 2021-11-09 Vangogh Imaging, Inc. Keyframe-based object scanning and tracking
EP3574828B8 (en) * 2018-05-28 2020-12-30 Kaia Health Software GmbH Monitoring the performance of physical exercises
US20200020117A1 (en) * 2018-07-16 2020-01-16 Ford Global Technologies, Llc Pose estimation
US11113823B2 (en) * 2018-10-01 2021-09-07 Seiko Epson Corporation Three-dimensional detection and tracking pipline recommendation using performance prediction
CN109446973B (zh) * 2018-10-24 2021-01-22 中车株洲电力机车研究所有限公司 一种基于深度神经网络图像识别的车辆定位方法
CN113168509A (zh) * 2018-11-15 2021-07-23 高通股份有限公司 通过球体回归的n-球体上的坐标估计
CN109544629B (zh) * 2018-11-29 2021-03-23 南京人工智能高等研究院有限公司 摄像头位姿确定方法和装置以及电子设备
CN109697734B (zh) * 2018-12-25 2021-03-09 浙江商汤科技开发有限公司 位姿估计方法及装置、电子设备和存储介质
CN109785388B (zh) * 2018-12-28 2023-04-18 东南大学 一种基于双目摄像头的短距离精确相对定位方法
US10957074B2 (en) 2019-01-29 2021-03-23 Microsoft Technology Licensing, Llc Calibrating cameras using human skeleton
EP3690822A1 (en) * 2019-01-30 2020-08-05 Koninklijke Philips N.V. Image representation of a scene
US10776993B1 (en) * 2019-02-27 2020-09-15 Snap Inc. Continuous device pose representation in AR/VR displays
US11232633B2 (en) 2019-05-06 2022-01-25 Vangogh Imaging, Inc. 3D object capture and object reconstruction using edge cloud computing resources
US11170552B2 (en) 2019-05-06 2021-11-09 Vangogh Imaging, Inc. Remote visualization of three-dimensional (3D) animation with synchronized voice in real-time
DE102019206444A1 (de) * 2019-05-06 2020-11-12 Kuka Deutschland Gmbh Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera
JP7262312B2 (ja) * 2019-06-04 2023-04-21 三菱電機株式会社 移動体識別装置、移動体識別方法及びプログラム
CN110400349B (zh) * 2019-07-03 2022-04-15 成都理工大学 基于随机森林的小场景下机器人导航跟踪恢复方法
US11113526B2 (en) * 2019-07-23 2021-09-07 Toyota Research Institute, Inc. Training methods for deep networks
CN114402364A (zh) * 2019-09-13 2022-04-26 谷歌有限责任公司 使用随机森林的3d对象检测
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
CN110930452B (zh) * 2019-10-23 2023-05-02 同济大学 一种基于自监督学习与模板匹配的物体位姿估计方法
US11335063B2 (en) 2020-01-03 2022-05-17 Vangogh Imaging, Inc. Multiple maps for 3D object scanning and reconstruction
US11417011B2 (en) * 2020-02-11 2022-08-16 Nvidia Corporation 3D human body pose estimation using a model trained from unlabeled multi-view data
CN111931674B (zh) * 2020-08-18 2024-04-02 创新奇智(成都)科技有限公司 物品识别管理方法、装置、服务器及可读存储介质
CN112229323B (zh) * 2020-09-29 2022-07-05 华南农业大学 基于手机单目视觉的棋盘格合作目标的六自由度测量方法及其应用
CN112598728B (zh) * 2020-12-23 2024-02-13 极米科技股份有限公司 投影仪姿态估计、梯形校正方法、装置、投影仪及介质
DE102021101439A1 (de) * 2021-01-22 2022-07-28 Carl Zeiss Microscopy Gmbh Mikroskopiesystem und verfahren zur rotationsüberprüfung einer mikroskopkamera
CN112927353B (zh) * 2021-02-25 2023-05-19 电子科技大学 基于二维目标检测和模型对齐的三维场景重建方法、存储介质及终端
EP4330919A2 (en) * 2021-04-30 2024-03-06 Farm-NG Inc. Real time localization with image data
US20230114376A1 (en) * 2021-10-08 2023-04-13 Sanctuary Cognitive Systems Corporation Systems, robots, and methods for selecting classifiers based on context
CN114613002B (zh) * 2022-02-22 2023-06-27 北京理工大学 基于光线投影原理的运动视角下动态物体检测方法及系统
US11908072B2 (en) * 2022-03-31 2024-02-20 Tooliqa Inc. System and method for generating and interacting with a virtual model of a physical entity
CN117036474B (zh) * 2023-08-08 2024-10-25 天津大学 一种面向微观尺度的主动相机重定位方法

Family Cites Families (424)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5911309B2 (ja) 1978-03-03 1984-03-14 日本ビクター株式会社 カラ−テレビジヨン信号発生装置
US4288078A (en) 1979-11-20 1981-09-08 Lugo Julio I Game apparatus
US4695953A (en) 1983-08-25 1987-09-22 Blair Preston E TV animation interactively controlled by the viewer
US4630910A (en) 1984-02-16 1986-12-23 Robotic Vision Systems, Inc. Method of measuring in three-dimensions at high speed
US4627620A (en) 1984-12-26 1986-12-09 Yang John P Electronic athlete trainer for improving skills in reflex, speed and accuracy
US4645458A (en) 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4702475A (en) 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4711543A (en) 1986-04-14 1987-12-08 Blair Preston E TV animation interactively controlled by the viewer
US4796997A (en) 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US5239463A (en) 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
US5239464A (en) 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US4901362A (en) 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5469740A (en) 1989-07-14 1995-11-28 Impulse Technology, Inc. Interactive video testing and training system
JPH03103822U (es) 1990-02-13 1991-10-29
US5101444A (en) 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5148154A (en) 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5534917A (en) 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5417210A (en) 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US6054991A (en) 1991-12-02 2000-04-25 Texas Instruments Incorporated Method of modeling player position and movement in a virtual reality system
WO1993010708A1 (en) 1991-12-03 1993-06-10 French Sportech Corporation Interactive video testing and training system
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5644689A (en) 1992-01-13 1997-07-01 Hitachi, Ltd. Arbitrary viewpoint three-dimensional imaging method using compressed voxel data constructed by a directed search of voxel data representing an image of an object and an arbitrary viewpoint
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US5320538A (en) 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
IT1257294B (it) 1992-11-20 1996-01-12 Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori.
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US5690582A (en) 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
JP2799126B2 (ja) 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5980256A (en) 1993-10-29 1999-11-09 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
JP3419050B2 (ja) 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (ja) 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5597309A (en) 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
JPH0844490A (ja) 1994-07-28 1996-02-16 Matsushita Electric Ind Co Ltd インターフェイス装置
US5563988A (en) 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US6714665B1 (en) 1994-09-02 2004-03-30 Sarnoff Corporation Fully automated iris recognition system utilizing wide and narrow fields of view
US5516105A (en) 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
JPH08161292A (ja) 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd 混雑度検知方法およびそのシステム
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5729471A (en) 1995-03-31 1998-03-17 The Regents Of The University Of California Machine dynamic selection of one video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene
US5699444A (en) 1995-03-31 1997-12-16 Synthonics Incorporated Methods and apparatus for using image data to determine camera location and orientation
US5682229A (en) 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
JP3481631B2 (ja) 1995-06-07 2003-12-22 ザ トラスティース オブ コロンビア ユニヴァーシティー イン ザ シティー オブ ニューヨーク 能動型照明及びデフォーカスに起因する画像中の相対的なぼけを用いる物体の3次元形状を決定する装置及び方法
US5682196A (en) 1995-06-22 1997-10-28 Actv, Inc. Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers
IL114278A (en) 1995-06-22 2010-06-16 Microsoft Internat Holdings B Camera and method
CN1101056C (zh) 1995-06-22 2003-02-05 3Dv系统有限公司 生成距景物距离的图象的方法和装置
US5852672A (en) 1995-07-10 1998-12-22 The Regents Of The University Of California Image system for three dimensional, 360 DEGREE, time sequence surface mapping of moving objects
US5702323A (en) 1995-07-26 1997-12-30 Poulton; Craig K. Electronic exercise enhancer
US6073489A (en) 1995-11-06 2000-06-13 French; Barry J. Testing and training system for assessing the ability of a player to complete a task
US6430997B1 (en) 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6308565B1 (en) 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
US6098458A (en) 1995-11-06 2000-08-08 Impulse Technology, Ltd. Testing and training system for assessing movement and agility skills without a confining field
WO1999044698A2 (en) 1998-03-03 1999-09-10 Arena, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6176782B1 (en) 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US5696591A (en) 1996-01-05 1997-12-09 Eastman Kodak Company Apparatus and method for detecting longitudinally oriented flaws in a moving web
US5641288A (en) 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
US5801717A (en) 1996-04-25 1998-09-01 Microsoft Corporation Method and system in display device interface for managing surface memory
CA2253626A1 (en) 1996-05-08 1997-11-13 Real Vision Corporation Real time simulation using position sensing
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US6084979A (en) 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
US5930392A (en) * 1996-07-12 1999-07-27 Lucent Technologies Inc. Classification technique using random decision forests
US5989157A (en) 1996-08-06 1999-11-23 Walton; Charles A. Exercising system with electronic inertial game playing
CN1168057C (zh) 1996-08-14 2004-09-22 挪拉赫梅特·挪利斯拉莫维奇·拉都包夫 追踪并显示使用者在空间的位置与取向的方法,向使用者展示虚拟环境的方法以及实现这些方法的系统
US6009359A (en) 1996-09-18 1999-12-28 National Research Council Of Canada Mobile system for indoor 3-D mapping and creating virtual environments
JP3064928B2 (ja) 1996-09-20 2000-07-12 日本電気株式会社 被写体抽出方式
US7098435B2 (en) 1996-10-25 2006-08-29 Frederick E. Mueller Method and apparatus for scanning three-dimensional objects
US5864640A (en) 1996-10-25 1999-01-26 Wavework, Inc. Method and apparatus for optically scanning three dimensional objects using color information in trackable patches
EP0849697B1 (en) 1996-12-20 2003-02-12 Hitachi Europe Limited A hand gesture recognition system and method
GB9626825D0 (en) * 1996-12-24 1997-02-12 Crampton Stephen J Avatar kiosk
US6058205A (en) 1997-01-09 2000-05-02 International Business Machines Corporation System and method for partitioning the feature space of a classifier in a pattern classification system
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6100896A (en) 1997-03-24 2000-08-08 Mitsubishi Electric Information Technology Center America, Inc. System for designing graphical multi-participant environments
US5877803A (en) 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
US5930379A (en) 1997-06-16 1999-07-27 Digital Equipment Corporation Method for detecting human body motion in frames of a video sequence
US5926568A (en) 1997-06-30 1999-07-20 The University Of North Carolina At Chapel Hill Image object matching using core analysis and deformable shape loci
JP3077745B2 (ja) 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6188777B1 (en) 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6289112B1 (en) 1997-08-22 2001-09-11 International Business Machines Corporation System and method for determining block direction in fingerprint images
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
JP2001517782A (ja) 1997-09-24 2001-10-09 スリーディーヴィー システムズ リミテッド 音響画像形成システム
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
JP3114668B2 (ja) 1997-10-03 2000-12-04 日本電気株式会社 物体検出・背景除去方法、装置およびプログラムを記録した記録媒体
US6141463A (en) 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
WO1999019840A1 (en) 1997-10-15 1999-04-22 Electric Planet, Inc. A system and method for generating an animatable character
US6411744B1 (en) 1997-10-15 2002-06-25 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
US6130677A (en) 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6181343B1 (en) 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6094215A (en) 1998-01-06 2000-07-25 Intel Corporation Method of determining relative camera orientation position to create 3-D visual images
US6147764A (en) 1998-04-03 2000-11-14 Mitutoyo Corporation Of Kamiyokoba Optical interference profiler having shadow compensation
US6504569B1 (en) 1998-04-22 2003-01-07 Grass Valley (U.S.), Inc. 2-D extended image generation from 3-D data extracted from a video sequence
US6159100A (en) 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
EP2306228A1 (en) 1998-05-25 2011-04-06 Panasonic Corporation Range finder device and camera
US6077201A (en) 1998-06-12 2000-06-20 Cheng; Chau-Yang Exercise bicycle
US6963338B1 (en) * 1998-07-31 2005-11-08 Cognex Corporation Method for refining geometric description models using images
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
IL126284A (en) 1998-09-17 2002-12-01 Netmor Ltd System and method for three dimensional positioning and tracking
DE69936620T2 (de) 1998-09-28 2008-05-21 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zum Segmentieren von Handgebärden
JP3740865B2 (ja) 1998-10-08 2006-02-01 コニカミノルタホールディングス株式会社 多視点3次元データの合成方法および記録媒体
US6501515B1 (en) 1998-10-13 2002-12-31 Sony Corporation Remote control system
US6229918B1 (en) 1998-10-20 2001-05-08 Microsoft Corporation System and method for automatically detecting clusters of data points within a data space
AU1930700A (en) 1998-12-04 2000-06-26 Interval Research Corporation Background estimation and segmentation based on range and color
US6147678A (en) 1998-12-09 2000-11-14 Lucent Technologies Inc. Video hand image-three-dimensional computer interface with multiple degrees of freedom
AU1574899A (en) 1998-12-16 2000-07-03 3Dv Systems Ltd. Self gating photosurface
US6570555B1 (en) 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6299308B1 (en) 1999-04-02 2001-10-09 Cybernet Systems Corporation Low-cost non-imaging eye tracker system for computer control
DE50009995D1 (de) 1999-04-30 2005-05-12 Wagner Christoph Verfahren zur optischen formerfassung von gegenständen
US6614422B1 (en) 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US20040075738A1 (en) 1999-05-12 2004-04-22 Sean Burke Spherical surveillance system architecture
US6503195B1 (en) 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6873723B1 (en) 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7113918B1 (en) 1999-08-01 2006-09-26 Electric Planet, Inc. Method for video enabled electronic commerce
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
AU5646299A (en) 1999-09-08 2001-04-10 3Dv Systems Ltd. 3d imaging system
US6373487B1 (en) 1999-09-17 2002-04-16 Hewlett-Packard Company Methods and apparatus for constructing a 3D model of a scene from calibrated images of the scene
US6512838B1 (en) 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US6741756B1 (en) * 1999-09-30 2004-05-25 Microsoft Corp. System and method for estimating the orientation of an object
US6671049B1 (en) * 1999-10-29 2003-12-30 Cognex Corporation Article of manufacture bearing a universal alignment target
US7050177B2 (en) 2002-05-22 2006-05-23 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US20030132950A1 (en) 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
US6690618B2 (en) 2001-04-03 2004-02-10 Canesta, Inc. Method and apparatus for approximating a source position of a sound-causing event for determining an input used in operating an electronic device
US7006236B2 (en) 2002-05-22 2006-02-28 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US20050174473A1 (en) 1999-11-18 2005-08-11 Color Kinetics, Inc. Photography methods and systems
DE19960180B4 (de) 1999-12-14 2006-03-09 Rheinmetall W & M Gmbh Verfahren zur Herstellung eines Sprenggeschosses
US6674877B1 (en) 2000-02-03 2004-01-06 Microsoft Corporation System and method for visually tracking occluded objects in real time
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6633294B1 (en) 2000-03-09 2003-10-14 Seth Rosenthal Method and apparatus for using captured high density motion for animation
EP1152261A1 (en) 2000-04-28 2001-11-07 CSEM Centre Suisse d'Electronique et de Microtechnique SA Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves
US6640202B1 (en) 2000-05-25 2003-10-28 International Business Machines Corporation Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications
US6731799B1 (en) 2000-06-01 2004-05-04 University Of Washington Object segmentation with background extraction and moving boundary techniques
US6788809B1 (en) 2000-06-30 2004-09-07 Intel Corporation System and method for gesture recognition in three dimensions using stereo imaging and color vision
US20020024517A1 (en) 2000-07-14 2002-02-28 Komatsu Ltd. Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
EP1386276A2 (en) 2000-09-29 2004-02-04 Koninklijke Philips Electronics N.V. Method and system for extracting spine frontal geometrical data including vertebra pedicle locations
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US6587783B2 (en) 2000-10-05 2003-07-01 Siemens Corporate Research, Inc. Method and system for computer assisted localization, site navigation, and data navigation
JP3725460B2 (ja) 2000-10-06 2005-12-14 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
US7039676B1 (en) 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US6643533B2 (en) 2000-11-28 2003-11-04 Ge Medical Systems Global Technology Company, Llc Method and apparatus for displaying images of tubular structures
DE10100572A1 (de) 2001-01-09 2002-07-11 Philips Corp Intellectual Pty Verfahren zur Darstellung des Blutflusses in einem Gefäßbaum
US6735387B1 (en) 2001-01-10 2004-05-11 Tim Schnell Motion detector camera
US20040104935A1 (en) 2001-01-26 2004-06-03 Todd Williamson Virtual reality immersion system
US20020112024A1 (en) 2001-02-13 2002-08-15 Chang-Hwa Yang Scanner with direct data forwarding capacity
US7034818B2 (en) 2001-03-16 2006-04-25 Mitsubishi Electric Research Laboratories, Inc. System and method for converting range data to 3D models
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
CA2427695C (en) 2001-04-26 2012-12-11 Teijin Limited Method for measuring 3d joint structure
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
US8035612B2 (en) 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
GB2378337B (en) 2001-06-11 2005-04-13 Canon Kk 3D Computer modelling apparatus
AU2002315456A1 (en) 2001-06-22 2003-01-08 Canesta, Inc. Method and system to display a virtual input device
JP3420221B2 (ja) 2001-06-29 2003-06-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置及びプログラム
US6781618B2 (en) 2001-08-06 2004-08-24 Mitsubishi Electric Research Laboratories, Inc. Hand-held 3D vision system
US6940538B2 (en) 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
US7023432B2 (en) 2001-09-24 2006-04-04 Geomagic, Inc. Methods, apparatus and computer program products that reconstruct surfaces from data point sets
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
JP4115117B2 (ja) 2001-10-31 2008-07-09 キヤノン株式会社 情報処理装置および方法
AU2002362085A1 (en) 2001-12-07 2003-07-09 Canesta Inc. User interface for electronic devices
US6879709B2 (en) 2002-01-17 2005-04-12 International Business Machines Corporation System and method for automatically detecting neutral expressionless faces in digital images
US7039239B2 (en) 2002-02-07 2006-05-02 Eastman Kodak Company Method for image region classification using unsupervised and supervised learning
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
US7035431B2 (en) 2002-02-22 2006-04-25 Microsoft Corporation System and method for probabilistic exemplar-based pattern tracking
WO2003073359A2 (en) 2002-02-26 2003-09-04 Canesta, Inc. Method and apparatus for recognizing objects
US7310431B2 (en) 2002-04-10 2007-12-18 Canesta, Inc. Optical methods for remotely measuring objects
US7068291B1 (en) 2002-04-11 2006-06-27 Bellsouth Intellectual Property Corp. Video display screen segmentation
EP1497160B2 (de) 2002-04-19 2010-07-21 IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. Sicherheitsvorrichtung für ein fahrzeug
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
WO2004057439A2 (en) 2002-05-31 2004-07-08 University Of Utah Research Foundation System and method for visual annotation and knowledge representation
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
US7016884B2 (en) 2002-06-27 2006-03-21 Microsoft Corporation Probability estimate for K-nearest neighbor
US7646372B2 (en) 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
US7623115B2 (en) 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US7883415B2 (en) 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
US9474968B2 (en) 2002-07-27 2016-10-25 Sony Interactive Entertainment America Llc Method and system for applying gearing effects to visual tracking
US6974373B2 (en) 2002-08-02 2005-12-13 Geissler Technologies, Llc Apparatus and methods for the volumetric and dimensional measurement of livestock
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
US7774158B2 (en) 2002-12-17 2010-08-10 Evolution Robotics, Inc. Systems and methods for landmark generation for visual simultaneous localization and mapping
JP4235729B2 (ja) 2003-02-03 2009-03-11 国立大学法人静岡大学 距離画像センサ
US7162075B2 (en) 2003-03-10 2007-01-09 Cranial Technologies, Inc. Three-dimensional image capture system
EP1477924B1 (en) 2003-03-31 2007-05-02 HONDA MOTOR CO., Ltd. Gesture recognition apparatus, method and program
JP4355341B2 (ja) 2003-05-29 2009-10-28 本田技研工業株式会社 深度データを用いたビジュアルトラッキング
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
EP1631937B1 (en) 2003-06-12 2018-03-28 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
CN100416336C (zh) 2003-06-12 2008-09-03 美国西门子医疗解决公司 校准真实和虚拟视图
US7620218B2 (en) 2006-08-11 2009-11-17 Fotonation Ireland Limited Real-time face tracking with reference images
US7529394B2 (en) 2003-06-27 2009-05-05 Siemens Medical Solutions Usa, Inc. CAD (computer-aided decision) support for medical imaging using machine learning to adapt CAD process with knowledge collected during routine use of CAD system
WO2005022900A2 (en) 2003-08-26 2005-03-10 Redshift Systems Corporation Infrared camera system
CN1220877C (zh) 2003-09-12 2005-09-28 东华大学 织物平整度等级客观评定方法
US7874917B2 (en) 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
JP4130207B2 (ja) 2003-09-16 2008-08-06 富士通株式会社 画像処理表示装置および画像処理表示方法
US7366325B2 (en) 2003-10-09 2008-04-29 Honda Motor Co., Ltd. Moving object detection using low illumination depth capable computer vision
US7336296B2 (en) * 2003-10-10 2008-02-26 International Business Machines Corporation System and method for providing position-independent pose estimation
EP1677250B9 (en) * 2003-10-21 2012-10-24 NEC Corporation Image collation system and image collation method
WO2005041579A2 (en) 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
US20070276214A1 (en) 2003-11-26 2007-11-29 Dachille Frank C Systems and Methods for Automated Segmentation, Visualization and Analysis of Medical Images
US20050157207A1 (en) 2004-01-21 2005-07-21 Voss James S. Automatic selection of illumination source for hybrid digital cameras
JP2005242305A (ja) 2004-01-26 2005-09-08 Murata Mach Ltd 画像形成装置
US8134637B2 (en) 2004-01-28 2012-03-13 Microsoft Corporation Method and system to increase X-Y resolution in a depth (Z) camera using red, blue, green (RGB) sensing
JP3847753B2 (ja) 2004-01-30 2006-11-22 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
GB2411532B (en) 2004-02-11 2010-04-28 British Broadcasting Corp Position determination
JP4708422B2 (ja) 2004-04-15 2011-06-22 ジェスチャー テック,インコーポレイテッド 両手動作の追跡
US8144931B1 (en) * 2004-04-22 2012-03-27 Hartman Richard L Real time correlator system and method
US7831094B2 (en) 2004-04-27 2010-11-09 Honda Motor Co., Ltd. Simultaneous localization and mapping using multiple view feature descriptors
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US7697748B2 (en) 2004-07-06 2010-04-13 Dimsdale Engineering, Llc Method and apparatus for high resolution 3D imaging as a function of camera position, camera trajectory and range
JP3935499B2 (ja) 2004-07-26 2007-06-20 松下電器産業株式会社 画像処理方法、画像処理装置および画像処理プログラム
CA2575211C (en) 2004-07-30 2012-12-11 Euclid Discoveries, Llc Apparatus and method for processing video data
US7430339B2 (en) 2004-08-09 2008-09-30 Microsoft Corporation Border matting by dynamic programming
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
US7991220B2 (en) 2004-09-01 2011-08-02 Sony Computer Entertainment Inc. Augmented reality game system using identification information to display a virtual object in association with a position of a real object
WO2006034366A1 (en) 2004-09-21 2006-03-30 Siemens Medical Solutions Usa, Inc. Hierarchical medical image view determination
WO2006033360A1 (ja) 2004-09-21 2006-03-30 Nikon Corporation 携帯型情報機器
GB2418827B (en) 2004-09-28 2010-11-10 British Broadcasting Corp Method and system for providing a volumetric representation of a 3-Dimensional object
EP1645944B1 (en) 2004-10-05 2012-08-15 Sony France S.A. A content-management interface
GB0424417D0 (en) 2004-11-03 2004-12-08 Univ Heriot Watt 3D surface and reflectance function recovery using scanned illumination
US7574028B2 (en) 2004-11-23 2009-08-11 Carestream Health, Inc. Method for recognizing projection views of radiographs
JP4449723B2 (ja) 2004-12-08 2010-04-14 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
KR20060070280A (ko) 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
CN102831387B (zh) 2005-01-07 2016-12-14 高通股份有限公司 检测和跟踪图像中的物体
WO2006074310A2 (en) 2005-01-07 2006-07-13 Gesturetek, Inc. Creating 3d images of objects by illuminating with infrared patterns
EP1849123A2 (en) 2005-01-07 2007-10-31 GestureTek, Inc. Optical flow based tilt sensor
US7598942B2 (en) 2005-02-08 2009-10-06 Oblong Industries, Inc. System and method for gesture based control system
US8009871B2 (en) 2005-02-08 2011-08-30 Microsoft Corporation Method and system to segment depth images and to detect shapes in three-dimensionally acquired data
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
US20070053563A1 (en) 2005-03-09 2007-03-08 Zhuowen Tu Probabilistic boosting tree framework for learning discriminative models
KR100688743B1 (ko) 2005-03-11 2007-03-02 삼성전기주식회사 멀티 레이어 커패시터 내장형의 인쇄회로기판의 제조방법
WO2006099597A2 (en) 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
US7634123B2 (en) 2005-03-28 2009-12-15 Siemens Medical Solutions Usa, Inc. CT/MRI heart isolation using a graph cut algorithm
RU2007146172A (ru) 2005-05-17 2009-06-27 Гестуретэк, Инк. (Us) Вывод сигнала, чувствительный к ориентации
US7599840B2 (en) 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
ATE412882T1 (de) 2005-08-12 2008-11-15 Mesa Imaging Ag Hochempfindliches, schnelles pixel für anwendung in einem bildsensor
US20080026838A1 (en) 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
US7648460B2 (en) 2005-08-31 2010-01-19 Siemens Medical Solutions Usa, Inc. Medical diagnostic imaging optimization based on anatomy recognition
US7944454B2 (en) 2005-09-07 2011-05-17 Fuji Xerox Co., Ltd. System and method for user monitoring interface of 3-D video streams from multiple cameras
CN1738426A (zh) 2005-09-09 2006-02-22 南京大学 一种视频运动目标分割与跟踪方法
US7876938B2 (en) 2005-10-06 2011-01-25 Siemens Medical Solutions Usa, Inc. System and method for whole body landmark detection, segmentation and change quantification in digital images
JP4777433B2 (ja) 2005-10-27 2011-09-21 エヌイーシー ラボラトリーズ アメリカ インク ビデオ前景の分割方法
US7728839B2 (en) 2005-10-28 2010-06-01 Honda Motor Co., Ltd. Discriminative motion modeling for human motion tracking
US7450736B2 (en) 2005-10-28 2008-11-11 Honda Motor Co., Ltd. Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers
GB2431717A (en) 2005-10-31 2007-05-02 Sony Uk Ltd Scene analysis
US8094928B2 (en) 2005-11-14 2012-01-10 Microsoft Corporation Stereo video for gaming
US8401264B2 (en) 2005-12-08 2013-03-19 University Of Washington Solid modeling based on volumetric scans
US8577538B2 (en) 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
US20100260396A1 (en) 2005-12-30 2010-10-14 Achiezer Brandt integrated segmentation and classification approach applied to medical applications analysis
WO2008013568A2 (en) 2005-12-30 2008-01-31 Irobot Corporation Autonomous mobile robot
US20070188501A1 (en) 2006-01-30 2007-08-16 Yee Yangli H Graphical computer simulation system and method
WO2007096893A2 (en) 2006-02-27 2007-08-30 Prime Sense Ltd. Range mapping using speckle decorrelation
US8277315B2 (en) 2006-03-01 2012-10-02 Hybrid Learning Systems, Inc. Game simulation based on current events
US20070260492A1 (en) 2006-03-09 2007-11-08 Microsoft Corporation Master patient index
US7949186B2 (en) 2006-03-15 2011-05-24 Massachusetts Institute Of Technology Pyramid match kernel and related techniques
US20070229498A1 (en) 2006-03-29 2007-10-04 Wojciech Matusik Statistical modeling for synthesis of detailed facial geometry
WO2007130693A2 (en) 2006-05-07 2007-11-15 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
CN103778635B (zh) 2006-05-11 2016-09-28 苹果公司 用于处理数据的方法和装置
US7721207B2 (en) 2006-05-31 2010-05-18 Sony Ericsson Mobile Communications Ab Camera based control
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
DE102006048166A1 (de) 2006-08-02 2008-02-07 Daimler Ag Verfahren zur Beobachtung einer Person in einem industriellen Umfeld
US8411149B2 (en) 2006-08-03 2013-04-02 Alterface S.A. Method and device for identifying and extracting images of multiple users, and for recognizing user gestures
US9348463B2 (en) 2006-08-03 2016-05-24 New York University Retroreflection based multitouch sensor, method and program
DE102006037063A1 (de) 2006-08-08 2008-02-21 Siemens Ag Verfahren zur Erzeugung eines medizinischen Abbildes sowie Datenverarbeitungseinheit und Computersoftware hierzu
US7855732B2 (en) 2006-09-05 2010-12-21 Pc Connection, Inc. Hand producer for background separated images
US8395658B2 (en) 2006-09-07 2013-03-12 Sony Computer Entertainment Inc. Touch screen-like user interface that does not require actual touching
US7912288B2 (en) 2006-09-21 2011-03-22 Microsoft Corporation Object detection and recognition system
US7840059B2 (en) 2006-09-21 2010-11-23 Microsoft Corporation Object recognition using textons and shape filters
JP5395323B2 (ja) 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
JP4709723B2 (ja) 2006-10-27 2011-06-22 株式会社東芝 姿勢推定装置及びその方法
US8340398B2 (en) 2006-12-02 2012-12-25 Electronics And Telecommunications Research Institute Correlation extract method for generating 3D motion data, and motion capture system and method for easy composition of humanoid character on real background image using the same
US20080134102A1 (en) 2006-12-05 2008-06-05 Sony Ericsson Mobile Communications Ab Method and system for detecting movement of an object
JP4677046B2 (ja) 2006-12-06 2011-04-27 本田技研工業株式会社 多次元ブースト回帰を経た外観及び動作を使用する高速人間姿勢推定
US8351646B2 (en) 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
US7412077B2 (en) 2006-12-29 2008-08-12 Motorola, Inc. Apparatus and methods for head pose estimation and head gesture detection
US7707162B2 (en) 2007-01-08 2010-04-27 International Business Machines Corporation Method and apparatus for classifying multimedia artifacts using ontology selection and semantic classification
US7627447B2 (en) 2007-01-23 2009-12-01 The Boeing Company Method and apparatus for localizing and mapping the position of a set of points on a digital model
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US7729530B2 (en) 2007-03-03 2010-06-01 Sergey Antonov Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system
US7844106B2 (en) 2007-04-23 2010-11-30 Mitsubishi Electric Research Laboratories, Inc Method and system for determining poses of objects from range images using adaptive sampling of pose spaces
US8009880B2 (en) 2007-05-11 2011-08-30 Microsoft Corporation Recovering parameters from a sub-optimal image
JP5380789B2 (ja) 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20080310757A1 (en) 2007-06-15 2008-12-18 George Wolberg System and related methods for automatically aligning 2D images of a scene to a 3D model of the scene
US20080310677A1 (en) 2007-06-18 2008-12-18 Weismuller Thomas P Object detection system and method incorporating background clutter removal
US8103109B2 (en) 2007-06-19 2012-01-24 Microsoft Corporation Recognizing hand poses and/or object classes
US20090010507A1 (en) 2007-07-02 2009-01-08 Zheng Jason Geng System and method for generating a 3d model of anatomical structure using a plurality of 2d images
US8204128B2 (en) * 2007-08-01 2012-06-19 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Learning filters for enhancing the quality of block coded still and video images
US7957583B2 (en) * 2007-08-02 2011-06-07 Roboticvisiontech Llc System and method of three-dimensional pose estimation
US8514218B2 (en) 2007-08-14 2013-08-20 Siemens Aktiengesellschaft Image-based path planning for automated virtual colonoscopy navigation
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
US20090096807A1 (en) 2007-08-27 2009-04-16 Silverstein Jonathan C Systems and methods for image colorization
WO2009059065A1 (en) 2007-10-30 2009-05-07 Hewlett-Packard Development Company, L.P. Interactive display system with collaborative gesture detection
JP4561812B2 (ja) 2007-11-08 2010-10-13 トヨタ自動車株式会社 ハイブリッド車両の制御装置
US20090221368A1 (en) 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
GB2455316B (en) 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
US7925081B2 (en) 2007-12-12 2011-04-12 Fuji Xerox Co., Ltd. Systems and methods for human body pose estimation
US9165199B2 (en) 2007-12-21 2015-10-20 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
US9098766B2 (en) 2007-12-21 2015-08-04 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
US8149210B2 (en) 2007-12-31 2012-04-03 Microsoft International Holdings B.V. Pointing device and method
GB2458305B (en) 2008-03-13 2012-06-27 British Broadcasting Corp Providing a volumetric representation of an object
CN101257641A (zh) 2008-03-14 2008-09-03 清华大学 基于人机交互的平面视频转立体视频的方法
US8368753B2 (en) 2008-03-17 2013-02-05 Sony Computer Entertainment America Llc Controller with an integrated depth camera
US20090244097A1 (en) 2008-03-25 2009-10-01 Leonardo William Estevez System and Method for Providing Augmented Reality
US20090244059A1 (en) 2008-03-26 2009-10-01 Kulkarni Gaurav N System and method for automatically generating virtual world environments based upon existing physical environments
CN101254344B (zh) 2008-04-18 2010-06-16 李刚 场地方位与显示屏点阵按比例相对应的游戏装置和方法
WO2009131539A1 (en) 2008-04-22 2009-10-29 Agency For Science, Technology And Research A method and system for detecting and tracking hands in an image
US8077948B2 (en) 2008-05-06 2011-12-13 Carestream Health, Inc. Method for editing 3D image segmentation maps
US8442355B2 (en) 2008-05-23 2013-05-14 Samsung Electronics Co., Ltd. System and method for generating a multi-dimensional image
CN101377812B (zh) 2008-07-11 2010-05-12 北京航空航天大学 一种空间平面物体位姿识别方法
AU2009281762A1 (en) 2008-08-15 2010-02-18 Brown University Method and apparatus for estimating body shape
CN201254344Y (zh) 2008-08-20 2009-06-10 中国农业科学院草原研究所 植物标本及种子存贮器
US20100045701A1 (en) * 2008-08-22 2010-02-25 Cybernet Systems Corporation Automatic mapping of augmented reality fiducials
JP5094663B2 (ja) 2008-09-24 2012-12-12 キヤノン株式会社 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法
US9785858B2 (en) 2008-09-26 2017-10-10 Siemens Healthcare Gmbh Method and system for hierarchical parsing and semantic navigation of full body computed tomography data
US8848974B2 (en) 2008-09-29 2014-09-30 Restoration Robotics, Inc. Object-tracking systems and methods
US9245382B2 (en) 2008-10-04 2016-01-26 Microsoft Technology Licensing, Llc User-guided surface reconstruction
US8610706B2 (en) 2008-10-04 2013-12-17 Microsoft Corporation Parallel surface reconstruction
US8855819B2 (en) 2008-10-09 2014-10-07 Samsung Electronics Co., Ltd. Method and apparatus for simultaneous localization and mapping of robot
US9399167B2 (en) 2008-10-14 2016-07-26 Microsoft Technology Licensing, Llc Virtual space mapping of a variable activity region
US9600067B2 (en) 2008-10-27 2017-03-21 Sri International System and method for generating a mixed reality environment
KR101199492B1 (ko) 2008-12-22 2012-11-09 한국전자통신연구원 광역 이동을 고려한 실시간 카메라 트래킹 장치 및 방법
US8565476B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8295546B2 (en) 2009-01-30 2012-10-23 Microsoft Corporation Pose tracking pipeline
US20100195867A1 (en) 2009-01-30 2010-08-05 Microsoft Corporation Visual target tracking using model fitting and exemplar
US8565477B2 (en) 2009-01-30 2013-10-22 Microsoft Corporation Visual target tracking
US8624962B2 (en) 2009-02-02 2014-01-07 Ydreams—Informatica, S.A. Ydreams Systems and methods for simulating three-dimensional virtual interactions from two-dimensional camera images
US20100201808A1 (en) 2009-02-09 2010-08-12 Microsoft Corporation Camera based motion sensing system
CN102318352B (zh) 2009-02-17 2014-12-10 皇家飞利浦电子股份有限公司 组合3d图像和图形数据
EP2223650A1 (en) 2009-02-25 2010-09-01 The Provost, Fellows and Scholars of the College of the Holy and Undivided Trinity of Queen Elizabeth near Dublin Method and apparatus for imaging tissue topography
US8437537B2 (en) 2009-03-27 2013-05-07 Mitsubishi Electric Research Laboratories, Inc. Method and system for estimating 3D pose of specular objects
JP5388932B2 (ja) 2009-04-30 2014-01-15 キヤノン株式会社 情報処理装置およびその制御方法
US8638985B2 (en) * 2009-05-01 2014-01-28 Microsoft Corporation Human body pose estimation
US8660303B2 (en) 2009-05-01 2014-02-25 Microsoft Corporation Detection of body and props
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US9377857B2 (en) 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
US8340432B2 (en) 2009-05-01 2012-12-25 Microsoft Corporation Systems and methods for detecting a tilt angle from a depth image
US9417700B2 (en) 2009-05-21 2016-08-16 Edge3 Technologies Gesture recognition systems and related methods
US8379101B2 (en) 2009-05-29 2013-02-19 Microsoft Corporation Environment and/or target segmentation
US8744121B2 (en) 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US8542252B2 (en) 2009-05-29 2013-09-24 Microsoft Corporation Target digitization, extraction, and tracking
CN102803991B (zh) 2009-06-03 2014-06-04 学校法人中部大学 物体检测设备
KR101640077B1 (ko) 2009-06-05 2016-07-15 삼성전자주식회사 인체 동작 및 얼굴 표정 모델링 및 인식을 위한 비디오 센서 기반의 장치 및 방법
US9189859B2 (en) 2009-06-11 2015-11-17 Kabushiki Kaisha Toshiba 3D image generation
CN101605211B (zh) 2009-07-23 2011-01-05 杭州镭星科技有限公司 将虚拟三维建筑与现实环境实拍视频无缝合成的方法
WO2011012142A1 (en) * 2009-07-29 2011-02-03 Metaio Gmbh Method for determining the pose of a camera with respect to at least one real object
US8270733B2 (en) 2009-08-31 2012-09-18 Behavioral Recognition Systems, Inc. Identifying anomalous object types during classification
US8537200B2 (en) 2009-10-23 2013-09-17 Qualcomm Incorporated Depth map generation techniques for conversion of 2D video data to 3D video data
US9581739B2 (en) 2009-12-21 2017-02-28 3M Innovative Properties Company Transflective articles and light assemblies
US8311303B2 (en) 2010-01-12 2012-11-13 Siemens Corporation Method and system for semantics driven image registration
US20110188715A1 (en) 2010-02-01 2011-08-04 Microsoft Corporation Automatic Identification of Image Features
US9256982B2 (en) 2010-03-17 2016-02-09 Microsoft Technology Licensing, Llc Medical image rendering
US20110234481A1 (en) 2010-03-26 2011-09-29 Sagi Katz Enhancing presentations using depth sensing cameras
US8605969B2 (en) * 2010-04-06 2013-12-10 Siemens Corporation Method and system for multiple object detection by sequential Monte Carlo and hierarchical detection network
RU2534892C2 (ru) 2010-04-08 2014-12-10 Самсунг Электроникс Ко., Лтд. Устройство и способ для захвата безмаркерных движений человека
US8379919B2 (en) 2010-04-29 2013-02-19 Microsoft Corporation Multiple centroid condensation of probability distribution clouds
EP2383696A1 (en) 2010-04-30 2011-11-02 LiberoVision AG Method for estimating a pose of an articulated object model
US8284847B2 (en) 2010-05-03 2012-10-09 Microsoft Corporation Detecting motion for a multifunction sensor device
CN101872491B (zh) 2010-05-21 2011-12-28 清华大学 基于光度立体的自由视角重光照方法和系统
US8625897B2 (en) 2010-05-28 2014-01-07 Microsoft Corporation Foreground and background image segmentation
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
JP6002126B2 (ja) 2010-06-25 2016-10-05 トリンブル ナビゲーション リミテッドTrimble Navigation Limited 画像ベースの測位のための方法および装置
US20120056982A1 (en) 2010-09-08 2012-03-08 Microsoft Corporation Depth camera based on structured light and stereo vision
US20120062719A1 (en) 2010-09-09 2012-03-15 University Of Southern California Head-Mounted Photometric Facial Performance Capture
US20130300740A1 (en) 2010-09-13 2013-11-14 Alt Software (Us) Llc System and Method for Displaying Data Having Spatial Coordinates
US8860760B2 (en) 2010-09-25 2014-10-14 Teledyne Scientific & Imaging, Llc Augmented reality (AR) system and method for tracking parts and visually cueing a user to identify and locate parts in a scene
ES2395102B1 (es) 2010-10-01 2013-10-18 Telefónica, S.A. Metodo y sistema para segmentacion de primer plano de imagenes en tiempo real
US8149268B1 (en) 2010-11-05 2012-04-03 The United States Of America As Represented By The Secretary Of The Army System and method for determining three-dimensional information from two-dimensional images
US9349040B2 (en) 2010-11-19 2016-05-24 Microsoft Technology Licensing, Llc Bi-modal depth-image analysis
US11488322B2 (en) * 2010-12-08 2022-11-01 Cognex Corporation System and method for training a model in a plurality of non-perspective cameras and determining 3D pose of an object at runtime with the same
US8494285B2 (en) 2010-12-09 2013-07-23 The Hong Kong University Of Science And Technology Joint semantic segmentation of images and scan data
CN102129708A (zh) 2010-12-10 2011-07-20 北京邮电大学 增强现实环境中快速多层次虚实遮挡处理方法
US8448056B2 (en) 2010-12-17 2013-05-21 Microsoft Corporation Validation analysis of human target
US8488888B2 (en) 2010-12-28 2013-07-16 Microsoft Corporation Classification of posture states
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US9247238B2 (en) 2011-01-31 2016-01-26 Microsoft Technology Licensing, Llc Reducing interference between multiple infra-red depth cameras
US8570320B2 (en) 2011-01-31 2013-10-29 Microsoft Corporation Using a three-dimensional environment model in gameplay
US8401225B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Moving object segmentation using depth images
US8401242B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Real-time camera tracking using depth maps
US9329469B2 (en) 2011-02-17 2016-05-03 Microsoft Technology Licensing, Llc Providing an interactive experience using a 3D depth camera and a 3D projector
US8571263B2 (en) 2011-03-17 2013-10-29 Microsoft Corporation Predicting joint positions
US9020187B2 (en) * 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
KR101799522B1 (ko) 2011-06-07 2017-11-21 삼성전자 주식회사 교환렌즈 형태를 채용한 3차원 영상 획득 장치
CN102236912A (zh) 2011-07-08 2011-11-09 清华大学 变光照条件下运动目标的三维重建方法及三维重建装置
US8467596B2 (en) * 2011-08-30 2013-06-18 Seiko Epson Corporation Method and apparatus for object pose estimation
US9033516B2 (en) 2011-09-27 2015-05-19 Qualcomm Incorporated Determining motion of projection device
WO2013079098A1 (en) * 2011-11-29 2013-06-06 Layar B.V. Dynamically configuring an image processing function
US9137511B1 (en) 2011-12-15 2015-09-15 Rawles Llc 3D modeling with depth camera and surface normals
CN103324938A (zh) * 2012-03-21 2013-09-25 日电(中国)有限公司 训练姿态分类器及物体分类器、物体检测的方法及装置
US9132346B2 (en) * 2012-04-04 2015-09-15 Kenneth J. Huebner Connecting video objects and physical objects for handheld projectors
US9063443B2 (en) 2012-05-28 2015-06-23 Canon Kabushiki Kaisha Magnetic carrier and two-component developer
US9031317B2 (en) * 2012-09-18 2015-05-12 Seiko Epson Corporation Method and apparatus for improved training of object detecting system
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates

Also Published As

Publication number Publication date
EP2959431B1 (en) 2018-08-22
US11710309B2 (en) 2023-07-25
US20180285697A1 (en) 2018-10-04
US20140241617A1 (en) 2014-08-28
EP2959431A1 (en) 2015-12-30
WO2014130404A1 (en) 2014-08-28
US9940553B2 (en) 2018-04-10
CN105144196A (zh) 2015-12-09
CN105144196B (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
ES2698574T3 (es) Método y dispositivo para calcular la pose de una cámara u objeto
Brachmann et al. Visual camera re-localization from RGB and RGB-D images using DSAC
CN113196296B (zh) 使用几何上下文检测人群中的对象
Ranftl et al. Dense monocular depth estimation in complex dynamic scenes
US20220178688A1 (en) Method and apparatus for binocular ranging
CN111279391B (zh) 一种构建移动设备运动模型的方法及相关系统
Wang et al. Multi-cue based tracking
US10872227B2 (en) Automatic object recognition method and system thereof, shopping device and storage medium
CN111328396A (zh) 用于图像中的对象的姿态估计和模型检索
CN111094895B (zh) 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法
JP2019036009A (ja) 制御プログラム、制御方法、及び情報処理装置
WO2021147113A1 (zh) 一种平面语义类别的识别方法以及图像数据处理装置
JP2020525958A (ja) 画像処理システム及び画像処理方法
Nie et al. Single/cross-camera multiple-person tracking by graph matching
US20150199592A1 (en) Contour-based classification of objects
Cheng et al. Hierarchical visual localization for visually impaired people using multimodal images
Shi et al. An improved lightweight deep neural network with knowledge distillation for local feature extraction and visual localization using images and LiDAR point clouds
Hempel et al. An online semantic mapping system for extending and enhancing visual SLAM
Sahili et al. A Survey of Visual SLAM Methods
Ghidoni et al. A multi-viewpoint feature-based re-identification system driven by skeleton keypoints
KR20240010035A (ko) 포즈 파서
Geng et al. SANet: A novel segmented attention mechanism and multi-level information fusion network for 6D object pose estimation
Boukhers et al. Example-based 3D trajectory extraction of objects from 2D videos
Zhang et al. Real-time dynamic SLAM using moving probability based on IMU and segmentation
Liu et al. High-precision camera localization in scenes with repetitive patterns