Método para determinar la postura de una cámara con respecto a por lo menos un objeto real.
Un método para determinar la postura de una cámara con respecto a por lo menos un objeto real,
comprendiendoel método las etapas de:
- accionar la cámara (1) para capturar una imagen bidimensional (4) que incluye por lo menos una parte delobjeto real (3), caracterizado por:
- proporcionar una matriz de transformación (T) que incluye información con respecto a unacorrespondencia entre puntos tridimensionales (Pi*) asociados con el objeto real (3) y unos puntosbidimensionales correspondientes (pi) del objeto real (5) tal como se incluyen en la imagen bidimensional(4),
- determinar una estimación inicial de la matriz de transformación (T1) como base inicial para un proceso deminimización iterativa usado para depurar de forma iterativa la matriz de transformación,
- determinar una matriz jacobiana (J) que incluye información con respecto a la estimación inicial de lamatriz de transformación (T1) y valores de referencia de los puntos tridimensionales (Pi*) asociados con elobjeto real (3),
- en el proceso de minimización iterativa, determinar en cada uno de múltiples bucles de iteración unaversión actualizada respectiva de la matriz de transformación (T) basándose en una versión previarespectiva de la matriz de transformación (T) y basándose en la matriz jacobiana (J), en el que la matrizjacobiana no se actualiza durante el proceso de minimización iterativa, y
- determinar la postura de la cámara (1) con respecto al objeto real (3) usando la matriz de transformación(T) determinada al final del proceso de minimización iterativa.
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2009/005495.
Solicitante: metaio GmbH.
Nacionalidad solicitante: Alemania.
Dirección: Infanteriestrasse 19 Haus 3, 2. OG 80797 München ALEMANIA.
Inventor/es: BEN HIMANE,MOHAMED SELIM.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06T7/00 FISICA. › G06 CALCULO; CONTEO. › G06T TRATAMIENTO O GENERACIÓN DE DATOS DE IMAGEN, EN GENERAL. › Análisis de imagen.
PDF original: ES-2399636_T3.pdf
Fragmento de la descripción:
Método para determinar la postura de una cámara con respecto a por lo menos un objeto real
La presente invención se refiere a un método para determinar la postura de una cámara con respecto a por lo menos un objeto real. Una cámara se acciona para capturar una imagen bidimensional que incluye por lo menos una parte de un objeto real y, en el proceso de determinación, la postura de la cámara con respecto al objeto real se determina usando correspondencias entre puntos tridimensionales asociados con el objeto real y unos puntos bidimensionales correspondientes del objeto real en la imagen bidimensional.
Antecedentes de la invención Los sistemas de realidad aumentada permiten la superposición de información virtual generada por ordenador con impresiones visuales del entorno real. Con este fin, las impresiones visuales del mundo real se mezclan con información virtual, por ejemplo por medio de vidrios de datos semi-transmisores o por medio de un visualizador montado en la cabeza que se lleva en la cabeza de un usuario. La combinación de objetos o información virtual puede efectuarse de una forma dependiente del contexto, es decir, correspondiente con y deducida del entorno respectivo observado. Como información virtual, es posible usar básicamente cualquier tipo de datos, tal como textos, imágenes etc. El entorno real se detecta por ejemplo con la ayuda de una cámara portada en la cabeza del usuario.
Cuando la persona que usa un sistema de realidad aumentada gira su cabeza, el seguimiento de los objetos virtuales es necesario con respecto al campo de visión cambiante. El entorno real puede ser un aparato complejo, y el objeto detectado puede ser una parte significativa del aparato. Durante un así denominado proceso de seguimiento, el objeto real (que puede ser un objeto que va a observarse tal como un aparato, un objeto dotado de un marcador que va a observarse, o un marcador colocado en el mundo real para fines de seguimiento) detectado durante la inicialización sirve como referencia para calcular la posición en la que la información virtual ha de visualizarse o combinarse en una imagen o fotografía tomada por la cámara. Para este fin, es necesario determinar la postura de la cámara con respecto al objeto real. Debido al hecho de que el usuario (y, en consecuencia, la cámara cuando esta se porta por el usuario) puede cambiar su posición y orientación, el objeto real ha de someterse a un seguimiento continuo con el fin de visualizar la información virtual en la posición correcta en el dispositivo visualizador también en el caso de una postura alterada (posición y orientación) de la cámara. El efecto conseguido de ese modo es que la información, con independencia de la posición y/o orientación del usuario, se visualiza en el dispositivo visualizador de una forma correcta con el contexto con respecto a la realidad.
Uno de los problemas en el campo de la realidad aumentada es la determinación de la posición de la cabeza y la orientación de la cabeza del usuario por medio de una cámara que está asociada de algún modo con la cabeza del usuario. Otro problema puede ser determinar la posición y orientación de la cámara en el interior de un teléfono móvil con el fin de superponer información sobre la imagen de cámara y de mostrar la combinación de ambas en el visualizador del teléfono. Con este fin, en algunas aplicaciones la postura de la cámara con respecto a por lo menos un objeto real del entorno real capturado se estima usando el flujo de vídeo o el flujo de imágenes de la cámara como fuente de información.
La estimación de postura es una de las tareas más básicas y más importantes en la visión por ordenador y en la realidad aumentada. En la mayoría de las aplicaciones en tiempo real, es necesario resolver esta en tiempo real. No obstante, debido a que la misma implica un problema de minimización no lineal, requiere una gran cantidad de tiempo de cálculo.
Sumario de la invención Por lo tanto, un objeto de la presente invención es la provisión de un método para determinar la postura de una cámara con respecto a por lo menos un objeto real que puede calcularse mediante un medio de procesamiento de datos con un tiempo de cálculo bastante bajo.
La invención se dirige a un método para determinar la postura de una cámara con respecto a por lo menos un objeto real de acuerdo con las características de la reivindicación 1. Además, la invención se dirige a un producto de programa informático tal como se reivindica en la reivindicación 12.
De acuerdo con un aspecto, la invención se refiere a un método para determinar la postura de una cámara con respecto a por lo menos un objeto real, comprendiendo el método las etapas de:
- accionar la cámara para capturar una imagen bidimensional (o tridimensional) que incluye por lo menos una parte de un objeto real,
- proporcionar correspondencias entre puntos tridimensionales asociados con el objeto real y unos puntos bidimensionales (o tridimensionales) del objeto real en la imagen bidimensional (o tridimensional, respectivamente) ; por ejemplo, las coordenadas de los puntos en 3D pueden medirse sobre el objeto real o provenir del dibujo técnico en 2D del objeto real o se determinan gracias a un modelo de CAD en 3D del objeto, mientras que las coordenadas puntuales en 2D puede determinarse en general gracias a algunas técnicas de procesamiento de imágenes convencionales tal como la extracción de puntos característicos (puntos de esquina, puntos de arista, puntos invariantes de escala, etc.) ,
- determinar una estimación inicial de la matriz de transformación (que se usará posteriormente para determinar la postura) como base inicial para un proceso de minimización iterativa usado para depurar de forma iterativa la matriz de transformación,
- determinar una matriz jacobiana que incluye información con respecto a la estimación inicial de la matriz de transformación y valores de referencia de las coordenadas puntuales tridimensionales asociadas con el objeto real; por ejemplo, la matriz jacobiana puede estimarse por medios numéricos usando, por ejemplo, el método de diferencias finitas o por medios analíticos suponiendo un cierto modelo de proyección de cámara (en el presente caso se determina la misma por medios analíticos suponiendo el modelo de cámara estenopeica) ,
- en el proceso de minimización iterativa, determinar en cada uno de múltiples bucles de iteración una versión actualizada respectiva de la matriz de transformación basándose en una versión previa respectiva de la matriz de transformación y basándose en la matriz jacobiana, en el que la matriz jacobiana no se actualiza durante el proceso de minimización iterativa, y
- determinar la postura de la cámara con respecto al objeto real usando la matriz de transformación determinada al final del proceso de minimización iterativa.
En una realización de la invención, el proceso de minimización iterativa implica el algoritmo de Gauss-Newton o el algoritmo de Levenberg-Marquardt.
En una realización adicional de la invención, el proceso de minimización iterativa implica un proceso de actualización compuesta en el que la versión actualizada respectiva de la matriz de transformación se calcula a partir de una multiplicación entre una matriz construida con parámetros de actualización de la matriz de transformación previa respectiva y la matriz de transformación previa respectiva.
En una realización adicional, se usa una parametrización de álgebra de Lie en el proceso de minimización iterativa.
Realizaciones adicionales de la invención se exponen en las reivindicaciones dependientes.
Breve descripción de los dibujos Algunos aspectos de la invención se analizarán con más detalle en lo siguiente por medio de las figuras que ilustran realizaciones de la invención, en las que la figura 1 muestra una visualización esquemática de una escena que comprende un objeto real observado por una cámara y una imagen de cámara que visualiza una representación bidimensional del objeto real,
la figura 2 muestra un proceso de acuerdo con el algoritmo de Gauss-Newton adaptado para determinar una matriz de transformación T que es apropiada para la determinación de la postura de la cámara de acuerdo con la figura 1,
la figura 3 muestra una posible implementación de cálculo del proceso de acuerdo con la figura 2,
la figura 4 muestra un proceso de acuerdo con el algoritmo de Levenberg-Marquardt adaptado para determinar una matriz de transformación T que es apropiada para la determinación de la postura de la cámara de acuerdo con la figura 1,
la figura 5 muestra una posible implementación de cálculo del proceso de acuerdo con... [Seguir leyendo]
Reivindicaciones:
1. Un método para determinar la postura de una cámara con respecto a por lo menos un objeto real, comprendiendo el método las etapas de:
- accionar la cámara (1) para capturar una imagen bidimensional (4) que incluye por lo menos una parte del objeto real (3) , caracterizado por:
-proporcionar una matriz de transformación (T) que incluye información con respecto a una correspondencia entre puntos tridimensionales (Pi*) asociados con el objeto real (3) y unos puntos bidimensionales correspondientes (pi) del objeto real (5) tal como se incluyen en la imagen bidimensional (4) ,
- determinar una estimación inicial de la matriz de transformación (T1) como base inicial para un proceso de minimización iterativa usado para depurar de forma iterativa la matriz de transformación,
- determinar una matriz jacobiana (J) que incluye información con respecto a la estimación inicial de la matriz de transformación (T1) y valores de referencia de los puntos tridimensionales (Pi*) asociados con el objeto real (3) ,
-en el proceso de minimización iterativa, determinar en cada uno de múltiples bucles de iteración una versión actualizada respectiva de la matriz de transformación (T) basándose en una versión previa respectiva de la matriz de transformación (T) y basándose en la matriz jacobiana (J) , en el que la matriz jacobiana no se actualiza durante el proceso de minimización iterativa, y
- determinar la postura de la cámara (1) con respecto al objeto real (3) usando la matriz de transformación
(T) determinada al final del proceso de minimización iterativa.
2. Un método para determinar la postura de una cámara con respecto a por lo menos un objeto real, comprendiendo el método las etapas de:
- accionar la cámara (1) para capturar una imagen tridimensional (4) que incluye por lo menos una parte del objeto real (3) ,
- proporcionar una matriz de transformación (T) que incluye información con respecto a una correspondencia entre puntos tridimensionales (Pi*) asociados con el objeto real (3) y unos puntos tridimensionales correspondientes (pi) del objeto real (5) tal como se incluyen en la imagen tridimensional (4) ,
- determinar una estimación inicial de la matriz de transformación (T1) como base inicial para un proceso de minimización iterativa usado para depurar de forma iterativa la matriz de transformación,
- determinar una matriz jacobiana (J) que incluye información con respecto a la estimación inicial de la matriz de transformación (T1) y valores de referencia de los puntos tridimensionales (Pi*) asociados con el objeto real (3) ,
- en el proceso de minimización iterativa, determinar en cada uno de múltiples bucles de iteración una versión actualizada respectiva de la matriz de transformación (T) basándose en una versión previa respectiva de la matriz de transformación (T) y basándose en la matriz jacobiana (J) , en el que la matriz jacobiana no se actualiza durante el proceso de minimización iterativa, y
- determinar la postura de la cámara (1) con respecto al objeto real (3) usando la matriz de transformación (T) determinada al final del proceso de minimización iterativa.
3. El método de acuerdo con la reivindicación 1 o 2, en el que el proceso de minimización iterativa implica el algoritmo de Gauss-Newton o el algoritmo de Levenberg-Marquardt.
4. El método de acuerdo con una de las reivindicaciones 1 a 3, en el que el proceso de minimización iterativa implica un proceso de actualización compuesta en el que la versión actualizada respectiva de la matriz de transformación (T) se calcula a partir de una multiplicación entre una matriz (LT (d) ) construida con parámetros de actualización de la matriz de transformación previa respectiva y la matriz de transformación previa respectiva (T) .
5. El método de acuerdo con una de las reivindicaciones 1 a 4, en el que el proceso de minimización iterativa implica el algoritmo de Gauss-Newton, comprendiendo el proceso de minimización iterativa en cada bucle de iteración las etapas de:
- determinar un vector de error e,
- determinar un vector de actualización d mediante la resolución del sistema: J d = e, siendo J la matriz jacobiana,
- determinar una versión actualizada respectiva de la matriz de transformación basándose en una versión previa respectiva de la matriz de transformación al comienzo del bucle de iteración respectivo y basándose en el vector de actualización d,
- en el que, después de determinar la versión actualizada respectiva de la matriz de transformación, el proceso de minimización iterativa vuelve a determinar un nuevo vector de error e basándose en la versión actualizada respectiva de la matriz de transformación.
6. El método de acuerdo con la reivindicación 5, en el que el vector de actualización d se calcula a partir de: d = (JTJ) -lJTe = Jpe, calculándose Jp al comienzo del proceso de minimización iterativa y manteniéndose fija en múltiples bucles de iteración durante el proceso de minimización iterativa.
7. El método de acuerdo con una de las reivindicaciones 1 a 4, en el que el proceso de minimización iterativa implica el algoritmo de Levenberg-Marquardt, comprendiendo el proceso de minimización iterativa en cada bucle de iteración las etapas de:
- determinar un vector de error e,
- determinar un vector de actualización d mediante la resolución del sistema: (JTJ+A Id) d = JTe, siendo J la matriz jacobiana,
- determinar una versión actualizada respectiva de la matriz de transformación basándose en una versión previa respectiva de la matriz de transformación al comienzo del bucle de iteración respectivo y basándose en el vector de actualización d,
- en el que, después de determinar la versión actualizada respectiva de la matriz de transformación, el proceso de minimización iterativa vuelve a determinar un nuevo vector de error e basándose en la versión actualizada respectiva de la matriz de transformación o determinar un nuevo vector de actualización d.
8. El método de acuerdo con la reivindicación 7, en el que el vector de actualización d se calcula a partir de: d = (Q+A Id) -1 JTe, calculándose Q = JTJ al comienzo del proceso de minimización iterativa y manteniéndose fija en múltiples bucles de iteración durante el proceso de minimización iterativa.
9. El método de acuerdo con una de las reivindicaciones 1 a 8, en el que en el proceso de minimización iterativa se usa una parametrización de álgebra de Lie.
10. El método de acuerdo con una de las reivindicaciones 5 a 8, que además comprende
- determinar una matriz de actualización LT (d) usando el vector de actualización d,
- en el que la matriz de actualización LT (d) se parametriza usando álgebra de Lie.
11. El método de acuerdo con la reivindicación 10, en el que la matriz de actualización LT (d) se parametriza usando álgebra de Lie se (3) asociada con el grupo de Lie SE (3) .
12. Un producto de programa informático adaptado para cargarse en la memoria interna de un ordenador, que está acoplado con una cámara para tomar imágenes de un entorno real, y que comprende secciones de código de software por medio de las cuales las etapas de acuerdo con cualquiera de las reivindicaciones 1 a 11 se realizan cuando dicho producto se está ejecutando en dicho ordenador.
Patentes similares o relacionadas:
Método, sistema y producto del programa informático para determinar la presencia de microorganismos e identificar dichos microorganismos, del 29 de Julio de 2020, de BIOMERIEUX: Un método para determinar la presencia de al menos un microorganismo determinado en una placa de Petri que comprende una o más colonias de microorganismos y un medio de […]
Detección de daño de pantalla para dispositivos, del 8 de Julio de 2020, de Hyla, Inc: Un procedimiento para identificar una condición de una o más pantallas de un dispositivo electrónico, comprendiendo el procedimiento: recibir una solicitud […]
PROCEDIMIENTO DE IDENTIFICACIÓN DE IMÁGENES ÓSEAS, del 29 de Junio de 2020, de UNIVERSIDAD DE GRANADA: Procedimiento de identificación de imágenes óseas. La presente invención tiene por objeto un procedimiento para asistir en la toma de decisiones a un experto forense […]
Distribución controlada de muestras sobre sustratos, del 27 de Mayo de 2020, de Roche Diagnostics Hematology, Inc: Un procedimiento para distribuir una muestra de líquido sobre un sustrato , comprendiendo el procedimiento: obtener una […]
Procedimientos, sistemas y dispositivos para analizar datos de imágenes pulmonares, del 27 de Mayo de 2020, de Pulmonx Corporation: Procedimiento para analizar datos de tomografía computarizada de un pulmón, comprendiendo el procedimiento: recibir mediante un dispositivo […]
Sistema y procedimiento de control de calidad de platos preparados, del 14 de Mayo de 2020, de BEABLOO, S.L: Sistema y procedimiento de control de calidad de platos preparados. El sistema comprende medios de detección para detectar los ingredientes […]
Registro de imagen de catéter del seno coronario, del 13 de Mayo de 2020, de Biosense Webster (Israel), Ltd: Un aparato que comprende: un catéter cardíaco adaptado para su introducción en un seno coronario de un corazón de un sujeto vivo; una pantalla ; un dispositivo […]
Sistema y aplicación para visualizar la realidad exterior mientras se utilizan teléfonos y dispositivos móviles, del 11 de Mayo de 2020, de YAGÜE HERNANZ, Ricardo: 1. Sistema y aplicación para ver en los teléfonos y terminales móviles la realidad exterior a la vez que se usan y se visualizan sus […]