Curso 2010-11

Infografía (21420)

Titulación/estudio: Grado en Ingenieria en Informática (3377)
Curso: segundo
Trimestre: segundo
Número de créditos ECTS: 4 créditos
Horas de dedicación del estudiante: 100 horas
Lenuga o lenguas de la docencia: español y catalán
Profesor: Marcelo Bertalmío, Narcis Parés, Alun Evans, Pascal Landry

 

1. Presentación de la asignatura

Infografía es una asignatura centrada en la aplicación de técnicas avanzadas para la visualización, síntesis y procesamiento de información visual.

 

2. Prerrequisitos para el seguimiento del itinerario formativo

Es recomendable tener un buen conocimiento de matemáticas, C++, Linux.


3. Competencias a alcanzar en la asignatura

-Conocimiento de técnicas avanzadas de la infografía.
-Implementación de métodos para aplicaciones reales.
-Repaso de herramientas matemáticas (geometría, álgebra, análisis).
-Práctica en programación (código eficiente, claro, documentación).
-Búsqueda bibliográfica, comprensión de artículos científicos.
-Trabajo en equipo: organización, comunicación.

 

4. Evaluación

Evaluación: prácticas (50%), teoría (50%), cada parte se aprueba independientemente. Hay tres prácticas y se evalúan sucesivamente durante todo el trimestre. Se realizan en equipos de 3 personas y se evalúan mediante entregas (informe y código comentado) y un discurso para defender la entrega en lenguaje oral (preguntas individuales). En caso de no aprobar las prácticas durante el trimestre, el estudiante tendrá que realizar un trabajo práctico individual para la convocatoria de setiembre. La teoría se evalúa mediante un examen escrito al final del trimestre. En caso de aprobar las prácticas pero de suspender la teoría, la nota de prácticas se guarda para la convocatoria de setiembre, pero no para el curso siguiente.

La participación en los seminarios también se evaluará, pudiendo aportar hasta un punto extra en la nota final.

 

5. Contenidos

1-Representación y modelado de objetos 3D.
2-Interacción luz-objeto y rendering.
3-Ray tracing.
4-Texture mapping.
5-Image-based rendering y creación de modelos 3D a partir de vídeo.
6-Visualización de información y simulación de fenómenos físicos.
7-Videojuegos.
8-Computational photography.
9-Animación y efectos digitales para cinetext

 

6. Bibliografía y recursos didácticos

6.1. Bibliografía básica (soporte papel y electrónico) 

Temas (1) a (4):
ALAN WATT, 3D Computer Graphics. 

Tema (5):
-"Feature-Based Image Metamorphosis". Thaddeus Beier, Shawn Neely. Proc. ACM SIGGRAPH 1992, pp 35-42.
-"View Morphing", by Steven M. Seitz and Charles R. Dyer, in the Proceedings of SIGGRAPH'96, pages 21-30.
-3D MODELING FROM IMAGES. Marc Pollefeys http://www.cs.unc.edu/~marc/tutorial.pdf 

Tema (6):
-Information visualization. Chen, C. Wiley Interdisciplinary Reviews: Computational Statistics, volume={2}, number={4}, pages={387--403}, issn={1939-0068}, year={2010}, publisher={Wiley Online Library}.
-Owens, J. D., Luebke, D., Govindaraju, N., Harris, M., Krüger, J., Lefohn, A. E. and Purcell, T. J. (2007), A Survey of General-Purpose Computation on Graphics Hardware. Computer Graphics Forum, 26:80-113. 

Tema (7):
-Bishop, L.; Eberly, D.; Whitted, T.; Finch, M.; Shantz, M.; , "Designing a PC game engine," Computer Graphics and Applications, IEEE , vol.18, no.1, pp.46-53, Jan/Feb 1998
-Xubo Yang; Milo Yip; Xiaoyue Xu; , "Visual Effects in Computer Games," Computer , vol.42, no.7, pp.48-56, July 2009 doi: 10.1109/MC.2009.240 

Tema (8):
-IEEE Computer, vol. 39:8, 2006: Special issue on computational photography. 

