ES2713857T3 - Determinación del movimiento de una cámara - Google Patents

Determinación del movimiento de una cámara Download PDF

Info

Publication number
ES2713857T3
ES2713857T3 ES06827924T ES06827924T ES2713857T3 ES 2713857 T3 ES2713857 T3 ES 2713857T3 ES 06827924 T ES06827924 T ES 06827924T ES 06827924 T ES06827924 T ES 06827924T ES 2713857 T3 ES2713857 T3 ES 2713857T3
Authority
ES
Spain
Prior art keywords
images
point cloud
consecutive
pixels
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES06827924T
Other languages
English (en)
Inventor
Janos Rohaly
Tong Zhang
Steven Weeks
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
3M Innovative Properties Co
Original Assignee
3M Innovative Properties Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 3M Innovative Properties Co filed Critical 3M Innovative Properties Co
Application granted granted Critical
Publication of ES2713857T3 publication Critical patent/ES2713857T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

Un método que comprende: recibir un primer conjunto de imágenes, incluyendo el primer conjunto de imágenes una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posición; recibir un segundo conjunto de imágenes, incluyendo el segundo conjunto de imágenes una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posición; obtener una primera nube de puntos del primer conjunto de imágenes; identificar un número de píxeles correspondientes entre un número de píxeles de una de la primera pluralidad de vistas bidimensionales y un número de píxeles de una de la segunda pluralidad de vistas bidimensionales; obtener una segunda nube de puntos del número de píxeles correspondientes del segundo conjunto de imágenes; y determinar un movimiento desde la primera posición hasta la segunda posición utilizando la primera nube de puntos y la segunda nube de puntos, en donde, cuando el objeto fotografiado es sustancialmente mayor que un plano de imagen del primer conjunto de imágenes, el método además comprende la repetición de las etapas anteriores para una pluralidad de conjuntos de imágenes consecutivas, para lo cual se construye una nube de puntos global para el objeto fotografiado, y en donde, cuando uno de una pluralidad de movimientos consecutivos no puede determinarse directamente de los datos de las nubes de puntos de las vistas consecutivas, el método además comprende recuperar el uno de la pluralidad de movimientos consecutivos a través de una transformación inversa de uno o más movimientos siguientes consecutivos para una o más nubes de puntos siguientes consecutivas.

Description

