Cinvestav
Departamento de Computación

Curso:
Tópicos Avanzados en Visualización: Reconocimiento 3D

Prof. Dr. Luis Gerardo de la Fraga
Cuatrimestre Mayo-Agosto 2007

Este es el contenido del curso.

Apuntes del Curso:

  • 14/08/2007 El código en Perl para resolver numéricamente la ecuación del movimiento de un resorte con amortiguamiento rma.pl.
  • 13/07/2007 El código en Octave (www.octave.org) para realizar una reconstrucción usando cuboides: Cuboides.tar.gz.
  • 2/07/2007 El código para Octave (www.octave.org) para estimar homografías: Homografías.tar.gz.
  • 22/06/2007 Script en PERL para generar un cono en el formato de Space3D: Cono.tar.gz.
  • 15/06/2007 Script para visualizar el diagrama de Voronoi Voronoi.tar.gz.
  • El software para procesar imágenes Scimagen.
  • Unidad 1: Introducción
  • Tareas

    8. Deformación y animación de objetos bidimensionales
    Fecha de entrega: Viernes 17/08/2007

    1. Se debe de realizar el motor de deformación para un objeto como el que se muestra en la figura siguiente:
    2. Con el ratón será posible mover un vértice, o seleccionar varios de ellos, y aplicarles fuerza al arrastrarlos.
    3. Se podrá seleccionar un vértice para fijarlo.
    4. Los vértices del objeto no deben de cruzar el borde del cuadro de dibujo
    5. El objetos se dibuja con POINTS y LINES de OpenGL
    6. Se podría modificar el objeto en un modo de edición, en el que todas las constantes de los resortes serían igual a cero

    7. Reconstrucción de objetos con simetría cilíndrica
    Fecha de entrega: Viernes 3/08/2007

    6. Reconstrucción usando cuboides
    Fecha de entrega: Viernes 27/07/2007

    1. Hay que tomar varias imágenes del modelo que tienen cada uno de ustedes, sin cambiar el acercamiento de la cámara en todas las tomas.
    2. Con una de las imágenes se puede estimar los parámetros intrínsecos de la cámara.
    3. Para cada fotografía calcular la orientación del objeto (tres ángulos de rotación) y posición del cuboide (tres desplazamientos).
    4. Hacer el modelo de forma parametrizada en formato para Space3D
    5. Poner las mismas orientaciones calculadas en el modelo en Space3D. Aquí esta Space3D con los ángulos de rotación en x,y,z: Space3Dabc.tar.gz.
    6. Las fotografías tomadas en el punto (1) y las vistas generadas en el punto (5) deben ser iguales.

    5. Reconstrucción usando Homografías
    Fecha de entrega: Viernes 13/07/2007

    1. Simulación: Hay que realizar la estimación de la matriz M a partir
      de H, p y P (p son los puntos sobre la imagen y P los puntos en coordenadas
      del mundo del modelo.
    2. Contruir el modelo
    3. Tomar varias fotografías del modelo (recomiendo usar la cámara de video que tengo). Deben ser al menos tres en distinta pose.
    4. Estimar M, usando
      $\displaystyle K =
   \begin{bmatrix}
   f_x &\alpha &u_0\\
   0 &f_y &v_0\\
   0 &0 &1\\
   \end{bmatrix}$
      Se necesitan al menos tres imágenes para realizar esto.
    5. Estimar M, usando dos imágenes y:
      $\displaystyle K =
   \begin{bmatrix}
   f_x &0 &u_0\\
   0 &f_y &v_0\\
   0 &0 &1\\
   \end{bmatrix}$
    6. Estimar M a partir de una sola imagen y
      $\displaystyle K =
   \begin{bmatrix}
   f &0 &u_0\\
   0 &f &v_0\\
   0 &0 &1\\
   \end{bmatrix}$
      con el centro óptico de la cámara conocido, situado en el centro de la imagen. La incógnita es f, el foco de la cámara.

    4. Triangulación de Delaunay y diagrama de Voronoi
    Fecha de entrega: 26/06/2007

    Hay que visualizar ambos diagramas en el programa Space3D.

    3. Reconocimiento de puntos y visualización de la cubierta convexa
    Fecha de entrega: 15/06/2007
    Dentro de este archivo tar comprimido está un script en PERL 'puntos.pl', que genera
    aleatoriamente (con una distribución uniforme) 30 puntos. Con el script
    'grafica.gnu' para gnuplot se genera un archivo 'grafica.eps' que puede imprimirse.
    Hay que hacer:
    1) Generar la gráfica de los puntos
    2) Imprimir el archivo de la gráfica
    3) Digitalizar la hoja de la gráfica en el escaner (a 72 dpi)
    4) Reconocer los puntos y calcular su centroide
    5) Calcular la cubierta convexa con el programa con el algoritmo de Graham (incluido en el tar)
    6) Visualizar los puntos y la cubierta convexa con el programa gnuplot
    7) Comparar el error en las posiciones de todo el proceso; para ello tenemos que situar
    los puntos iniciales y los reconocidos en un mismo marco de referencia. El marco sugerido
    es el par de puntos más lejanos, situarlos en la horizontal (rotándolos el grado de inclinación
    de la recta que uno los dos puntos más lejanos) y normalizando su distancia a 10 (ó 100).
    El error reportado debe ser el error cuadrático medio en las posiciones de los
    puntos iniciales y los reconocidos

    2. Clasificación. Fecha de entrega: 05/06/2007

    En el archivo Imagenes.tar.gz existe el archivo "leeme.txt" que relaciona el nombre de la imagen con su nombre. Hay que realizar:
    1. Extraer los objetos y calcular algunas características
    2. Realizar el clasificador de mínima distancia entrenándolo con los objetos de la imagen.
    3. Rotar y transladar los objetos de la figura en Xfig. Exportar a una imagen y probar el clasificador con ella.

    1. Filtrado espacial de imágenes. Fecha de entrega: 22/05/2007

    Última actualización: 29 de mayo, 2007
    Comentarios: fraga@cs.cinvestav.mx