Logo UAB
2021/2022

Visión 3D

Código: 43090 Créditos ECTS: 6
Titulación Tipo Curso Semestre
4314099 Visión por Computador / Computer Vision OB 0 1
La metodología docente y la evaluación propuestas en la guía pueden experimentar alguna modificación en función de las restricciones a la presencialidad que impongan las autoridades sanitarias.

Contacto

Nombre:
Maria Vanrell Martorell
Correo electrónico:
Maria.Vanrell@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
inglés (eng)

Equipo docente

Josep Ramon Casas Pla
Javier Ruiz Hidalgo
Gloria Haro Ortega

Equipo docente externo a la UAB

Antonio Agudo
Federico Sukno
Pedro Cavestany

Prerequisitos

Grado en Ingeniería, Matemáticas, Física o similar. 

Objetivos y contextualización

Coordinadora del mòdulo: Dr. Gloria Haro

El objetivo de este módulo es aprender los principios de la reconstrucción en 3D de un objeto o de una escena a partir de múltiples imágenes o vídeos estereoscópicos. Para ello, primero se introducen los conceptos básicos de la geometría proyectiva y el espacio 3D. El resto de aspectos y aplicaciones teóricas se basan en estas herramientas básicas. Se estudiará el mapeo del mundo 3D al plano de la imagen, introduciendo diferentes modelos de cámara, sus parámetros y la forma de estimarlos (calibración de la cámara y autocalibración). Se estudiará la geometría que relaciona un par de vistas. Todos estos conceptos se aplicarán para obtener una reconstrucción 3D en las dos principales situaciones posibles: cámaras calibradas o sin calibrar. En particular, aprenderemos a: estimar la profundidad de los puntos de una imagen, extraer los puntos 3D subyacentes dados un conjunto de correspondencias puntuales en las imágenes, generar vistas nuevas, estimar el objeto 3D dado un conjunto de imágenes calibradas en color o imágenes binarias, y estimar un conjunto de puntos 3D dado un conjunto de imágenes no calibradas. Se estudiará la representación 3D en voxeles y mallas. Explicaremos la reconstrucción y modelado a partir de datos de Kinect, como un modelo particular de sensores que proporcionan una imagen de la escena junto con sus profundidades. Finalmente, veremos algunas técnicas para procesar nubes de puntos 3D. Los conceptos y técnicas aprendidas en este módulo se utilizan en aplicaciones reales que van desde la realidad aumentada, la digitalización de objetos, la captura de movimiento, la síntesis de nuevas vistas, la generación de efectosespeciales, la robótica, etc. 

 

Competencias

  • Asumir tareas de responsabilidad en la gestión de la información y el conocimiento.
  • Comprender, analizar y sintetizar los conocimientos avanzados que existen en el área, así como proponer ideas innovadoras.
  • Conceptualizar alternativas de soluciones complejas a problemas de visión y crear prototipos que demuestren la validez del sistema propuesto.
  • Identificar los conceptos y aplicar las técnicas fundamentales más adecuadas para la solución de los problemas básicos de la visión por computador.
  • Planificar, desarrollar, evaluar y gestionar soluciones a proyectos en los diferentes ámbitos de la visión por computador.
  • Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • Seleccionar las herramientas software y los conjuntos de entrenamiento más adecuados para desarrollar las soluciones a los problemas de visión por computador.
  • Trabajar en equipos multidisciplinares.

Resultados de aprendizaje

  1. Asumir tareas de responsabilidad en la gestión de la información y el conocimiento.
  2. Comprender, analizar y sintetizar los conocimientos avanzados que existen en el área, así como proponer ideas innovadoras.
  3. Identificar las mejores representaciones que se puedan definir para la resolución de problemas de recuperación de información 3D.
  4. Identificar los problemas básicos que se deben resolver en la recuperación de la información 3D de las escenas así como los algoritmos específicos.
  5. Planificar, desarrollar, evaluar y gestionar una solución a un problema concreto de reconstrucción 3D de escenas.
  6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  7. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  8. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  9. Seleccionar las técnicas aprendidas y entrenarlas para solucionar un proyecto concreto de reconstrucción 3D de escenas.
  10. Trabajar en equipos multidisciplinares.

