partir online modelos imagen fotos crear convertir image-processing 3d language-agnostic 3d-reconstruction 3d-model

image processing - online - Reconstrucción 3D-¿Cómo crear un modelo 3D a partir de una imagen 2D?



crear imagen 3d a partir de fotos online (5)

Como se mencionó, el problema es muy difícil y, a menudo, también se lo denomina reconstrucción de objetos de múltiples vistas . Por lo general, se aborda solucionando el problema de reconstrucción de visión estereoscópica para cada par de imágenes consecutivas.

La realización de la reconstrucción estéreo requiere que se tomen pares de imágenes que tengan una buena cantidad de superposición visible de puntos físicos. Necesita encontrar los puntos correspondientes para poder usar la triangulación para encontrar las coordenadas 3D de los puntos.

Geometría epipolar

La reconstrucción estéreo generalmente se realiza calibrando primero la configuración de la cámara para que pueda rectificar sus imágenes utilizando la teoría de la geometría epipolar . Esto simplifica encontrar los puntos correspondientes así como también los cálculos finales de triangulación.

Si usted tiene:

puedes calcular las matrices fundamental y esenciales usando solo la teoría de matrices y usarlas para rectificar tus imágenes. Esto requiere cierta teoría acerca de las proyecciones de coordenadas con coordenadas homogéneas y también el conocimiento del modelo de cámara estenopeica y la matriz de la cámara .

Si desea un método que no necesita los parámetros de la cámara y funciona para configuraciones desconocidas de la cámara, probablemente deba buscar métodos para la reconstrucción estéreo no calibrada .

Problema de correspondencia

Encontrar los puntos correspondientes es la parte difícil que requiere buscar puntos del mismo brillo o color, o usar patrones de textura u otras características para identificar los mismos puntos en pares de imágenes. Las técnicas para esto funcionan localmente buscando la mejor coincidencia en una pequeña región alrededor de cada punto, o globalmente al considerar la imagen como un todo.

Si ya tiene la fundamental , le permitirá rectificar las imágenes de modo que los puntos correspondientes en dos imágenes se limitarán a una línea (en teoría). Esto te ayuda a usar técnicas locales más rápidas.

Todavía no existe una técnica ideal para resolver el problema de correspondencia, pero los enfoques posibles podrían caer en estas categorías:

  • Selección manual : haga que una persona seleccione manualmente los puntos coincidentes.
  • Marcadores personalizados : coloque marcadores o use patrones / colores específicos que pueda identificar fácilmente.
  • Suma de diferencias al cuadrado : toma una región alrededor de un punto y encuentra la región de coincidencia completa más cercana en la otra imagen.
  • Recortes de gráficos : una técnica de optimización global basada en la optimización mediante la teoría de grafos.

Para implementaciones específicas, puede usar Google Scholar para buscar a través de la literatura actual. Aquí hay un artículo muy citado que compara varias técnicas: Una taxonomía y evaluación de algoritmos de correspondencia estéreo de dos marcos densos .

Reconstrucción de múltiples vistas

Una vez que tenga los puntos correspondientes, puede usar la teoría de la geometría epipolar para los cálculos de triangulación para encontrar las coordenadas 3D de los puntos.

Esta reconstrucción estéreo completa se repetiría para cada par de imágenes consecutivas (lo que implica que necesita un orden para las imágenes o al menos el conocimiento de qué imágenes tienen muchos puntos superpuestos). Para cada par calcularías una matriz fundamental diferente.

Por supuesto, debido al ruido o las imprecisiones en cada uno de estos pasos, es posible que desee considerar cómo resolver el problema de una manera más global. Por ejemplo, si tiene una serie de imágenes que se toman alrededor de un objeto y forman un bucle, esto proporciona restricciones adicionales que se pueden utilizar para mejorar la precisión de los pasos anteriores utilizando algo así como el ajuste del paquete .

Como puede ver, tanto la reconstrucción estéreo como la vista múltiple están lejos de ser problemas resueltos y aún se investigan activamente. Cuanto menos se quiera hacer de manera automatizada, más bien se definirá el problema, pero incluso en estos casos se requiere bastante teoría para comenzar.

Alternativas

Si está dentro de las limitaciones de lo que desea hacer, recomendaría considerar los sensores de hardware dedicados (como el Kinect de XBox ) en lugar de solo usar cámaras normales. Estos sensores utilizan luz estructurada, tiempo de vuelo o alguna otra técnica de imagen de rango para generar una imagen de profundidad que también pueden combinar con los datos de color de sus propias cámaras. Prácticamente resuelven el problema de reconstrucción de vista única para usted y, a menudo incluyen bibliotecas y herramientas para unir / combinar vistas múltiples.

