MA1

Tema

Reconstrucción de objetos 3D a través de imágenes usando python y OpenCV.

Dr. Hugo Carlos Martínez

Tráiler

Resumen

SfM es una técnica para recuperar la estructura 3D de una escena haciendo uso de una secuencia de imágenes 2D. En el proceso, la técnica también recupera la pose relativa de una vista particular (una imagen tomada por una cámara) con respecto a la primera vista de la secuencia. Es esta sesión la idea fundamental es emplear OpenCV para entender los siguientes conceptos:

 

  1. Extracción de descriptores las imágenes

  2. Coincidir características entre imágenes

  3. Geometría epipolar

  4. Reconstruir los puntos 3D

  5. Recupere la pose de la siguiente vista usando Perspective-n-Point

  6. Reconstruir el siguiente conjunto de puntos

Ponente

Dr. Hugo Carlos Martínez

 

Doctor en Ciencias y Maestría en Ciencias de la Computación por parte del Centro de Investigación en Matemáticas. Línea de investigación: algoritmos de control óptimo para problemas de planificación de  movimiento, algoritmos de visión computacional para imágenes con diferente rango dinámico, algoritmos de reconstrucción de imágenes a partir de tomografía de capacitancia eléctrica y aplicaciones de inspección visual.

correo: hcarlos@centrogeo.edu.mx

Perfil: https://www.centrogeo.org.mx/areas-profile/hcarlos

Puedes colaborar con el Dr. Hugo en: Servicio Social a Distancia, Prácticas profesionales, y en los programas de Maestría y Doctorado del CentroGeo. Algunos de las líneas de investigación relacionadas con el taller son:

  1. Modelado de inundaciones empleando nubes de puntos

  2. Súper-resolución para datos LIDAR e imágenes satelitales

  3. Visión estéreo para imágenes satelitales.

Requisitos 

  • Google Colab

  • OpenCV

Referencias:

  • Hartley, R., & Zisserman, A. (2004). Multiple View Geometry in Computer Vision (2nd ed.). Cambridge: Cambridge University Press. doi:10.1017/CBO9780511811685

  • Carrivick, J. L., Smith, M. W., & Quincey, D. J. (2016). Structure from Motion in the Geosciences. John Wiley & Sons.

  • Schonberger, J. L., & Frahm, J. M. (2016). Structure-from-motion revisited. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 4104-4113).

  • Özyeşil, O., Voroninski, V., Basri, R., & Singer, A. (2017). A survey of structure from motion*. Acta Numerica, 26, 305-364.

  • OpenCV: https://opencv.org/

Respuestas a preguntas del Formulario:

1.¿Puede utilizarse para una reconstrucción facial en el ámbito médico? Si, ya hay desarrollos para aplicar esta metodología al ámbito médico. Aunque no es común usarlas, debido a que no es posible acceder a grandes cantidades de imágenes. Aquí les dejo un par de artículos interesantes respecto al tema

a.https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5720359/

b.https://arxiv.org/pdf/1905.12988.pdf

2.¿Qué características podemos buscar en un equipo de cómputo para que pueda realizar de manera efectiva procesos como el visto en el tema? Lo ideal es tener una computadora con una buena tarjeta gráfica (al menos unos 4 GB), una memoria RAM de 16 GB. Hay librerias de SfM que no requieren ningún Hardware en específico, pero las reconstrucciones suelen tomar muchísimo tiempo y están limitadas a cierto número de imágenes para trabajar.

3.¿Cuáles son las bases que debe de tener un estudiante para desarrollar mejor el tema de la reconstrucción de imágenes 3d? Pues en general involucra dos áreas de ciencias de la computación: procesamiento de imágenes y visión computacional. Y tener un buen conocimiento de algunos temas de métodos numéricos y álgebra lineal ayuda mucho.

4.¿Se puede hacer uso de esta tecnología para la revisión de edificios en peligro de colapso después de un sismo? Es difícil, sin duda puede emplearse como herramienta auxiliar. Pero de los resultados obtenidos no siempre puede deducirse si una estructura tiene algún riesgo de colapsar. Siempre será necesario hacer un análisis con otras herramientas.

5. De los softwares de reconstrucción con los que ha trabajado ¿Cuáles son los que mejores resultados le han arrojado? Hay un sin número de herramientas gratuitas y de paga que nos permiten hacer SfM. En mi experiencia tres de las mejores son:

  • COLMAP. Probablemente la mejor herramienta Open source que hay. El único inconveniente es que exige tener una GPU de NVIDIA para funcionar.

  • MESHROOM. Impone también algunas restricciones sobre el Hardware.

  • PIX4D. Una de las mejores aplicaciones de paga.

6. ¿Qué ventajas y desventajas tiene el uso de esta herramienta con respecto a LIDAR? Las ventajas de los algoritmos de SfM es que suelen requerir elementos de menor costo que los empleados en reconstrucciones LIDAR. La desventaja es que las nubes de puntos obtenidas suelen ser más ralas y se ven fuertemente afectadas por oclusiones, por ejemplo. En realidad la tendencia actual es combinar la información obtenida por ambas metodologías.

7. ¿Cómo se haría la reconstrucción para las imágenes satelitales?¿Cómo se podría aplicar por ejemplo usando imágenes de alta resolución para mostrar alguno de los volcanes? La idea básica es emplear un conjunto de imágenes satelitales y aplicar los conceptos vistos en el taller. El problema es que el modelo geométrico empleado no corresponde exactamente a los modelos “pinhole” que comentamos, así que tienen que aproximarse. Un buen artículo para adentrarse en el tema es:

https://openaccess.thecvf.com/content_cvpr_2017_workshops/w18/papers/Facciolo_Automatic_3D_Reconstruction_CVPR_2017_paper.pdf