Contenido

  1. Introducción y aplicaciones.
  2. Geometría proyectiva 2D. Transformaciones planares.
  3. Estimación de la homografía. Rectificación afín y métrica
  4. Geometría proyectiva 3D y transformaciones. Modelos de cámara.
  5. Calibración de cámara. Estimación de pose.
  6. Geometría epipolar. Matriz fundamental Matriz esencial. Extracción de matrices de cámara.
  7. Cálculo de la matriz fundamental. Rectificación de la imagen.
  8. Métodos de triangulación. Cálculo de profundidad. Síntesis de nuevas vistas.
  9. Estéreo multi-vista. Structure from motion.
  10. Autocalibración. Bundle adjustment. 
  11. Sensores 3D (kinect). 
  12. Procesamiento de nubes de puntos.
 
 

Metodología

Sesiones supervisadas:  (Algunas de estas sesiones podrían ser en línea síncronas)

  • Sesiones de teoría, donde los profesores explican contenidos generales sobre los diferentes temas. Algunos de ellos se usarán para resolver los problemas.

Sesiones dirigidas:  

  • Sesiones de proyecto, donde los problemas y los objectivos de los proyectos serán presentados y discutidos, los estudiantes interactuarán con el coordinador del proyecto sobre problemas y ideas para resolver el proyecto (aprox. 1 hora/semana).
  • Sesión de presentación, donde los estudiantes hacen una presentación oral sobre cómo han resuelto el proyecto y una demostración de los resultados.
  • Sesión de examen, donde los estudiantes son evaluados de forma individual sobre el conocimiento obtenido y las habilidades para resolver problemas.

Trabajo autónomo:

  • El estudiante estudiará de forma autónoma y trabajará los materiales derivados de las sesiones teóricas.
  • El estudiante trabajará en grupos para resolver los problemas del proyecto con entregas de:
    • Código
    • Informes
    • Presentación oral

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Sesiones teóricas 20 0,8 4, 3, 6
Tipo: Supervisadas      
Sesiones de seguimiento de proyectos 8 0,32 1, 2, 4, 3, 5, 8, 7, 9, 6, 10
Tipo: Autónomas      
Trabajo autónomo 113 4,52 1, 2, 4, 3, 5, 8, 7, 9, 6, 10

Evaluación

La nota final de este módulo se calculará con la siguiente fórmula:

Nota final = 0,4 x Examen + 0,55 x Proyecto + 0,05 x Asistencia

donde,

Examen: es la nota obtenida en el examen del módulo (debe ser >= 3).

Asistencia: es la nota derivada del control de asistencia a las sesiones (mínimo 70%)

Proyecto: es la nota proporcionada por el coordinador del proyecto a partir del seguimiento semanal del proyecto y de las entregas (debe ser >= 5). Todo de acuerdo con criterios específicos tales como:

  • Participación en sesiones de discusión y en el trabajo en equipo (evaluaciones entre miembros).
  • Entrega de las partes obligatorias y opcionales del proyecto.
  • Desarrollo de códigos (estilo, comentarios, etc.).
  • Informe (justificación de las decisiones en el desarrollo del proyecto).
  • Presentación (presentación y demostración del proyecto desarrollado).

Sólo los estudiantes que han suspendido (nota final < 5.0) podran hacer el examen de recuperación.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Asistencia a sesiones 0.05 0,5 0,02 1, 2, 4, 3, 7
Examen 0.4 2,5 0,1 1, 2, 3, 5, 8, 9, 6
Proyecto 0.55 6 0,24 1, 2, 4, 3, 5, 8, 7, 9, 6, 10

Bibliografía

Libros:

  1. O. Faugeras, Three-dimensional computer vision: a geometric viewpoint, MIT Press, cop. 1993.
  2. O. Faugeras, Q.T. Loung, The geometry of multiple images, MIT Press, 2001.
  3. D. A. Forsyth, J. Ponce, Computer vision: a modern approach, Prentice Hall, 2003.
  4. R. I. Hartley, A. Zisserman, Multiple view geometry in computer vision, Cambridge University Press, 2000.
  5. R. Szeliski, Computer Vision: Algorithms and Applications, Springer, 2011. 

Tutoriales:

  1. Y. Furukawa and C. Hernández, Multi-View Stereo: A Tutorial, Foundations and Trends® in Computer Graphics and Vision, vol. 9, no. 1-2, pp.1-148, 2013.
  2. T. Moons, L. Van Gool, M. Vergauwen, 3D Reconstruction from Multiple Images Part 1, Principles, Foundations and Trends® in Computer Graphics and Vision, vol. 4: no. 4, pp 287-404, 2010. 

Software

Entorno de programación en Python  con especial atención a las librerías de visión por computador y procesamiento de imágenes