Tema (9):
-ALAN WATT, 3D Computer Graphics.
-IEEE Computer, vol.42, no.7: Special issue on visual effects. 

 

7. Metodología

7.1. Metodología para las clases de Teoría

En cada clase de teoría se suele exponer uno o varios artículos científicos, poniendo énfasis en: -qué problema se intenta resolver -qué método se propone para resolverlo -cuáles son las ventajas e inconvenientes de este método. La mayoría de los artículos presentados requieren para su comprensión herramientas matemáticas básicas,  y por eso la exposición de estos artículos también cumple la tarea de recordar al estudiante conceptos matemáticos adquiridos antes. Esta es una tarea importante ya que nuestro Plan de Estudios está muy orientado al trabajo práctico, con poca carga matemática básica, y la escuela de Informática cuenta con la repetición de conceptos y herramientas matemáticas en varias asignaturas en toda la formación del estudiante como parte integral de la enseñanza matemática (es decir, ésta no puede estar limitada a la de las asignaturas estrictamente matemáticas). Para los contenidos de la asignatura, la enseñanza se ve apoyada por herramientas visuales. Se ha evitado el uso de diapositivas. 

7.2. Prácticas

Todas las prácticas consisten en implementar un algoritmo expuesto en un artículo científico. Todo el programa usado es open-source y las prácticas tienen que ser realizadas en C++ y a través de Linux. Esta decisión se ha tomado entendiendo que a los estudiantes no se les tendría que exigir la realización de prácticas usando programas propietario o de pago, ya que eso obligaría que sólo pudieran trabajar en los ordenadores de la universidad (porque paga licencias para estos programas), con la consiguiente restricción cuanto a posibilidades de trabajar cómodamente en las prácticas. O sería un estímulo a la piratería de programas, invitando a los alumnos a que, si quisieran trabajar en sus casas, compraran los programas o obtuvieran copias ilegales. 

7.3. Metodología de las prácticas

Si se tienen presentes los objetivos que nos hemos fijado para la asignatura, hemos desarrollado las prácticas con la metodología que describiremos a continuación. Durante el curso hay tres prácticas y se tienen que realizar en grupos de tres personas. En el caso de suspender las prácticas, para la siguiente convocatoria el trabajo será sólo uno y se realizará de forma individual. En todo caso el trabajo se tiene que defender en una entrevista personal con el profesor. Estas clases, donde se defienden las entregas, son las únicas de asistencia obligatoria. Todas las prácticas consisten en la implementación, desde cero, de un artículo científico. Del artículo sólo se proporciona la referencia bibliográfica. Los requisitos son muy generales: entregar un código que funcione, que a partir de determinadas entradas obtenga determinadas salidas, y acompañarlo con una memoria explicativa. No se exige nada más, lo que da al estudiante total libertad a la hora de diseñar y probar un programa que resuelva el problema. Esta libertad va por supuesto acompañada por una guía y supervisión por parte del profesor, tan intensa como lo solicite cada alumno, pero sólo si el alumno lo solicita. Unas prácticas más guiadas permitirían talvez implementar más algoritmos, o que los estudiantes trabajaran menos, pero perjudicarían la calidad del aprendizaje. Para las clases de prácticas, la realización de los trabajos en grupos de 3 estudiantes, en vez de en forma individual, permite asignar como tarea la implementación y prueba de un algoritmo que resuelva un problema real. Todo lo siguiente es importante: - el estudiante se siente motivado y recompensado al ver su trabajo funcionando en una aplicación real; - los trabajos individuales no podrían ser tan ambiciosos, tendrían que consistir sólo en la implementación de partes de algoritmos, o en la solución de casos particulares, en general a partir de un código elaborado proporcionado por el profesor: todo esto sería un perjuicio para la formación independiente del estudiante, y también reduciría su motivación, por todo lo expuesto anteriormente; -la buena organización del trabajo en equipo se vuelve crucial para completar las prácticas con éxito: los estudiantes tienen que trabajar realmente coordinadamente, sin duplicar tareas, programando modularmente y de tal manera que faciliten la intercompatibilidad del código.