DESCRIPCION
Determinacion del movimiento de una camara
Antecedentes
1. Campo de la invencion.
Esta invencion se refiere a la determinacion del movimiento de una camara, y mas concretamente, a la determinacion del movimiento de una camara en un sistema de generacion de imagenes tridimensionales.
2. Descripcion de la tecnica relacionada.
La captura de imagenes tridimensionales ofrece desde hace tiempo grandes posibilidades como tecnica de adquisicion de datos para una amplia gama de sistemas de modelado que incluyen sistemas de diseno asistidos por ordenador, sistemas de animacion digital, sistemas de generacion de imagenes medicas, diseno grafico y sistemas de arte grafico, y similares. Una tecnica general para capturar datos tridimensionales reconstruye una nube de puntos tridimensional global utilizando imagenes secuenciales desde una camara en movimiento, lo que agrava el problema complementario de determinar el movimiento de la camara de imagen a imagen. Un enfoque comun para la recuperacion del movimiento de la camara para estas secuencias de imagenes emplea una factorizacion en correspondencias de puntos establecidas entre imagenes bidimensionales. Sin embargo, esta tecnica es exigente desde un punto de vista computacional porque la correspondencia de puntos debe mantenerse en un numero de imagenes secuenciales. Esto plantea dificultades adicionales en entornos de generacion de imagenes reales en donde se pueden obstruir determinados puntos o quedar completamente fuera del plano de imagen.
Otra tecnica general para capturar datos tridimensionales emplea un hardware de camara que puede capturar directamente una nube de puntos tridimensional triangulando puntos correspondientes en conjuntos de imagenes bidimensionales de un dispositivo estereoscopico o de multiples orificios. Para estas camaras tridimensionales, el movimiento de una camara se puede determinar utilizando el registro tridimensional de nubes de puntos tridimensionales secuenciales. Sin embargo, las tecnicas de registro tipicas, tales como el metodo de iterative closest point (punto mas cercano iterativo - “ ICP” ), no ofrecen buenos resultados con superficies dificiles de registrar, tales como regiones planas. Ademas, las soluciones iterativas son, en general, poco adecuadas para aplicaciones de generacion de imagenes a tiempo real debido a que requieren varios calculos sucesivos, frecuentemente, con conjuntos de datos grandes.
Sigue existiendo una necesidad de una tecnica solida y eficiente para determinar el movimiento de una camara que sea adecuada para su uso en aplicaciones tales como la captura de imagenes tridimensionales a tiempo real. US-6 950 550 B1 describe una tecnica de trazado del movimiento de un objeto. Una vez que se introduce una imagen estereografica, se selecciona el punto de trazado correspondiente a la silueta de un objeto curvo observado por la imagen estereografica sobre la base de la informacion sobre la posicion actual del objeto, utilizando un modelo geometrico tridimensional, los puntos correspondientes en la silueta correspondientes a los respectivos puntos de trazado se muestrean de la imagen estereografica y se miden sus coordenadas tridimensionales. Despues, a partir del grupo de las coordenadas tridimensionales de los puntos de trazado y los puntos correspondientes, se determinan la posicion/postura del objeto en cuestion y el error de medicion.
US-2002/0006217 A1 describe metodos para un registro de fotogramas tridimensionales para crear modelos virtuales tridimensionales de objetos.
Sumario
Se proporcionan un metodo, un programa informatico y un sistema como se describen en las reivindicaciones independientes. Las reivindicaciones dependientes definen realizaciones.
El movimiento de una camara se determina en un sistema de captura de imagenes tridimensionales utilizando una combinacion de datos de imagenes bidimensionales y datos de nubes de puntos tridimensionales proporcionados por un sistema de camara estereoscopico, de multiples orificios o similar. Mas especificamente, una transformacion rigida de datos de nubes de puntos entre dos nubes de puntos tridimensionales puede parametrizarse mas eficazmente utilizando una correspondencia de puntos establecida entre pixeles bidimensionales en imagenes de origen para las nubes de puntos tridimensionales.
En un aspecto, un metodo descrito en la presente memoria incluye recibir un primer conjunto de imagenes, incluyendo el primer conjunto de imagenes una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posicion; recibir un segundo conjunto de imagenes, incluyendo el segundo conjunto de imagenes una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posicion; obtener una primera nube de puntos del primer conjunto de imagenes; identificar un numero de pixeles correspondientes entre un numero de pixeles de una de la primera pluralidad de vistas bidimensionales y un numero de pixeles de una de la segunda pluralidad de vistas bidimensionales; obtener una segunda nube de puntos del numero de pixeles correspondientes del segundo conjunto de imagenes; y determinar un movimiento desde la primera posicion hasta la segunda posicion utilizando la primera nube de puntos y la segunda nube de puntos.
Determinar el movimiento puede incluir determinar una transformacion rigida desde la primera nube de puntos hasta la segunda nube de puntos. La primera nube de puntos puede obtenerse de una cantidad de pixeles del primer conjunto de imagenes usando el emparejamiento estereografico. El movimiento puede incluir un cambio en al menos una de una posicion o una orientacion. La primera nube de puntos puede incluir un subconjunto de puntos del primer conjunto de imagenes. El metodo puede incluir, ademas, obtener el subconjunto de puntos de una malla dispersa de pixeles dentro del primer conjunto de imagenes. La segunda nube de puntos puede incluir un subconjunto de puntos del segundo conjunto de imagenes. Cuando el objeto fotografiado es sustancialmente mayor que el plano de imagen del primer conjunto de imagenes, el metodo incluye ademas la repeticion de las etapas explicadas anteriormente del metodo para una pluralidad de imagenes tridimensionales consecutivas, para lo cual se construye una nube de puntos global para el objeto fotografiado. Si uno de la pluralidad de movimientos consecutivos no puede determinarse directamente de los datos de las nubes de puntos de las vistas consecutivas, el metodo incluye, ademas, recuperar el uno de la pluralidad de movimientos consecutivos a travé dse una transformacion inversa de uno o mas movimientos siguientes consecutivos para una o mas nubes de puntos siguientes consecutivas. El metodo puede incluir complementar la primera nube de puntos con uno o mas puntos adicionales del primer conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el segundo conjunto de imagenes. El metodo puede incluir complementar la segunda nube de puntos con uno o mas puntos adicionales del segundo conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el primer conjunto de imagenes. El primer conjunto de imagenes y el segundo conjunto de imagenes pueden obtenerse de una camara de multiples orificios.
Identificar uno o mas pixeles correspondientes puede incluir identificar los pixeles correspondientes entre vistas bidimensionales desde un orificio central de la camara de multiples orificios. El primer conjunto de imagenes y el segundo conjunto de imagenes pueden obtenerse de un sistema de camara que incluya una pluralidad de camaras en una relacion fija entre si.
El objeto fotografiado puede incluir una parte del cuerpo. La parte del cuerpo puede incluir una nariz o una oreja. El objeto fotografiado puede incluir uno o mas dientes. El objeto fotografiado puede incluir un modelo de uno o mas dientes. El objeto fotografiado puede incluir un modelo fisico de un objeto para usar en un proceso de animacion digital.
En otro aspecto, un programa informatico descrito en la presente memoria incluye un codigo informatico que, al ser ejecutado en un ordenador, realiza las siguientes etapas: recibir un primer conjunto de imagenes, incluyendo el primer conjunto de imagenes una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posicion; recibir un segundo conjunto de imagenes, incluyendo el segundo conjunto de imagenes una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posicion; obtener una primera nube de puntos del primer conjunto de imagenes; identificar un numero de pixeles correspondientes entre un numero de pixeles de una de la primera pluralidad de vistas bidimensionales y un numero de pixeles de una de la segunda pluralidad de vistas bidimensionales; obtener una segunda nube de puntos del numero de pixeles correspondientes del segundo conjunto de imagenes; y determinar un movimiento desde la primera posicion hasta la segunda posicion utilizando la primera nube de puntos y la segunda nube de puntos.
Determinar el movimiento puede incluir determinar una transformacion rigida desde la primera nube de puntos hasta la segunda nube de puntos. La primera nube de puntos puede obtenerse de una cantidad de pixeles del primer conjunto de imagenes usando el emparejamiento estereografico. El movimiento puede incluir un cambio en al menos una de una posicion o una orientacion. La primera nube de puntos puede incluir un subconjunto de puntos del primer conjunto de imagenes. El codigo informatico puede incluir, ademas, un codigo para obtener el subconjunto de puntos de una malla dispersa de pixeles dentro del primer conjunto de imagenes. La segunda nube de puntos puede incluir un subconjunto de puntos del segundo conjunto de imagenes. Cuando el objeto fotografiado es sustancialmente mayor que el plano de imagen del primer conjunto de imagenes, el codigo informatico incluye, ademas, la repeticion de una pluralidad de imagenes tridimensionales consecutivas, para lo cual se construye una nube de puntos global para el objeto fotografiado. Si uno de la pluralidad de movimientos consecutivos no puede determinarse directamente de los datos de las nubes de puntos de las vistas consecutivas, el codigo informatico incluye, ademas, un codigo para recuperar el uno de la pluralidad de movimientos consecutivos a traves de una transformacion inversa de uno o mas movimientos siguientes consecutivos para una o mas nubes de puntos siguientes consecutivas. El codigo informatico puede incluir un codigo para complementar la primera nube de puntos con uno o mas puntos adicionales del primer conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el segundo conjunto de imagenes. El codigo informatico puede incluir un codigo para complementar la segunda nube de puntos con uno o mas puntos adicionales del segundo conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el primer conjunto de imagenes. El primer conjunto de imagenes y el segundo conjunto de imagenes pueden obtenerse de una camara de multiples orificios.
Identificar uno o mas pixeles correspondientes puede incluir identificar los pixeles correspondientes entre vistas bidimensionales desde un orificio central de la camara de multiples orificios. El primer conjunto de imagenes y el segundo conjunto de imageries pueden obtenerse de un sistema de camara que incluya una pluralidad de camaras en una relacion fija entre si.
El objeto fotografiado puede incluir una parte del cuerpo. La parte del cuerpo puede incluir una nariz o una oreja. El objeto fotografiado puede incluir uno o mas dientes. El objeto fotografiado puede incluir un modelo de uno o mas dientes. El objeto fotografiado puede incluir un modelo fisico de un objeto para usar en un proceso de animacion digital.
En otro aspecto, un sistema descrito en la presente memoria puede incluir una camara y un procesador. La camara puede configurarse para capturar un primer conjunto de imagenes que incluya una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posicion y un segundo conjunto de imagenes que incluya una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posicion. El procesador puede estar acoplado comunicado con la camara; el procesador se configura para obtener una primera nube de puntos del primer conjunto de imagenes; identificar un numero de pixeles correspondientes entre un numero de pixeles de una de la primera pluralidad de vistas bidimensionales y un numero de pixeles de una de la segunda pluralidad de vistas bidimensionales; y obtener una segunda nube de puntos del numero de pixeles correspondientes del segundo conjunto de imagenes, configurado el procesador ademas para determinar un movimiento desde la primera posicion hasta la segunda posicion usando la primera nube de puntos y la segunda nube de puntos.
Determinar el movimiento puede incluir determinar una transformacion rigida desde la primera nube de puntos hasta la segunda nube de puntos. La primera nube de puntos puede obtenerse de una cantidad de pixeles del primer conjunto de imagenes usando el emparejamiento estereografico. El movimiento puede incluir un cambio en al menos una de una posicion o una orientacion. El primer punto puede incluir un subconjunto de puntos del primer conjunto de imagenes. El procesador puede configurarse para obtener el subconjunto de puntos de una malla dispersa de pixeles dentro del primer conjunto de imagenes. La segunda nube de puntos puede incluir un subconjunto de puntos del segundo conjunto de imagenes. Cuando el objeto fotografiado es sustancialmente mayor que un plano de imagen del primer conjunto de imagenes, el procesador se configura para obtener una pluralidad de nubes de puntos adicionales y determinar una pluralidad de movimientos consecutivos a partir de estas, para lo cual se construye una nube de puntos global para el objeto fotografiado. Si uno de la pluralidad de movimientos consecutivos no puede determinarse directamente de los datos de las nubes de puntos de las vistas consecutivas, el procesador recupera el uno de la pluralidad de movimientos consecutivos a traves de una transformacion inversa de uno o mas movimientos siguientes consecutivos para una o mas nubes de puntos siguientes consecutivas. El procesador puede configurarse para complementar la primera nube de puntos con uno o mas puntos adicionales del primer conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el segundo conjunto de imagenes. El procesador puede configurarse para complementar la segunda nube de puntos con uno o mas puntos adicionales del segundo conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el primer conjunto de imagenes.
La camara puede ser una camara de multiples orificios. Identificar uno o mas pixeles correspondientes puede incluir identificar los pixeles correspondientes entre vistas bidimensionales desde un orificio central de la camara de multiples orificios. La camara puede incluir una pluralidad de camaras en una relacion fija entre si.
El objeto fotografiado puede incluir una parte del cuerpo. La parte del cuerpo puede incluir una nariz o una oreja. El objeto fotografiado puede incluir uno o mas dientes. El objeto fotografiado puede incluir un modelo de uno o mas dientes. El objeto fotografiado puede incluir un modelo fisico de un objeto para usar en un proceso de animacion digital.
En otro aspecto, un metodo descrito en la presente memoria incluye determinar un movimiento de una camara desde una primera posicion hasta una segunda posicion usando una transformacion rigida de una nube de puntos desde la primera posicion a una nube de puntos desde la segunda posicion, comprendiendo la nube de puntos desde la segunda posicion puntos seleccionados utilizando una correspondencia de datos de imagenes bidimensionales desde la primera posicion y la segunda posicion.
En otro aspecto, un sistema descrito en la presente memoria incluye primeros medios receptores para recibir un primer conjunto de imagenes, incluyendo el primer conjunto de imagenes una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posicion; segundos medios receptores para recibir un segundo conjunto de imagenes, incluyendo el segundo conjunto de imagenes una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posicion; medios de obtencion para obtener una primera nube de puntos del primer conjunto de imagenes; primeros medios identificadores para identificar un numero de pixeles correspondientes entre un numero de pixeles de una de la primera pluralidad de vistas bidimensionales y un numero de pixeles de una de la segunda pluralidad de vistas bidimensionales; segundos medios de obtencion para obtener una segunda nube de puntos del numero de pixeles correspondientes del segundo conjunto de imagenes; y medios de determinacion del movimiento para determinar un movimiento desde la primera posicion hasta la segunda posicion utilizando la primera nube de puntos y la segunda nube de puntos.
Se deduciran otras caracteristicas de la invencion, su naturaleza y varias ventajas a partir de los dibujos adjuntos y la siguiente descripcion detallada de determinadas realizaciones preferidas.
Breve descripcion de las figuras
La invencion y la siguiente descripcion detallada de algunas de sus realizaciones pueden entenderse con referenda a las siguientes figuras.
La Fig. 1 muestra un sistema de captura de imagenes.
La Fig. 2 ilustra una secuencia de imagenes capturadas desde una camara en movimiento.
Las Figs. 3A y 3B muestran un diagrama de flujo de un proceso para determinar el movimiento de la camara.
La Fig. 4 ilustra un mecanismo de recuperacion de fallos.
La Fig. 5 ilustra una tecnica de registro mejorada.
Descripcion detallada
A continuacion se describe una tecnica para reconstruir una nube de puntos tridimensionales global mediante el uso de determinaciones de movimiento de una camara para una serie de imagenes de un sistema de camara estereoscopico o de multiples orificios. Sin embargo, se apreciara que los conceptos inventivos descritos en la presente memoria no se limitan a tales aplicaciones y puede emplearse de forma util en cualquier sistema de formacion de imagenes, para luz visible u otras, en el que se disponga de datos de imagenes bidimensionales y tridimensionales para usarlos en una reconstruccion. Por lo tanto, estas tecnicas pueden emplearse, por ejemplo, con un sistema fotografico en movimiento con varias camaras, un microscopio estereoscopico o cualquier otro sistema de formacion de imagenes donde se puedan obtener datos tridimensionales derivadas de imagenes bidimensionales. Asimismo, aunque la siguiente explicacion se centra en una camara que se mueve con respecto a un objeto para obtener sus imagenes, las tecnicas descritas en la presente memoria son igualmente aplicables a una camara fija que capture imagenes secuenciales de uno o mas objetos en movimiento. En estos usos, el problema analitico se puede establecer con mayor precision como la determinacion del movimiento del objeto por medio de una camara fija, aunque tales usos son conceptualmente similares, si no identicos. En terminos mas generales, tanto la camara como el objeto fotografiado pueden moverse con relacion a un armazon externo de referencia, sin cambiar el problema de determinar el movimiento relativo entre la camara y el objeto fotografiado y la aplicabilidad de las tecnicas descritas en la presente memoria. Un experto en la tecnica deduciria todas estas variaciones y realizaciones alternativas que estan previstas para el experto en la tecnica en el alcance de esta descripcion.
En la siguiente descripcion, el termino “ imagen” generalmente se refiere a un conjunto bidimensional de pixeles que forman una vista bidimensional de un objeto fotografiado dentro de un plano de imagen. El termino “ nube de puntos” se refiere, generalmente, a un conjunto tridimensional de puntos que forman una vista tridimensional del objeto fotografiado reconstruido a partir de varias vistas bidimensionales. En un sistema de captura de imagenes tridimensionales tambien se pueden registrar y combinar varias de estas nubes de puntos en una nube de puntos global construida a partir de imagenes capturadas por una camara en movimiento. Por lo tanto, se entendera que los pixeles se refieren, en general, a datos bidimensionales y los puntos se refieren, en general, a datos tridimensionales, a menos que se indique especificamente otro significado o sea obvio por el contexto.
La Fig. 1 muestra un sistema de captura de imagenes. En general, el sistema 100 puede incluir una camara 102 que captura imagenes de un objeto fotografiado 104 dentro de un plano 106 de imagen y envia las imagenes a un ordenador 108.
La camara 102 puede ser cualquier camara o sistema de camara adecuado para capturar imagenes de las que pueda recuperarse una nube de puntos tridimensional. Por ejemplo, la camara 102 puede emplear un sistema de multiples orificios como se describe, por ejemplo, en la patente US- 20040155975 a nombre de Hart y col., cuyo contenido Integra se incorpora como referencia en la presente memoria. Si bien Hart describe un sistema de multiples orificios, se apreciara que puede emplearse de manera similar cualquier sistema de multiples orificios adecuado para reconstruir una nube de puntos tridimensionales de varias imagenes bidimensionales. En una realizacion de multiples orificios, la camara 102 puede incluir una pluralidad de orificios que incluyen un orificio central situado a lo largo de un eje optico central de una lente y cualquier hardware de formacion de imagenes asociado. La camara 102 tambien puede incluir, de forma adicional o alternativa, una configuracion estereoscopica u otra configuracion de varias camaras en la que un numero de camaras se mantengan en una relacion fija entre si para obtener imagenes bidimensionales de un objeto desde varias perspectivas ligeramente diferentes. La camara 102 puede incluir un procesamiento adecuado para obtener una nube de puntos tridimensionales de las imagenes de la camara de multiples orificios o de varias camaras o las imagenes bidimensionales pueden transmitirse a un procesador externo tal como el procesador 108 descrito a continuacion.
Aunque no se muestra en la Fig.1, se apreciara que puede emplearse de forma util una cantidad de sistemas de iluminacion complementarios durante la captura de imagenes. Por ejemplo, se puede mejorar la iluminacion ambiental con uno o mas focos que iluminen el objeto fotografiado 104 para acelerar la captacion de imagenes y mejorar la profundidad de campo. La camara 102 puede, de forma adicional o alternativa, incluir una luz estroboscopica, flash u otra fuente de luz para complementar la iluminacion del objeto fotografiado 104 durante la captacion de imagenes.
El objeto fotografiado 104 puede ser cualquier objeto, coleccion de objetos, parte de un objeto u otro objeto. Por ejemplo, en una aplicacion de formacion de imagenes dentales, el objeto fotografiado 104 puede incluir un diente, un cuadrante de los dientes o una coleccion completa de dientes de los que se desee una impresion dental virtual. Por el contrario, el objeto fotografiado 104 puede incluir una protesis dental, tal como una funda, una corona, o cualquier otra parte de un diente, para probar si encaja dentro de una impresion dental virtual capturada previamente. El objeto fotografiado 104 puede incluir un modelo dental, tales como un vaciado en yeso, cera, una impresion o una impresion negativa de un diente, dientes, tejido blando, o alguna combinacion de estos. En algunos casos, puede aplicarse un agente de texturizacion sobre las superficies del objeto fotografiado 104 para mejorar la captura de puntos tridimensionales. En otras realizaciones, el objeto fotografiado 104 puede ser una cabeza humana, o una parte de esta, de la que se desee un modelo tridimensional para un ajuste personalizado de una protesis auditiva, gafas de vista, gafas de proteccion o similar. En otras realizaciones, el objeto fotografiado 104 puede ser un modelo fisico de un objeto para usar en la animacion digital, tal como un modelo fisico en miniatura para usar en un proceso de animacion digital tridimensional. De los ejemplos anteriores, resultara evidente que un sistema que use las tecnicas descritas en la presente memoria puede adaptarse de forma conveniente a una amplia gama de aplicaciones para la captacion de imagenes tridimensionales de alta resolucion y relativamente poco alcance. Sin embargo, el experto en la tecnica apreciara que se pueden realizar adaptaciones adecuadas a la camara 102 para una variedad de otras aplicaciones de formacion de imagenes tridimensionales basadas en sistemas de multiples orificios o multiples camaras, y todas estas variaciones estan previstas en el alcance de esta descripcion.
El plano 106 de imagen puede incluir un campo de vision bidimensional de la camara 102. Aunque se ilustra como un rectangulo, se apreciara que el plano 106 de imagen puede, por ejemplo, formar un cuadrado, un circulo o cualquier otra geometria proporcionada por la camara 102. En general, la camara 102 tendra una profundidad de campo de captacion de imagenes dentro del plano 106 de imagen determinada por la estructura fisica de la camara 102 y las condiciones ambientales, tales como la luz ambiente.
El ordenador 108 puede ser, por ejemplo, un ordenador personal u otro dispositivo de procesamiento. En una realization, el ordenador 108 incluye un ordenador personal con un procesador central dual Opteron de 2,8 GHz, 2 gigabytes de memoria de acceso aleatorio, una placa base TYAN Thunder K8WE y un disco duro de 250 gigabytes y 10.000 rpm. Este sistema puede operarse para capturar aproximadamente 1500 puntos por conjunto de imagenes en tiempo real utilizando las tecnicas descritas en la presente memoria y almacenar una nube de puntos global de mas de un millon de puntos. Mas generalmente, las capacidades de procesamiento del ordenador 108 pueden variar segun el tamano del objeto fotografiado 104, la velocidad de captacion de imagenes y la resolucion espacial deseada de los puntos tridimensionales. El ordenador 108 tambien puede incluir dispositivos perifericos tales como un teclado, un monitor y un raton para la interaction del usuario con el sistema 100 de camara.
Las comunicaciones entre el ordenador 108 y la camara 102 pueden usar cualquier enlace de comunicaciones adecuado incluidos, por ejemplo, una conexion por cable o una conexion inalambrica basada, por ejemplo, en el estandar IEEE 802,11 (tambien conocido como Ethernet inalambrica), BlueTooth, o cualquier otro estandar inalambrico que use, p. ej., radiofrecuencia, infrarrojos u otro medio de comunicacion inalambrica. En la formacion de imagenes medicas u otras aplicaciones sensibles, puede protegerse la transmision inalambrica de imagenes de la camara 102 al ordenador 108. El ordenador 108 puede generar senales de control a la camara 102 que, ademas de las ordenes de captacion de imagenes, puede incluir controles convencionales de una camara, tal como enfoque o zoom.
La Fig. 2 ilustra una secuencia de imagenes capturadas desde una camara en movimiento. En la secuencia 200, una camara 202 que puede incluir, por ejemplo, cualquiera de las camaras 102 descritas anteriormente, puede capturar una imagen de un objeto fotografiado 204, que puede ser, por ejemplo, cualquiera de los objetos fotografiados 104 descritos anteriormente, desde varias posiciones diferentes 206a-206e. Aunque en la secuencia 200 de la Fig. 2 se muestran cinco posiciones de la camara, se apreciara que se pueden usar mas o menos posiciones de la camara coherentes con los principios descritos en la presente memoria. En cada position 206, la camara 202 captura un conjunto de imagenes:
ISn {x,. = (xf ,7 I-)r I i = 1,A ,N n} [Ec. 1]
de dos imagenes bidimensionales de las cuales una nube de puntos:
pc {xi = (x i, } ; , z J u = i , A JiV„} [Ec.2]
se puede calcular. En general, las nubes de puntos tridimensionales capturadas a partir de la secuencia 200 pueden combinarse en una nube de puntos global utilizando las tecnicas descritas a continuation. Tambien deberia entenderse que, en algunas realizaciones, la camara puede permanecer fija cuando el objeto fotografiado se mueve. En tales casos, se determina el movimiento del objeto fotografiado en vez del movimiento de la camara 202.
Las Figs. 3A y 3B muestran un diagrama de flujo de un proceso para determinar el movimiento de la camara. El proceso 300 puede utilizarse con los sistemas de camara descritos de forma general anteriormente.
El proceso 300 puede comenzar 302 al recibir un primer conjunto de imagenes (IS i ) desde una camara en una primera posicion 304. El termino posicion, tal como se utiliza en la presente memoria, incluye las coordenadas tridimensionales asi como la orientacion rotatoria de una camara. Es obvio que la “posicion” a partir de la cual la camara captura un primer conjunto de imagenes en una secuencia es algo arbitraria, por lo que se puede asignar cualquier valor conveniente a la primera posicion con respecto a, por ejemplo, la segunda posicion captada mas tarde, el objeto fotografiado del que se esten formando imagenes, o algun otro punto de referencia, o la primera posicion puede estar en el origen con rotacion cero en todos los ejes.
Como se muestra en la etapa 306, la camara puede recibir despues un segundo conjunto de imagenes (IS2) desde una segunda posicion. La camara puede moverse desde la primera posicion hasta la segunda posicion mediante cualquier procedimiento automatico, semiautomatico o manual. Por ejemplo, la camara puede ser un dispositivo de formacion de imagenes manual que se mueva a mano a lo largo y/o alrededor de un objeto fotografiado mientras se capturan conjuntos de imagenes. La captura de imagenes se puede activar, por ejemplo, a intervalos regulares, a intervalos irregulares (tal como al completar el procesamiento de un conjunto de imagenes anterior), o a intervalos activados manualmente o usando algun otro mecanismo de activacion.
Como se muestra en la etapa 308, se puede calcular una primera nube de puntos (PC1) a partir del conjunto de imagenes (IS1). Se pueden utilizar varias tecnicas para calcular los valores de los puntos tridimensionales a partir del conjunto de imagenes. Por ejemplo, las tecnicas de emparejamiento estereoscopico incluyen las medidas probabilisticas de similitud de imagen, tal como informacion mutua o correlacion de intensidades de pixeles. Otros tipos de obtenciones adecuadas incluyen, por ejemplo, flujo optico utilizando gradientes espaciales y/o temporales. Como se menciono anteriormente, en una configuracion de camara estereoscopica, el conjunto de imagenes incluye, de forma tipica, dos imagenes. Sin embargo, se pueden incluir tres o mas imagenes en un conjunto de imagenes usando una configuracion de camara de multiples orificios, tal como una camara de tres o cuatro orificios, o sistemas de camara similares. Tambien debe apreciarse que la primera nube de puntos no necesita incluir todos o incluso la mayoria de los puntos que podrian recuperarse del conjunto de imagenes. La nube de puntos puede, por ejemplo, calcularse a partir de una malla dispersa del conjunto de imagenes (con relacion a la densidad de pixeles del conjunto de imagenes original). Esta disposicion puede ser especialmente adecuada para acelerar el procesamiento en aplicaciones de formacion de imagenes en tiempo real. La malla dispersa se puede obtener de cualquier subconjunto de pixeles en el conjunto de imagenes. Las cuadriculas rectangulares regulares, por ejemplo, son especialmente adecuadas para los metodos jerarquicos que utilizan submuestreo de imagenes. Sin embargo, se pueden usar otras mallas, tales como triangular, cuadrada o similares, para seleccionar pixeles separados de forma regular o irregular en el conjunto de imagenes para la obtencion de una nube de puntos.
Como se muestra en la etapa 310, a continuacion se puede establecer la correspondencia entre pixeles del primer conjunto de imagenes (IS1) y pixeles del segundo conjunto de imagenes (IS2). Para reducir la complejidad del calculo, se puede establecer la correspondencia de forma ventajosa para un subconjunto de pixeles, que puede ser mas especificamente el subconjunto o malla de pixeles descritos anteriormente. La correspondencia puede establecerse usando, por ejemplo, un emparejamiento de imagenes basado en la correlacion. Tambien se conocen otras tecnicas, tales como el flujo optico, y pueden emplearse adecuadamente, sobre todo cuando el movimiento relativo entre imagenes consecutivas es pequeno. En una realizacion que utiliza una camara de multiples orificios que incluye un orificio centrado en el eje optico de la camara, puede utilizarse la imagen alineada con el eje de cada conjunto de imagenes para la correspondencia.
Cuando los datos de la fuente son adecuadamente densos, la correspondencia pueden asumirse de manera fiable para puntos seleccionados utilizando, por ejemplo, las mallas indicadas anteriormente. Sin embargo, se apreciara que pueden eliminarse puntos de la primera nube de puntos (PC1) cuando no se pueda establecer ninguna correspondencia o existan otras razones cuantitativas, cualitativas o normalizadas para dudar de la exactitud o el valor de tales puntos. Mas generalmente, se pueden realizar muchas variaciones y modificaciones a la generacion de la nube de puntos, ya sea mediante el procesamiento de datos de pixeles bidimensionales o la seleccion de puntos tridimensionales obtenidos de aquellos, sin apartarse del alcance de esta descripcion.
Como se muestra en la etapa 312, se puede obtener una segunda nube de puntos (PC2) de pixeles del segundo conjunto de imagenes (IS2), generalmente utilizando las tecnicas anteriormente descritas con referencia a la etapa 308. Se observara que la nube de puntos puede obtenerse solo para un subconjunto de pixeles del segundo conjunto de imagenes que tenga pixeles correspondientes en el primer conjunto de imagenes, es decir, un subconjunto de pixeles para el cual haya puntos correspondientes en la primera nube de puntos. Esta tecnica permite, de forma ventajosa, procesos posteriores de registro o transformacion que se deben realizar en puntos de datos comunes entre fotogramas para nubes de puntos tridimensionales consecutivas. En otras realizaciones, se puede obtener una nube de puntos completa (p. ej., una nube de puntos que incluya puntos adicionales que no tengan pixeles correspondientes) de los datos de la camara en la segunda posicion o, expresado de manera diferente, la segunda nube de puntos puede obtenerse independientemente de la(s) etapa(s) de correspondencia indicada(s) anteriormente. Esto puede incluir, por ejemplo, la recuperacion de todos los pixeles en el segundo conjunto de imagenes independientemente de la correspondencia entre el primer y el segundo conjunto de imageries, lo que puede, por ejemplo, permitir la generation paralela de la primera y segunda nubes de puntos. En dichas realizaciones, una segunda nube de puntos (PC2) usada para el procesamiento posterior puede seleccionarse de la nube de puntos completa basandose en la correspondencia de los pixeles descrita anteriormente.
Como se muestra en la etapa 316, se puede determinar un movimiento desde la primera position de la camara hasta la segunda posicion de la camara. Como con otras etapas descritas en la presente memoria, se pueden emplear varias tecnicas. En una realization, se puede calcular una transformation rigida que incluya una matriz (R) de rotation tridimensional y un vector (t) de traslacion tridimensional para N puntos correspondientes de la primera y la segunda nube de puntos minimizando los errores residuales de ajuste, como se caracterizada por la ecuacion:
Figure imgf000008_0001
De forma alternativa, cuando se pueda obtener una medida de confianza para cada punto correspondiente, se puede emplear una formulation ponderada para la transformacion rigida, donde cada punto, i, se pondera de forma separada con un factor de ponderacion, w.
Figure imgf000008_0002
La expresion en la Ec. 3 o Ec. 4 tiene una solution de forma cerrada usando, por ejemplo, una descomposicion de valores singular (tal como se describe en K. S. Arun, T. S. Huang y S. D. Blostein, Least-squares fitting of two 3-D point sets, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 9, 5s edition, pags. 698 - 700, 1987) incorporado en su totalidad como referencia en la presente memoria) o una descomposicion de valor propio-vector propio (como se describe en Berthold K. P. Horn, Hugh M. Hilden, y Shahriar Negahdaripour, Closed-form solution of absolute orientation using orthonormal matrices. Journal of the Optical Society of America, 5(7) :1127-1135, 1988, incorporado en su totalidad como referencia en la presente memoria). Mas generalmente, la transformacion rigida puede basarse en la minimization de una funcion de error, tal como un ajuste del error cuadratico medio minimo o un ajuste del error cuadratico medio minimo robusto de los datos de nube de puntos para dos nubes de puntos. El movimiento de la camara desde la primera posicion hasta la segunda posicion es la inversa de esta transformacion. Se apreciara que, en general, se requieren multiples puntos para obtener la transformacion rigida mencionada anteriormente y, mas especialmente, al menos tres puntos no colineales. Como una ventaja significativa, este enfoque permite el calculo de una transformacion rigida usando puntos que se sabe que estan presentes en ambas nubes de puntos.
Como se muestra en la etapa 318, se puede determinar si se deben capturar conjuntos de imagenes adicionales para, p. ej., PC3, PC4,.... Esta determination puede controlarse, por ejemplo, por la entrada del usuario al ordenador descrita anteriormente, tal como la selection de un boton de “captation final” o similar, o puede controlarse automaticamente segun, p. ej., los limites de la capacidad de memoria, una duration de grabacion predeterminada o cualquier otro criterio adecuado. Si no hay que captar conjuntos de imagenes adicionales, el proceso 300 puede terminar 320.
Si se van a captar mas conjuntos de imagenes, el proceso 300 puede pasar a la etapa 322 donde se puede recibir un conjunto de imagenes siguiente desde una posicion siguiente, como se ha descrito, en general, anteriormente. Como se muestra en la etapa 324, las correspondencias de los pixeles puede establecerse entre los conjuntos de imagenes actuales y anteriores, de nuevo como se ha descrito, en general, anteriormente. Como se muestra en la etapa 326, se puede obtener una nube de puntos para el siguiente conjunto de imagenes usando las correspondencias establecidas en la etapa 324, de nuevo como se ha descrito, en general, anteriormente. Como se muestra en la etapa 328, el movimiento entre posiciones consecutivas puede determinarse utilizando datos de nubes de puntos de posiciones consecutivas, de nuevo como se ha descrito anteriormente.
Como se muestra en la etapa 330, se puede determinar si se deben capturar conjuntos de imagenes adicionales para, p. ej., nubes de puntos adicionales. Esta determinacion puede controlarse, por ejemplo, por la entrada del usuario al ordenador descrita anteriormente, tal como la seleccion de un boton de “ captacion final” o similar, o puede controlarse automaticamente segun, p. ej., los limites de la capacidad de memoria, una duracion de grabacion predeterminada o cualquier otro criterio adecuado. Si se van a captar conjuntos de imagenes adicionales, el proceso 300 puede volver a la etapa 322, en donde puede capturarse un conjunto de imagenes siguientes consecutivas, y asi sucesivamente. Por consiguiente el proceso puede repetirse para cualquier numero de conjuntos de imagenes consecutivas, en funcion de las limitaciones de procesamiento y almacenamiento del equipo y la camara.
Si no hay que captar conjuntos de imagenes adicionales, el proceso 300 puede pasar al final 332. Toda la secuencia de imagenes y/o trayectoria de la camara se puede almacenar en el ordenador u otro dispositivo de almacenamiento adecuado, tal como almacenamiento vinculado a una red, dispositivo de almacenamiento masivo externo o similar. Ademas, se puede formar una nube de puntos global concatenando datos de pares de conjuntos de imagenes secuenciales, y la nube de puntos global puede almacenarse ademas o en lugar de la trayectoria de la camara, el conjunto de imagenes y o los datos de nubes de puntos para los datos de varias posiciones de la camara.
Se apreciara que las etapas anteriores pueden variarse, por ejemplo, utilizando tecnicas de flujo optico para determinar la correspondencia entre los pixeles en conjuntos de imagenes adyacentes, y que el orden de las etapas puede cambiarse, tal como obteniendo la primera nube de puntos antes de adquirir el segundo conjunto de imagenes. De forma adicional, se pueden anadir u omitir algunas etapas o se pueden combinar multiples etapas. De manera similar, en algunos entornos informaticos, algunas etapas pueden realizarse en paralelo o algunas etapas pueden distribuirse entre mas de un proceso o procesador. Asimismo, como se ha indicado anteriormente, en algunas realizaciones la camara puede permanecer en una posicion fija y se puede determinar el movimiento de uno o mas objetos fotografiados que se mueven dentro del plano de imagen.
En otras realizaciones, se puede obtener una primera nube de puntos y una segunda nube de puntos del primer y segundo conjunto de imagenes antes de cualquier procesamiento entre fotogramas. Tambien se pueden obtener ventajas de procesamiento significativas realizando etapas de calculo de registro o transformacion posteriores en un subconjunto de puntos correspondientes, determinado utilizando, por ejemplo, las mallas descritas anteriormente, junto con un analisis de datos de pixeles bidimensionales de los que se obtienen las nubes de puntos. Por lo tanto, en una realizacion, un metodo descrito en la presente memoria puede incluir obtener una primera nube de puntos de un primer conjunto de imagenes, obtener una segunda nube de puntos de un segundo conjunto de imagenes e identificar un numero de puntos correspondientes entre la primera nube de puntos y la segunda la nube de puntos empleando datos bidimensionales del primer y segundo conjunto de imagenes. El procesamiento posterior, tal como calcular una transformacion rigida, obtener de esta el movimiento de la camara, o registrar las nubes de puntos entre si, puede realizarse en los puntos correspondientes. En diversas aplicaciones, las nubes de puntos pueden recortarse explicitamente para que contengan solamente los puntos correspondientes, o se pueden llevar a cabo las etapas de procesamiento posteriores para un subconjunto identificado de puntos dentro de la(s) nube(s) de puntos. Por lo tanto, se apreciara que el procesamiento de puntos correspondientes en un numero de nubes de puntos se puede abordar mecanicamente de varias maneras.
En otras realizaciones, la correspondencia entre los pixeles en datos de imagenes bidimensionales puede determinarse antes de la generacion de cualquier dato de nube de puntos para cada lugar de la camara.
Un experto en la tecnica reconoceria todas estas variaciones congruentes con las reivindicaciones que siguen a esta descripcion y que estan previstas en el alcance de esta descripcion.
Se apreciara que el proceso anterior se puede realizar en el hardware, software o cualquier combinacion de estos adecuada para las tecnicas de formacion de imagenes tridimensionales descritas en la presente memoria. El proceso puede realizarse en uno o mas microprocesadores, microcontroladores, microcontroladores integrados, procesadores de senales digitales programables u otro dispositivo programable, junto con memoria interna y/o externa. El proceso puede, de forma adicional o alternativa, incluir un circuito integrado especifico de una aplicacion, una matriz de puertas programable, una logica de matrices programables, o cualquier otro dispositivo que pueda configurarse para procesar senales electronicas. Se apreciara ademas que el proceso puede realizarse como codigo ejecutable por ordenador creado usando un lenguaje de programacion estructurado como C, un lenguaje de programacion orientado a un objeto como C++, o cualquier otro lenguaje de programacion de nivel superior o nivel inferior (incluidos los lenguajes ensambladores, lenguajes de descripcion del hardware y lenguajes y tecnologias de programacion de bases de datos) que pueden almacenarse, compilarse o interpretarse para que se ejecute uno de los dispositivos antes mencionados, asi como combinaciones heterogeneas de procesadores, arquitecturas de procesadores o combinaciones de diferentes hardwares y softwares. Al mismo tiempo, el procesamiento puede distribuirse a traves de la camara y/o el ordenador de varias maneras, o se puede integrar toda la funcionalidad en un dispositivo de captura de imagenes independiente dedicado. Todas estas permutaciones y combinaciones estan previstas en el alcance de la presente descripcion.
El metodo descrito anteriormente puede complementarse con tecnicas o etapas de procesamiento adicionales, tales como el mecanismo de recuperacion de fallos y las tecnicas de transformacion directa e inversa descritas a continuation.
La Fig. 4 ilustra un mecanismo de recuperacion de fallos. En una serie de imagenes consecutivas, 402, 404, 406 que representan nubes de puntos de un numero de posiciones de camara, cada nube de puntos puede estar relacionada con su nube de puntos secuencial adyacente mediante una transformacion directa, Ti, T2. A veces, puede ser que una transformacion directa no recupere con exactitud el movimiento de la camara para nubes de puntos correspondientes. Por lo tanto, en el ejemplo de la Fig. 4, la segunda transformacion T2 puede no recuperar el movimiento de la camara desde la segunda imagen consecutiva 404 hasta la tercera imagen consecutiva 406. En tales casos, el movimiento de la camara entre fotogramas adyacentes puede recuperarse siempre que se pueda obtener una tercera transformacion rigida T3 de la primera posicion de la camara hasta la tercera posicion de la camara. En tales casos, la primera transformacion directa puede calcularse como el producto interno de la inversa de la primera transformacion directa Ti y la tercera transformacion T3:
T, = T-' ■ r, [Ec.5]
En una aplicacion mas general de este enfoque de recuperacion de errores se pueden reducir los fotogramas, por ejemplo, para aumentar la velocidad de procesamiento, sin perdida de datos del movimiento de la camara o de las nubes de puntos, siempre que se puedan calcular las transformaciones rigidas para extender las imagenes reducidas. Por lo tanto, en una realizacion, la velocidad de procesamiento puede mejorarse reduciendo los fotogramas en cualquier proporcion adecuada que continue permitiendo la recuperacion del movimiento de la camara a traves del resto de fotogramas.
La Fig. 5 ilustra una tecnica de registro mejorada. En esta tecnica, las nubes de puntos, PCi y PCs, pueden complementarse tras el registro con puntos correspondientes adicionales de los conjuntos de imagenes. Es decir, una vez que una transformacion rigida esta caracterizada entre puntos correspondientes (indicados como “x” en la Fig. 5) en las nubes 502, 504 de puntos, los puntos correspondientes adicionales (indicados como “o” en la Fig. 5) pueden recuperarse con relativamente poco calculo. Como se muestra en la Fig. 5, los puntos correspondientes, x, entre la primera nube de puntos y la segunda nube de puntos pueden relacionarse a traves de una transformacion 506, T, r. Ademas de confirmar el registro a traves de una transformacion inversa 510, los puntos correspondientes adicionales, o, pueden recuperarse en la operacion inversa y pueden usarse para complementar las nubes de puntos.
Si bien la invencion se ha descrito en relacion con ciertas realizaciones preferidas, el experto en la tecnica reconocera otras realizaciones y todas estas variaciones, modificaciones y sustituciones estan previstas en el alcance de esta descripcion. Por lo tanto, la invencion se entendera con referencia a las siguientes reivindicaciones.

