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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/231—Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/7625—Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating 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, 9¡ 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:
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:
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:
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)
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.
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)
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)
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 |
-
2013
- 2013-02-22 US US13/774,145 patent/US9940553B2/en active Active
-
2014
- 2014-02-18 EP EP14709030.2A patent/EP2959431B1/en active Active
- 2014-02-18 WO PCT/US2014/016749 patent/WO2014130404A1/en active Application Filing
- 2014-02-18 ES ES14709030T patent/ES2698574T3/es active Active
- 2014-02-18 CN CN201480010236.1A patent/CN105144196B/zh active Active
-
2018
- 2018-02-13 US US15/895,990 patent/US11710309B2/en active Active
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 |