
Visión por Computador
Código: 102784Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Ingeniería Informática | OB | 3 |
| Ingeniería Informática | OP | 4 |
Profesor/a de contacto
- Nombre :
- Felipe Lumbreras Ruiz
- Correo electrónico :
- felipe.lumbreras@uab.cat
Equipo docente
- Daniel Ponsa Mussarra
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
No hay prerrequisitos. Esta asignatura es bastante autocontenida. Sin embargo en esta asignatura se tocarán temas relacionados con cálculo matemático, probabilidad y teoría de la señal por lo tanto se necesitan conocimientos en estas áreas. Por otra parte, relacionado con la programación, en las prácticas se harán programas que necesitarán una buena base de programación. Por todo ello es recomendable tener las asignaturas "Laboratorio de programación", "Metodología de la programación" y "Fundamentos de Informática" superadas. Y por afinidad en los contenidos haber cursado "Inteligencia Artificial".
Objetivos
La asignatura de Visión por Computador se enmarca dentro de la mención de "Computación" con las asignaturas de "Conocimiento, Razonamiento e Incertidumbre", "Aprendizaje Computacional" y "Robótica, Lenguaje y Planificación" que forman parte de la materia llamada sistemas cognitivos. Por lo tanto, su temática está relacionada con la asignatura de Inteligencia Artificial de segundo curso.
Los objetivos de la asignatura se pueden resumir en:
Conocimientos:
- Conocer, entender y saber modelar la adquisición de imágenes mediante una cámara.
- Entender el fenómeno de la percepción visual humana.
- Describir y relacionar las fases en que se divide la solución a un problema de análisis de imágenes.
- Identificar las ventajas e inconvenientes de los algoritmos de visión por computador que se explican.
- Resolver problemas reales relacionados con técnicas de visión para encontrar una solución.
- Entender el resultado y las limitaciones de las técnicas de visión en diferentes casos de estudio.
- Saber escoger el algoritmo de procesamiento de imágenes más adecuado para solucionar una tarea dada.
- Saber elegir las técnicas de visión por computador más adecuadas para solucionar problemas contextualizados.
Habilidades:
- Reconocer las situaciones en las que la aplicación de algoritmos de visión por computador puede ser adecuada para solucionar un problema.
- Analizar el problema a resolver y diseñar la solución óptima aplicando las técnicas aprendidas.
- Redactar documentos técnicos relacionados con el análisis y la solución de un problema.
- Programar los algoritmos básicos para solucionar los problemas propuestos.
- Evaluar los resultados de la solución implementada y valorar las posibles mejoras.
- Defender y argumentar las decisiones tomadas en la solución de los problemas propuestos.
Resultados de aprendizaje
- Trabajar de forma autónoma.
- Comunicar eficientemente, de forma oral y/o escrita, conocimientos, resultados y habilidades, tanto en entornos profesionales como ante públicos no expertos.
- Gestionar el tiempo y los recursos disponibles. Trabajar de forma organizada.
- Aplicar los métodos básicos de procesamiento de imágenes a problemas específicos.
- Implementar métodos de representación del conocimiento para la identificación de los objetos presentes en la escena.
- Extraer los descriptores de forma de los objetos presentes en una escena.
- Conocer las diferentes opciones tecnológicas para la elección del sistema de adquisición de imágenes óptimo para un propósito específico.
- Trabajar cooperativamente.
Contenidos
1. Formación de la imagen
- Luz, escena, sistema visual humano, color
- Ópticas y cámaras
2. Procesamiento de imágenes
- Imágenes, muestreo y cuantización, tipo de imágenes
3. Filtrado lineal
- Sistemas Lineales, Transformada de Fourier
4. Filtrado no lineal
- Morfología matemática binaria y en nivel de grises
5. Transformaciones geométricas
- Mapeado, remuestreo, aplicaciones
- Modelo de cámara, homografía
6. Características
- Puntos, contornos (agrupación), regiones
- Descriptores, aplicaciones
7. Segmentación
- Global, local
- Clusterización
- Etiquetado
8. Clasificación
- Reconocimiento, aprendizaje, clasificación
- Reducción de la dimensión
- Validación
9. Miscelanea
- Bag of Words
- Reconstrucción 3D
- Flujo óptico
10. Aprendizaje profundo en Visión por Computador
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Prácticas de laboratorio | 10 | 0,4 | 1, 2, 3, 4, 5, 6, 7, 8 |
| Programación del proyecto | 25 | 1 | 4, 5, 6, 7 |
| Documentación del proyecto | 6 | 0,24 | 4, 7 |
| Análisis y diseño del proyecto | 12 | 0,48 | 3, 4, 5, 6, 7 |
| Presentación Oral | 12 | 0,48 | 1, 2, 3, 4, 7, 8 |
| Estudio personal | 45 | 1,8 | 1, 4, 5, 6, 7 |
| Seminario de problemas | 11,5 | 0,46 | 4, 7 |
| Clase magistral | 20 | 0,8 | 1, 4, 7 |
Las diferentes actividades que se llevarán a cabo en la asignatura se organizan de la siguiente manera:
Clases magistrales
- Se expondrán los principales conceptos y algoritmos de cada tema de teoría. Estos temas suponen el punto de partida en el trabajo de la asignatura.
Seminarios de problemas
- Serán clases con grupos reducidos de estudiantes que faciliten la interacción. En estas clases se plantearán casos prácticos que requieran el diseño de una solución en la que se utilicen los métodos vistos en las clases de teoría.
Prácticas de laboratorio
- Habrá una serie de prácticas comunes que permitirán alcanzar unas competencias básicas en temas de visión. Una primera entrega fuera de horas de laboratorio para conocer las herramientas. Tres prácticas temáticas relacionadas estrechamente con la teoría que se está dando a la vez o previa. Finalmente un proyecto elegido por los mismos alumnos. En la segunda parte del semestre deberán analizar este problema, diseñar e implementar soluciones basadas en diferentes algoritmos de procesamiento y visión vistos en clase, analizar los resultados obtenidos en cada uno de los métodos, defender su solución y hacer la presentación en público de los resultados .
- Los grupos de trabajo estarán formados por grupos de 1 a 3 alumnos y deberán formar la segunda semana del curso. Estos grupos de trabajo se deberán mantener hasta el final del curso y deberán autogestionar: reparto de roles, planificación del trabajo, asignación de tareas, gestión de los recursos disponibles, conflictos, etc. Aunque el profesor guiará el proceso de aprendizaje, su intervención en la gestión de los grupos será mínima.
- Para desarrollar el proyecto, los grupos trabajarán de forma autónoma y las sesiones de prácticas se dedicarán principalmente a resolver dudas con el profesor que hará el seguimiento del estado del proyecto, indicará errores a corregir, propondrá mejoras, etc.
- Algunas de las sesiones se marcarán como sesiones de control donde se deberá entregar una práctica. En estas sesiones los grupos deberán explicar el trabajo hecho y el profesor hará cuestiones a todos los miembros del grupo para valorar el trabajo realizado. La asistencia a estas sesiones es obligatoria.
- En la entrega final los grupos harán una presentación del proyecto donde explicarán el proyecto desarrollado, la solución adoptada y los resultados obtenidos. En esta presentación cada miembro del grupo deberá hacer una parte de la presentación.
- El código de las prácticas comunes se desarrollará en lenguaje Matlab y python. La parte del proyecto será libre a elegir por los alumnos.
Plataforma virtual: Caronte será la plataforma que utilizaremos para la comunicación y la entrega de tareas así como de almacenamiento de todo el material de la asignatura.
Asistencia: Teoría: recomendable, Problemas: recomendable, Prácticas: obligatoria, Seguimiento del proyecto: recomendable, Controles del proyecto: obligatoria, Presentación del proyecto: obligatoria.
Uso de la IA (permitido): En esta asignatura, se permite el uso de tecnologías de Inteligencia Artificial(IA) como parte integrante del desarrollo del trabajo, siempre que el resultado final refleje una contribución significativa del estudiante en el análisis y la reflexión personal. El estudiante tendrá que identificar claramente qué partes han sido generadas con esta tecnología, especificar las herramientas utilizadas e incluir una reflexión crítica sobre cómo éstas han influido en el proceso y el resultado final de la actividad. La no transparencia del uso de la IA se considerará falta de honestidad académica y puede comportar una penalización en la nota de la actividad, o sanciones mayores en casos de gravedad.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Prácticas | 20% | 2 | 0,08 | 2, 3, 4, 5, 6, 7, 8 |
| Presentación del proyecto | 10% | 0,25 | 0,01 | 2, 4, 8 |
| Pruebas teóricas individuales | 60% | 6 | 0,24 | 1, 2, 3, 4, 5, 6, 7 |
| Evaluación grupal | 10% | 0,25 | 0,01 | 1, 2, 4, 7 |
EVALUACIÓN CONTINUADA.
El alumno ve en todo momento su evolución a la asignatura y como se alcanzan los diferentes objetivos tanto de prácticas como de problemas y teoría.
Hay dos bloques diferenciados: Bloque 1 relacionado con Procesamiento de la señal y de las imágenes (evaluado con examen) y Bloque 2 relacionado con Visión por Computador (evaluado con ABP [Aprendizaje basado en Proyecto])
Adicionalmente existen elementos opcionales para subir nota: test, retos, lab3
BLOQUE1
- Conocimientos teóricos
La nota final de teoría se calculará a partir de la nota de una prueba: Nota Teoría Bloque 1
Esta prueba pretende una evaluación individualizada del estudiante con sus capacidades de resolver problemas utilizando las técnicas explicadas en clase, así como evaluar el nivel de conceptualización que el estudiante ha hecho de las técnicas vistas.
Recuperación (teoría). Si el alumno quiere subir nota o recuperar puede presentarse al examen final.
Opcionales (teoría). Test semanales de entre 5 a 15 preguntas test
- Problemas
Los problemas serán 3 o 4 ejercicios evaluados junto con las pruebas de teoría, ya que los problemas complementan la teoría: Nota de Problemas Bloque 1
Recuperación (problemas). Si el alumno quiere subir nota o recuperar puede presentarse al examen final dividido también en dos bloques.
Opcionales (problemas). Retos semanales que consisten en un problema más largo para entregar en forma de miniinforme.
- Prácticas
La parte práctica es una serie de pequeños proyectos. La evaluación de esta parte incluirá:
Evaluación individual del Lab0 que introduce las herramientas de trabajo que se utilizarán en las prácticas. También las partes de exposición del proyecto final son evaluadas de forma individual.
Evaluación conjunta de las prácticas: nota única para todos los miembros del grupo de trabajo que valorará los resultados obtenidos y la calidad del código.
Evaluación del proyecto que valorará, los objetivos alcanzados tanto por el grupo como individualmente, los resultados obtenidos y la presentación.
La nota de esta parte se calculará según la fórmula:
Nota Prácticas = 0.2 Lab0 + 0.4 Lab1 + 0.4 Lab2
Recuperación (prácticas). La recuperación de esta parte consistirá en la entrega del material no entregado antes, pero con un factor de penalización multiplicativo de 0.8.
Opcional (prácticas). Lab3
BLOQUE 2
Proyecto en grupos de 3 personas que será el eje central de la segunda mitad del curso. Se aplicará ABP (aprendizaje basado en proyectos). Una parte de la nota vendrá dada por el resto de integrantes del grupo y por el resto de la clase.
Recuperación. Si el alumno desea recuperar puede presentarse a un examen final especial para esta parte.
- Evaluación final (evaluación continuada)
La Nota Final de la asignatura en evaluación continuada se obtiene combinando la evaluación de estas actividades de la siguiente forma:
Nota Final = 0.5 (0.25 Nota Teoría Bloque 1 + 0.35 Nota Problemas Bloque 1 + 0.4 Nota Prácticas) + 0.5 Bloque 2
EVALUACIÓN ÚNICA.
- En caso de que se quiera optar por Evaluación única se debe entregar y presentar de manera presencial antes de los exámenes finales, o el mismo día del examen, el material relacionado con las prácticas. La nota de teoría y problemas saldrá de los exámenes. También habrá opción de obtener notas extra sólo de los retos de problemas.
- Quien quiera optar por este tipo de evaluación debe pedirlo con anticipación, al menos una semana antes del examen final (2º parcial).
- La Nota Final en evaluación única de la asignatura se obtiene combinando la evaluación de estas actividades de la siguiente forma:
- Nota Final = 0.15 Nota Teoría Bloque 1 + 0.15 Nota Teoría Bloque 2 + 0.15 Nota Problemas Bloque 1 + 0.15 Nota Problemas Bloque 2 + 0.4 Nota Prácticas
- Esta modalidad de evaluación tiene opción de recuperación si se ha presentado el material de prácticas antes del examen de recuperación y se ha realizado el examen final previo (2º parcial).
Evaluación final
- La nota final que aparecerá en el expediente salvo casos particulares de copia y plagios o "No evaluable" será el resultado de aplicar la fórmula Nota final, también por los casos de suspenso.
- Las matrículas de honor (MH) se darán a las personas con mejor nota que superen el 9, ordenadas por orden de llegada a esa nota y se darán tantas como se puedan dar por la ratio de matriculados.
- Si el alumno se presenta a un examen parcial o si se presenta a una sesión de control de prácticas, ya no podrá ser evaluado como "No evaluable" en caso de que no se presente a las otras evaluaciones, sino que se le calculará la nota final a partir de aquellas evaluaciones continuadas a que se haya presentado.
Aclaraciones:
- 4.9 es la mínima nota para aprobar.
- En el caso de los estudiantes repetidores, las prácticas del año anterior, si se mantiene la temática, se pueden volver a presentar. Esto significa no una convalidación directa, sino que se han de volver a defender en una única entrevista con el profesor de prácticas. El resto de actividades de evaluación (teoría y problemas) tienen que volver a evaluar de la manera establecida.
- Las fechas de evaluación continua y entrega de trabajos se publicarán en la página web de la asignatura o en Caronte y pueden estar sujetos a cambios de programación por motivos de adaptación a posibles incidencias; siempre se informará en la página web de la asignatura o en Caronte sobre estos cambios, ya que se entiende que la página web de la asignatura o Caronte son los mecanismos habituales de intercambio de información entre profesor y estudiantes.
- Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el estudiante podrá revisar la actividad con el profesor. En este contexto, se podrán hacer reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el estudiante no se presenta en esta revisión, no se revisará posteriormente esta actividad.
- Quien no pueda asistir a una prueba o actividad de evaluación que suponga más del 20 % de la calificación final de la asignatura, o cuya superación sea imprescindible para aprobarla, tendrá derecho a realizar una prueba o actividad alternativa evaluable en los supuestos contemplados por la normativa (https://www.uab.cat/es/enginyeria/reprogramacio-examens).
- Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un estudiante que puedan conducir a una variación de la calificación se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estas irregularidades incluyen, entre otros:
- la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
- dejar copiar;
- presentar un trabajo de grupo no hecho íntegramente por los miembros del grupo;
- presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del estudiante;
- tener dispositivos de comunicación (como teléfonos móviles, smartwatches, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes).
- La nota numérica del expediente será el valor menor entre 3.0 y la media ponderada de las notas en caso de que el estudiante haya cometido irregularidades en un acto de evaluación (y por tanto no será posible el aprobado por compensación). En resumen: copiar, dejar copiar o plagiar en cualquiera de las actividades de evaluación equivale a un SUSPENSO con nota inferior a 3.5.
Bibliografía
- Antonio Torralba, Phillip Isola, and William Freeman, Foundations of Computer Vision, The MIT Press 2024. (https://visionbook.mit.edu/)
- Simon J.D. Prince, Computer Vision: Models, Learning, and Inference, Cambridge University Press, 2012. (https://udlbook.github.io/cvbook/)
- David A. Forsyth and Jean Ponce, Computer Vision: A Modern Approach (2nd Edition), Prentice Hall 2011.
- Rafael C. Gonzalez and Richard E. Woods, Digital Image Processing (3rd Edition), Prentice Hall 2007.
- Richard Szeliski, Computer Vision: Algorithms and Applications (2nd Edition), Springer (Texts in computer Science) 2022. (http://szeliski.org/Book/)
- Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016. (http://www.deeplearningbook.org)
- Aurélien Géron, Hands-On Machine Learning with Scikit-Learn & TensorFlow, O'Reilly, 2017.
Online:
- Curs online (MOOC Coursera): Image and video processing: From Mars to Hollywood with a stop at the hospital. (https://www.coursera.org/course/images)
- Curs online (MOOC Coursera): Fundamentos del Procesamiento de Vídeo e Imagen Digital. (https://www.coursera.org/course/digital)
- Curs online (MOOC Edx ): Introducción a la visión por computador: desarrollo de aplicaciones con OpenCV. (https://www.edx.org/course/introduccion-la-vision-por-computador-uc3mx-isa-1x)
- Curs online (MOOC Coursera): Machine Learning. (https://es.coursera.org/learn/machine-learning)
Software
- MatLab
- Python
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura
| Tipo de docencia | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (TE) Teoría | 440 | Español | segundo cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 441 | Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 441 | Catalán | segundo cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 442 | Español | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 442 | Catalán | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 443 | Catalán | segundo cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 444 | Catalán | segundo cuatrimestre | tarde |