Referencias de geometría epipolar

En realidad, mi conocimiento es bastante escaso en la mayor parte de la teoría, por lo que lo mejor que puedo hacer es proporcionarle algunas referencias que, afortunadamente, son útiles (en orden de relevancia):

No estoy seguro de qué tan útil es todo esto, pero espero que incluya suficiente terminología y referencias útiles para buscar más recursos.

Si tomo una foto con una cámara, entonces sé la distancia de la cámara al objeto, como una maqueta de una casa, me gustaría convertir esto en un modelo 3D que pueda maniobrar para poder comentar diferentes partes de la casa.

Si me siento y pienso en tomar más de una fotografía, etiquetar la dirección y la distancia, debería ser capaz de descubrir cómo hacerlo, pero pensé que podría preguntar si alguien tiene algún documento que pueda ayudar a explicar más.

El idioma que explicas no importa, ya que estoy buscando el mejor enfoque.

En este momento estoy considerando mostrar la casa, luego el usuario puede ayudar con la altura, como la distancia desde la cámara a la parte superior de esa parte del modelo, y dado lo suficiente de esto, sería posible comenzar a calcular las alturas para el resto, especialmente si hay una imagen de arriba hacia abajo, luego imágenes desde ángulos en los cuatro lados, para calcular las alturas relativas.

Entonces, las partes deberán diferir en color para ayudar a separar las diversas partes del modelo que espero también.


Eche un vistazo al Proyecto Deadalus , aunque ese sitio web no contiene una galería con información ilustrativa sobre la solución, publica varios documentos e información sobre el método de trabajo.

Vi una conferencia de uno de los principales investigadores del proyecto (Roger Hubbold), y los resultados de la imagen son bastante sorprendentes. Aunque es un problema complejo y largo. Tiene muchos detalles complicados que se deben tener en cuenta para obtener una aproximación de los datos en 3D, por ejemplo, la información 3D de las superficies de las paredes, para lo cual la heurística funciona de la siguiente manera: tome una fotografía con la iluminación normal de la escena, y luego vuelva a tomar la imagen en la misma posición con flash completo activo, luego restar ambas imágenes y dividir el resultado por una imagen de calibración flash previamente tomada, aplicar un filtro de caja a este nuevo resultado y luego postprocesar para estimar valores de profundidad, el conjunto proceso se explica en detalle en este documento (que también se publica / hace referencia en el sitio web del proyecto)


Este problema se conoce como Photogrammetry .

Google le proporcionará un sinfín de referencias, solo tenga en cuenta que si desea hacer su propia versión, es un problema muy difícil.


La investigación ha logrado un progreso significativo y en la actualidad es posible obtener formas tridimensionales bastante atractivas a partir de imágenes en 2D. Por ejemplo, en nuestro reciente trabajo de investigación titulado " Sintetizar formas tridimensionales mediante el modelado de mapas de profundidad y siluetas de múltiples vistas con redes generativas profundas " dio un gran paso para resolver el problema de obtener formas tridimensionales a partir de imágenes 2D. En nuestro trabajo, mostramos que no solo puede pasar de 2D a 3D directamente y obtener una buena reconstrucción 3D aproximada, sino que también puede aprender a distribuir formas tridimensionales de manera eficiente y generar / sintetizar formas tridimensionales. A continuación se muestra una imagen de nuestro trabajo que muestra que somos capaces de hacer reconstrucciones 3D incluso desde una única silueta o mapa de profundidad (a la izquierda). Las formas 3D terrestres se muestran a la derecha.

El enfoque que tomamos tiene algunas contribuciones relacionadas con la ciencia cognitiva o la forma en que funciona el cerebro: el modelo que construimos comparte parámetros para todas las categorías de formas en lugar de ser específico para una sola categoría. Además, obtiene representaciones consistentes y tiene en cuenta la incertidumbre de la vista de entrada al producir una forma 3D como salida. Por lo tanto, es capaz de dar naturalmente resultados significativos incluso para entradas muy ambiguas. Si observa la cita de nuestro documento, puede ver aún más progreso solo en términos de pasar de imágenes en 2D a formas en 3D.


Google Sketchup (gratis) tiene una herramienta de coincidencia de fotos que le permite tomar una fotografía y hacer coincidir su perspectiva para un modelado fácil.

EDIT: parece que estás interesado en desarrollar tu propia solución. Pensé que estabas tratando de obtener un modelo 3D de una imagen en una sola instancia. Si esta respuesta no es útil, me disculpo.