Claims (9)

REIVINDICACIONES:
1. Un metodo que comprende:
recibir un primer conjunto de imagenes, incluyendo el primer conjunto de imagenes una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posicion; recibir un segundo conjunto de imagenes, incluyendo el segundo conjunto de imagenes una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posicion;
obtener una primera nube de puntos del primer conjunto de imagenes;
identificar un numero de pixeles correspondientes entre un numero de pixeles de una de la primera pluralidad de vistas bidimensionales y un numero de pixeles de una de la segunda pluralidad de vistas bidimensionales;
obtener una segunda nube de puntos del numero de pixeles correspondientes del segundo conjunto de imagenes; y
determinar un movimiento desde la primera posicion hasta la segunda posicion utilizando la primera nube de puntos y la segunda nube de puntos,
en donde, cuando el objeto fotografiado es sustancialmente mayor que un plano de imagen del primer conjunto de imagenes, el metodo ademas comprende la repeticion de las etapas anteriores para una pluralidad de conjuntos de imagenes consecutivas, para lo cual se construye una nube de puntos global para el objeto fotografiado, y
en donde, cuando uno de una pluralidad de movimientos consecutivos no puede determinarse directamente de los datos de las nubes de puntos de las vistas consecutivas, el metodo ademas comprende recuperar el uno de la pluralidad de movimientos consecutivos a traves de una transformacion inversa de uno o mas movimientos siguientes consecutivos para una o mas nubes de puntos siguientes consecutivas.
2. El metodo de la reivindicacion 1 en donde determinar el movimiento incluye la ponderacion de uno o mas puntos de las nubes de puntos segun la confianza.
3. El metodo de la reivindicacion 1 en donde la primera nube de puntos incluye un subconjunto de puntos reconstruidos a partir del primer conjunto de imagenes, comprendiendo ademas el metodo obtener el subconjunto de puntos de una malla dispersa de pixeles dentro del primer conjunto de imagenes.
4. El metodo de la reivindicacion 1 que ademas comprende complementar la primera nube de puntos con uno o mas puntos adicionales del primer conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el segundo conjunto de imagenes.
5. Un programa informatico incorporado en un medio legible por ordenador que comprende un codigo informatico que, al ser ejecutado en un ordenador, hace que el ordenador realice el metodo de una cualquiera de las reivindicaciones anteriores.
6. Un sistema que comprende:
una camara configurada para capturar un primer conjunto de imagenes que incluye una primera pluralidad de vistas bidimensionales de un objeto fotografiado desde una primera posicion y un segundo conjunto de imagenes que incluye una segunda pluralidad de vistas bidimensionales de un objeto fotografiado desde una segunda posicion; y
un procesador acoplado comunicado con la camara, configurado el procesador para obtener una primera nube de puntos del primer conjunto de imagenes, identificar un numero de pixeles correspondientes entre un numero de pixeles de una de la primera pluralidad de vistas bidimensionales y un numero de pixeles de una de la segunda pluralidad de vistas bidimensionales, y obtener una segunda nube de puntos del numero de pixeles a partir del numero de pixeles correspondientes del segundo conjunto de imagenes, siendo el numero de pixeles correspondientes del segundo conjunto de imagenes un subconjunto de pixeles del segundo conjunto de imagenes, configurado el procesador ademas para determinar un movimiento desde la primera posicion hasta la segunda posicion usando la primera nube de puntos y la segunda nube de puntos,
en donde, cuando el objeto fotografiado es sustancialmente mayor que un plano de imagen del primer conjunto de imagenes, la camara captura una pluralidad adicional de conjuntos de imagenes consecutivas y el procesador se configura para obtener una pluralidad de nubes de puntos adicionales y determinar una pluralidad de movimientos consecutivos a partir de estas, para lo cual se construye una nube de puntos global para el objeto fotografiado, y
en donde, cuando uno de la pluralidad de movimientos consecutivos no puede determinarse directamente de los datos de las nubes de puntos de los conjuntos de imagenes consecutivas, configurado el procesador ademas, para recuperar uno de la pluralidad de movimientos consecutivos a traves de una transformacion inversa de uno o mas movimientos siguientes consecutivos para una o mas nubes de puntos siguientes consecutivas.
7. El sistema de la reivindicacion 6 en donde el procesador se configura ademas para complementar la primera nube de puntos con uno o mas puntos adicionales del primer conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el segundo conjunto de imagenes.
8. El sistema de la reivindicacion 6 en donde el procesador se configura ademas para complementar la segunda nube de puntos con uno o mas puntos adicionales del segundo conjunto de imagenes que tenga uno o mas puntos correspondientes adicionales en el primer conjunto de imagenes.
9. El sistema de la reivindicacion 6 en donde la camara incluye una pluralidad de camaras en una relacion fija entre si.
ES06827924T 2005-11-09 2006-11-09 Determinación del movimiento de una cámara Active ES2713857T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/270,135 US7605817B2 (en) 2005-11-09 2005-11-09 Determining camera motion
PCT/US2006/060724 WO2007056768A2 (en) 2005-11-09 2006-11-09 Determining camera motion

Publications (1)

Publication Number Publication Date
ES2713857T3 true ES2713857T3 (es) 2019-05-24

Family

ID=38003283

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06827924T Active ES2713857T3 (es) 2005-11-09 2006-11-09 Determinación del movimiento de una cámara

Country Status (5)

Country Link
US (2) US7605817B2 (es)
EP (2) EP3489897A1 (es)
JP (1) JP2009515493A (es)
ES (1) ES2713857T3 (es)
WO (1) WO2007056768A2 (es)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8797392B2 (en) 2005-01-05 2014-08-05 Avantis Medical Sytems, Inc. Endoscope assembly with a polarizing filter
US8182422B2 (en) 2005-12-13 2012-05-22 Avantis Medical Systems, Inc. Endoscope having detachable imaging device and method of using
US20060149129A1 (en) * 2005-01-05 2006-07-06 Watts H D Catheter with multiple visual elements
US8872906B2 (en) 2005-01-05 2014-10-28 Avantis Medical Systems, Inc. Endoscope assembly with a polarizing filter
US8289381B2 (en) 2005-01-05 2012-10-16 Avantis Medical Systems, Inc. Endoscope with an imaging catheter assembly and method of configuring an endoscope
US7605817B2 (en) * 2005-11-09 2009-10-20 3M Innovative Properties Company Determining camera motion
US7698014B2 (en) 2006-01-20 2010-04-13 3M Innovative Properties Company Local enforcement of accuracy in fabricated models
US7813591B2 (en) 2006-01-20 2010-10-12 3M Innovative Properties Company Visual feedback of 3D scan parameters
WO2007087421A2 (en) 2006-01-23 2007-08-02 Avantis Medical Systems, Inc. Endoscope
US8287446B2 (en) 2006-04-18 2012-10-16 Avantis Medical Systems, Inc. Vibratory device, endoscope having such a device, method for configuring an endoscope, and method of reducing looping of an endoscope
JP2009537284A (ja) 2006-05-19 2009-10-29 アヴァンティス メディカル システムズ インコーポレイテッド 画像を作成しかつ改善するためのシステムおよび方法
US8531457B2 (en) * 2006-11-29 2013-09-10 Technion Research And Development Foundation Ltd. Apparatus and method for finding visible points in a cloud point
PE20080048A1 (es) 2006-12-20 2008-02-25 Scanalyse Pty Ltd Sistema para la medicion del desplazamiento de una superficie relativa a una base de referencia
US8089635B2 (en) * 2007-01-22 2012-01-03 California Institute Of Technology Method and system for fast three-dimensional imaging using defocusing and feature recognition
KR20090107536A (ko) * 2007-01-22 2009-10-13 캘리포니아 인스티튜트 오브 테크놀로지 정량적 3-d 이미징을 위한 방법
US8064666B2 (en) * 2007-04-10 2011-11-22 Avantis Medical Systems, Inc. Method and device for examining or imaging an interior surface of a cavity
WO2008133959A1 (en) 2007-04-23 2008-11-06 California Institute Of Technology Single-lens 3-d imaging device using a polarization-coded aperture maks combined with a polarization-sensitive sensor
CN100580370C (zh) * 2007-05-30 2010-01-13 北京航空航天大学 基于双面靶标的流动式三维视觉测量拼接方法
CN105096372B (zh) 2007-06-29 2019-10-29 米德马克公司 视频数据和三维模型数据的同步视图
WO2009006303A2 (en) * 2007-06-29 2009-01-08 3M Innovative Properties Company Video-assisted margin marking for dental models
CN101878006B (zh) * 2007-11-28 2017-04-12 3M创新有限公司 数字上漆的牙齿制品
EP2224894A1 (en) * 2007-11-28 2010-09-08 3M Innovative Properties Company Digitally-machined smc dental articles
EP2227172B1 (en) * 2007-11-28 2018-04-18 3M Innovative Properties Company Fabrication of dental articles using digitally-controlled reductive and digitally-controlled additive processes
CN101878005A (zh) * 2007-11-28 2010-11-03 3M创新有限公司 化合物smc牙研磨坯料
WO2009073439A1 (en) * 2007-11-28 2009-06-11 3M Innovative Properties Company Smc crown shells
DE112009000094T5 (de) 2008-01-04 2010-11-11 3M Innovative Properties Co., St. Paul Verfeinerung dreidimensionaler Modelle
TW200937109A (en) * 2008-02-22 2009-09-01 Asia Optical Co Inc Image pickup methods and image pickup systems
US8737721B2 (en) 2008-05-07 2014-05-27 Microsoft Corporation Procedural authoring
US8204299B2 (en) * 2008-06-12 2012-06-19 Microsoft Corporation 3D content aggregation built into devices
WO2010027391A2 (en) 2008-08-27 2010-03-11 California Institute Of Technology Method and device for high-resolution three-dimensional imaging which obtains camera pose using defocusing
US8731313B2 (en) * 2009-03-23 2014-05-20 Level Set Systems, Inc. Method and apparatus for accurate compression and decompression of three-dimensional point cloud data
US8340400B2 (en) * 2009-05-06 2012-12-25 Honeywell International Inc. Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features
CN102365655A (zh) 2009-06-10 2012-02-29 三菱电机株式会社 图像核对装置以及使用了该图像核对装置的患者定位装置
CN102802520B (zh) 2009-06-17 2015-04-01 3形状股份有限公司 聚焦扫描设备
US8773507B2 (en) * 2009-08-11 2014-07-08 California Institute Of Technology Defocusing feature matching system to measure camera pose with interchangeable lens cameras
WO2011031538A2 (en) * 2009-08-27 2011-03-17 California Institute Of Technology Accurate 3d object reconstruction using a handheld device with a projected light pattern
WO2011034780A1 (en) 2009-09-15 2011-03-24 3M Innovative Properties Company Dental implant abutments and methods of use
WO2011034781A2 (en) 2009-09-15 2011-03-24 3M Innovative Properties Company Method of making dental implant model and articles
WO2011096252A1 (ja) * 2010-02-02 2011-08-11 コニカミノルタホールディングス株式会社 画像処理システム、画像処理方法、およびプログラム
US8199977B2 (en) * 2010-05-07 2012-06-12 Honeywell International Inc. System and method for extraction of features from a 3-D point cloud
US8973269B2 (en) 2010-06-17 2015-03-10 3M Innovative Properties Company Methods of making biomimetic dental appliances
US8973268B2 (en) 2010-06-17 2015-03-10 3M Innovative Properties Company Methods of making multi-chromatic dental appliances
WO2011162965A1 (en) 2010-06-24 2011-12-29 3M Innovative Properties Company Aqueous composition suitable for intra-oral scanning methods
JP5526233B2 (ja) * 2010-06-28 2014-06-18 富士フイルム株式会社 立体視用画像撮影装置およびその制御方法
US8660365B2 (en) 2010-07-29 2014-02-25 Honeywell International Inc. Systems and methods for processing extracted plane features
CN103221975B (zh) * 2010-09-03 2017-04-19 加州理工学院 三维成像系统
WO2012061549A2 (en) * 2010-11-03 2012-05-10 3Dmedia Corporation Methods, systems, and computer program products for creating three-dimensional video sequences
US20120150573A1 (en) * 2010-12-13 2012-06-14 Omar Soubra Real-time site monitoring design
EP2654604A1 (en) 2010-12-22 2013-10-30 3M Innovative Properties Company Fireable dental blank assembly
EP2654605A1 (en) 2010-12-22 2013-10-30 3M Innovative Properties Company Methods of making multilayer anatomical all-ceramic dental appliances
WO2012115862A2 (en) 2011-02-22 2012-08-30 3M Innovative Properties Company Space carving in 3d data acquisition
CN103392191B (zh) 2011-02-22 2016-09-28 3M创新有限公司 混合拼接
US8718748B2 (en) 2011-03-29 2014-05-06 Kaliber Imaging Inc. System and methods for monitoring and assessing mobility
US8521418B2 (en) 2011-09-26 2013-08-27 Honeywell International Inc. Generic surface feature extraction from a set of range data
US20130141433A1 (en) * 2011-12-02 2013-06-06 Per Astrand Methods, Systems and Computer Program Products for Creating Three Dimensional Meshes from Two Dimensional Images
EP2672461A1 (de) * 2012-06-05 2013-12-11 a.tron3d GmbH Verfahren zum Fortsetzen von Aufnahmen zum Erfassen von dreidimensionalen Geometrien von Objekten
US8754887B2 (en) * 2012-07-20 2014-06-17 Google Inc. Determining three-dimensional (3D) object data models based on object movement
US20140162779A1 (en) * 2012-11-20 2014-06-12 Morinoske Co., Ltd. Curvate Motion Sensing and Control System
US9153067B2 (en) 2013-01-21 2015-10-06 Honeywell International Inc. Systems and methods for 3D data based navigation using descriptor vectors
CN105229703B (zh) * 2013-05-23 2018-02-09 谷歌有限责任公司 用于使用感测的位置数据来生成三维模型的系统和方法
CH709003B1 (de) * 2013-12-18 2017-06-15 Kaba Ag Distanzbestimmung aus Bildern mit Referenzobjekt.
WO2015118120A1 (en) 2014-02-07 2015-08-13 3Shape A/S Detecting tooth shade
US9591286B2 (en) 2014-05-14 2017-03-07 3M Innovative Properties Company 3D image capture apparatus with depth of field extension
US9626462B2 (en) 2014-07-01 2017-04-18 3M Innovative Properties Company Detecting tooth wear using intra-oral 3D scans
US20160012646A1 (en) * 2014-07-10 2016-01-14 Perfetch, Llc Systems and methods for constructing a three dimensional (3d) color representation of an object
JP6442193B2 (ja) * 2014-08-26 2018-12-19 株式会社トプコン 点群位置データ処理装置、点群位置データ処理システム、点群位置データ処理方法およびプログラム
US10192003B2 (en) 2014-09-08 2019-01-29 3M Innovative Properties Company Method of aligning intra-oral digital 3D models
US9600892B2 (en) * 2014-11-06 2017-03-21 Symbol Technologies, Llc Non-parametric method of and system for estimating dimensions of objects of arbitrary shape
US9396554B2 (en) 2014-12-05 2016-07-19 Symbol Technologies, Llc Apparatus for and method of estimating dimensions of an object associated with a code in automatic response to reading the code
EP3232984B1 (en) 2014-12-09 2020-07-01 3M Innovative Properties Company Dental restoration molding techniques
US20160191901A1 (en) 2014-12-24 2016-06-30 3M Innovative Properties Company 3d image capture apparatus with cover window fiducials for calibration
US9737257B2 (en) 2015-01-30 2017-08-22 3M Innovative Properties Company Estimating and predicting tooth wear using intra-oral 3D scans
US9646410B2 (en) * 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
US10163247B2 (en) 2015-07-14 2018-12-25 Microsoft Technology Licensing, Llc Context-adaptive allocation of render model resources
US9665978B2 (en) 2015-07-20 2017-05-30 Microsoft Technology Licensing, Llc Consistent tessellation via topology-aware surface tracking
US10032271B2 (en) 2015-12-10 2018-07-24 3M Innovative Properties Company Method for automatic tooth type recognition from 3D scans
EP3967261A1 (en) 2015-12-17 2022-03-16 3M Innovative Properties Company Dental restoration molds
JP6878436B2 (ja) 2015-12-17 2021-05-26 スリーエム イノベイティブ プロパティズ カンパニー 歯科修復物用モールド
US11406264B2 (en) 2016-01-25 2022-08-09 California Institute Of Technology Non-invasive measurement of intraocular pressure
US10352689B2 (en) 2016-01-28 2019-07-16 Symbol Technologies, Llc Methods and systems for high precision locationing with depth values
US10145955B2 (en) 2016-02-04 2018-12-04 Symbol Technologies, Llc Methods and systems for processing point-cloud data with a line scanner
US10410430B2 (en) 2016-02-12 2019-09-10 3M Innovative Properties Company Synchronization and animation of views showing digital 3D models of teeth
USD795270S1 (en) 2016-02-12 2017-08-22 3M Innovative Properties Company Display screen or portion thereof with graphical user interface
US10721451B2 (en) 2016-03-23 2020-07-21 Symbol Technologies, Llc Arrangement for, and method of, loading freight into a shipping container
US9805240B1 (en) 2016-04-18 2017-10-31 Symbol Technologies, Llc Barcode scanning and dimensioning
US20190216690A1 (en) 2016-05-27 2019-07-18 3M Innovative Properties Company Coating compositions having particles with differing refractive indices for use in intraoral scanning methods
US20190201296A1 (en) 2016-05-27 2019-07-04 3M Innovative Properties Company Coating compositions having hydrophilic and hydrophobic particles for use in intraoral scanning methods
US10304190B2 (en) 2016-06-29 2019-05-28 3M Innovative Properties Company Virtual model of articulation from intra-oral scans
EP3957267A1 (en) 2016-07-26 2022-02-23 3M Innovative Properties Company Dental restoration molds
US11547530B2 (en) 2016-07-26 2023-01-10 3M Innovative Properties Company Dental restoration molds
US10776661B2 (en) 2016-08-19 2020-09-15 Symbol Technologies, Llc Methods, systems and apparatus for segmenting and dimensioning objects
US20180098828A1 (en) 2016-10-07 2018-04-12 3M Innovative Properties Company Ceramic dental restorations made by additive manufacturing
US11042161B2 (en) 2016-11-16 2021-06-22 Symbol Technologies, Llc Navigation control method and apparatus in a mobile automation system
US10451405B2 (en) 2016-11-22 2019-10-22 Symbol Technologies, Llc Dimensioning system for, and method of, dimensioning freight in motion along an unconstrained path in a venue
US10354411B2 (en) 2016-12-20 2019-07-16 Symbol Technologies, Llc Methods, systems and apparatus for segmenting objects
US10565787B1 (en) * 2017-01-27 2020-02-18 NHIAE Group, LLC Systems and methods for enhanced 3D modeling of a complex object
US11367092B2 (en) 2017-05-01 2022-06-21 Symbol Technologies, Llc Method and apparatus for extracting and processing price text from an image set
US10663590B2 (en) 2017-05-01 2020-05-26 Symbol Technologies, Llc Device and method for merging lidar data
US10726273B2 (en) 2017-05-01 2020-07-28 Symbol Technologies, Llc Method and apparatus for shelf feature and object placement detection from shelf images
US11449059B2 (en) 2017-05-01 2022-09-20 Symbol Technologies, Llc Obstacle detection for a mobile automation apparatus
US11093896B2 (en) 2017-05-01 2021-08-17 Symbol Technologies, Llc Product status detection system
US10949798B2 (en) 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
US10591918B2 (en) 2017-05-01 2020-03-17 Symbol Technologies, Llc Fixed segmented lattice planning for a mobile automation apparatus
EP3619600A4 (en) 2017-05-01 2020-10-21 Symbol Technologies, LLC METHOD AND APPARATUS FOR OBJECT STATE DETECTION
WO2018201423A1 (en) 2017-05-05 2018-11-08 Symbol Technologies, Llc Method and apparatus for detecting and interpreting price label text
WO2018205164A1 (en) * 2017-05-10 2018-11-15 Shanghaitech University Method and system for three-dimensional model reconstruction
US10492892B2 (en) 2017-05-17 2019-12-03 3M Innovative Properties Company Automatic alignment and orientation of digital 3D dental arch pairs
US10327693B2 (en) 2017-07-07 2019-06-25 3M Innovative Properties Company Tools for tracking the gum line and displaying periodontal measurements using intra-oral 3D scans
US10535160B2 (en) 2017-07-24 2020-01-14 Visom Technology, Inc. Markerless augmented reality (AR) system
US10282913B2 (en) * 2017-07-24 2019-05-07 Visom Technology, Inc. Markerless augmented reality (AR) system
US10572763B2 (en) 2017-09-07 2020-02-25 Symbol Technologies, Llc Method and apparatus for support surface edge detection
US10521914B2 (en) 2017-09-07 2019-12-31 Symbol Technologies, Llc Multi-sensor object recognition system and method
EP3684290A1 (en) 2017-09-19 2020-07-29 3M Innovative Properties Company Dental restoration molds
EP3460388A1 (en) 2017-09-26 2019-03-27 Hexagon Metrology (Israel) Ltd. Global positioning of a sensor with respect to different tiles for a global three-dimensional surface reconstruction
CN111315314B (zh) 2017-10-06 2022-02-22 3M创新有限公司 用于中间正畸数字排列生成的自动化方法
GB201717011D0 (en) * 2017-10-17 2017-11-29 Nokia Technologies Oy An apparatus a method and a computer program for volumetric video
TWI634515B (zh) * 2018-01-25 2018-09-01 廣達電腦股份有限公司 三維影像處理之裝置及方法
WO2019155315A1 (en) 2018-02-07 2019-08-15 3M Innovative Properties Company Standard orthodontic appliances with semi-custom bases
US10823572B2 (en) 2018-04-05 2020-11-03 Symbol Technologies, Llc Method, system and apparatus for generating navigational data
US10832436B2 (en) 2018-04-05 2020-11-10 Symbol Technologies, Llc Method, system and apparatus for recovering label positions
US10740911B2 (en) 2018-04-05 2020-08-11 Symbol Technologies, Llc Method, system and apparatus for correcting translucency artifacts in data representing a support structure
US10809078B2 (en) 2018-04-05 2020-10-20 Symbol Technologies, Llc Method, system and apparatus for dynamic path generation
US11327504B2 (en) 2018-04-05 2022-05-10 Symbol Technologies, Llc Method, system and apparatus for mobile automation apparatus localization
WO2020026117A1 (en) 2018-07-31 2020-02-06 3M Innovative Properties Company Method for automated generation of orthodontic treatment final setups
CN109190484A (zh) 2018-08-06 2019-01-11 北京旷视科技有限公司 图像处理方法、装置和图像处理设备
US11506483B2 (en) 2018-10-05 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for support structure depth determination
US11010920B2 (en) 2018-10-05 2021-05-18 Zebra Technologies Corporation Method, system and apparatus for object detection in point clouds
US11379788B1 (en) * 2018-10-09 2022-07-05 Fida, Llc Multilayered method and apparatus to facilitate the accurate calculation of freight density, area, and classification and provide recommendations to optimize shipping efficiency
US11003188B2 (en) 2018-11-13 2021-05-11 Zebra Technologies Corporation Method, system and apparatus for obstacle handling in navigational path generation
US11090811B2 (en) 2018-11-13 2021-08-17 Zebra Technologies Corporation Method and apparatus for labeling of support structures
US11079240B2 (en) 2018-12-07 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for adaptive particle filter localization
US11416000B2 (en) 2018-12-07 2022-08-16 Zebra Technologies Corporation Method and apparatus for navigational ray tracing
US11100303B2 (en) 2018-12-10 2021-08-24 Zebra Technologies Corporation Method, system and apparatus for auxiliary label detection and association
US11015938B2 (en) 2018-12-12 2021-05-25 Zebra Technologies Corporation Method, system and apparatus for navigational assistance
US10731970B2 (en) 2018-12-13 2020-08-04 Zebra Technologies Corporation Method, system and apparatus for support structure detection
CA3028708A1 (en) 2018-12-28 2020-06-28 Zih Corp. Method, system and apparatus for dynamic loop closure in mapping trajectories
US10346998B1 (en) * 2019-02-25 2019-07-09 Nurulize, Inc. Method of merging point clouds that identifies and retains preferred points
US10849723B1 (en) 2019-05-07 2020-12-01 Sdc U.S. Smilepay Spv Scanning device
US11151743B2 (en) 2019-06-03 2021-10-19 Zebra Technologies Corporation Method, system and apparatus for end of aisle detection
US11402846B2 (en) 2019-06-03 2022-08-02 Zebra Technologies Corporation Method, system and apparatus for mitigating data capture light leakage
US11341663B2 (en) 2019-06-03 2022-05-24 Zebra Technologies Corporation Method, system and apparatus for detecting support structure obstructions
US11662739B2 (en) 2019-06-03 2023-05-30 Zebra Technologies Corporation Method, system and apparatus for adaptive ceiling-based localization
US11200677B2 (en) 2019-06-03 2021-12-14 Zebra Technologies Corporation Method, system and apparatus for shelf edge detection
US11960286B2 (en) 2019-06-03 2024-04-16 Zebra Technologies Corporation Method, system and apparatus for dynamic task sequencing
US11080566B2 (en) 2019-06-03 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for gap detection in support structures with peg regions
US10841483B1 (en) * 2019-07-11 2020-11-17 Denso International America, Inc. System and method for calibrating at least one camera and a light detection and ranging sensor
US20220257341A1 (en) 2019-07-18 2022-08-18 3M Innovative Properties Company Virtual articulation in orthodontic and dental treatment planning
WO2021074828A1 (en) 2019-10-16 2021-04-22 3M Innovative Properties Company System and method for determining a force vector on a virtual dentition
US11507103B2 (en) 2019-12-04 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for localization-based historical obstacle handling
US11107238B2 (en) 2019-12-13 2021-08-31 Zebra Technologies Corporation Method, system and apparatus for detecting item facings
US11822333B2 (en) 2020-03-30 2023-11-21 Zebra Technologies Corporation Method, system and apparatus for data capture illumination control
US11450024B2 (en) 2020-07-17 2022-09-20 Zebra Technologies Corporation Mixed depth object detection
US11593915B2 (en) 2020-10-21 2023-02-28 Zebra Technologies Corporation Parallax-tolerant panoramic image generation
US11392891B2 (en) 2020-11-03 2022-07-19 Zebra Technologies Corporation Item placement detection and optimization in material handling systems
US11847832B2 (en) 2020-11-11 2023-12-19 Zebra Technologies Corporation Object classification for autonomous navigation systems
US11954882B2 (en) 2021-06-17 2024-04-09 Zebra Technologies Corporation Feature-based georegistration for mobile computing devices
US11665329B2 (en) * 2021-10-28 2023-05-30 Inuitive Ltd. Optical passive stereo assembly

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201541B1 (en) * 1997-12-11 2001-03-13 Cognitens, Ltd. System and method for “Stitching” a plurality of reconstructions of three-dimensional surface features of object(s) in a scene defined relative to respective coordinate systems to relate them to a common coordinate system
US7027642B2 (en) * 2000-04-28 2006-04-11 Orametrix, Inc. Methods for registration of three-dimensional frames to create three-dimensional virtual models of objects
JP2002024807A (ja) * 2000-07-07 2002-01-25 National Institute Of Advanced Industrial & Technology 物体運動追跡手法及び記録媒体
US6834119B2 (en) * 2001-04-03 2004-12-21 Stmicroelectronics, Inc. Methods and apparatus for matching multiple images
US6639594B2 (en) * 2001-06-03 2003-10-28 Microsoft Corporation View-dependent image synthesis
RU2216781C2 (ru) * 2001-06-29 2003-11-20 Самсунг Электроникс Ко., Лтд Основанные на изображениях способ представления и визуализации трехмерного объекта и способ представления и визуализации анимированного объекта
US7019748B2 (en) * 2001-08-15 2006-03-28 Mitsubishi Electric Research Laboratories, Inc. Simulating motion of static objects in scenes
US6816629B2 (en) * 2001-09-07 2004-11-09 Realty Mapping Llc Method and system for 3-D content creation
US20040155975A1 (en) 2002-09-17 2004-08-12 Hart Douglas P. 3-D imaging system
US7605817B2 (en) 2005-11-09 2009-10-20 3M Innovative Properties Company Determining camera motion

Also Published As

Publication number Publication date
EP1952354A2 (en) 2008-08-06
US20100013909A1 (en) 2010-01-21
US7956862B2 (en) 2011-06-07
WO2007056768A3 (en) 2008-04-03
EP3489897A1 (en) 2019-05-29
US7605817B2 (en) 2009-10-20
JP2009515493A (ja) 2009-04-09
EP1952354B1 (en) 2018-12-26
US20070103460A1 (en) 2007-05-10
WO2007056768A2 (en) 2007-05-18

Similar Documents

Publication Publication Date Title
ES2713857T3 (es) Determinación del movimiento de una cámara
US11163976B2 (en) Navigating among images of an object in 3D space
EP2620915B1 (en) Three-dimensional scan recovery
CA2620474C (en) Reconstruction render farm used in motion capture
CN110378968A (zh) 相机和惯性测量单元相对姿态的标定方法及装置
ES2881320T3 (es) Dispositivo de generación, procedimiento de generación y programa para modelo tridimensional
EP2677938A2 (en) Space carving in 3d data acquisition
WO2015054273A2 (en) Integrated tracking with fiducial-based modeling
JP7407428B2 (ja) 三次元モデル生成方法及び三次元モデル生成装置
WO2015054265A1 (en) Integrated tracking with world modeling
Kyme et al. Markerless motion estimation for motion-compensated clinical brain imaging
Vagvolgyi et al. Wide-angle, monocular head tracking using passive markers
WO2019100216A1 (zh) 3d建模方法、电子设备、存储介质及程序产品
WO2024090293A1 (ja) 三次元モデル生成方法、三次元モデル生成装置、及び三次元モデル生成プログラム
WO2024035568A1 (en) Wide-angle monocular tracking using markers