Logo UAB
2023/2024

Visión y Aprendizaje

Código: 106582 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2504392 Inteligencia Artificial OT 3 1
2504392 Inteligencia Artificial OT 4 1

Contacto

Nombre:
Jordi Gonzalez Sabate
Correo electrónico:
jordi.gonzalez@uab.cat

Idiomas de los grupos

Puede consutarlo a través de este enlace. Para consultar el idioma necesitará introducir el CÓDIGO de la asignatura. Tenga en cuenta que la información es provisional hasta el 30 de noviembre del 2023.


Prerrequisitos

Haber cursado las asignaturas de Fundamentos de Aprendizaje Automático, Fundamentos de Programación, Fundamentos de Visión por Computador, Probabilidad y Estadística, y Redes Neuronales y Aprendizaje Profundo.

Se recomienda que el alumno tenga conocimientos y capacidades de:

  • Programación en el lenguaje de programación Python
  • Procesamiento de Señal, Imagen y Vídeo
  • Validación estadística
  • Aprendizaje Computacional y Deep Learning

Objetivos y contextualización

Aproximadamente cada década existe un tsunami tecnológico que transforma múltiples industrias. La Inteligencia Artificial (IA) es esta ola que arrasa en el mundo tecnológico actual. Si alguna vez te has preguntado:

  • ¿cómo los ordenadores realizan la detección de caras en multitudes?
  • ¿cómo las aplicaciones de videollamadas desenfocan el fondo o reemplazan el fondo con otras imágenes?
  • ¿cómo se desplazan los coches autónomos de forma segura en un entorno urbano?
  • ¿cómo se sigue la pelota con tanta precisión en eventos deportivos televisados como tenis, fútbol y baloncesto?
  • ¿podemos saber el tratamiento de cáncer más efectivo a partir de datos multimodales del paciente?
  • ¿podemos saber las emociones de una persona con un video?
  • ¿cómo aprenden las máquinas?


Si hemos despertado su curiosidad, este curso es lo que necesitas. En este curso aprenderemos sobre temas en Visión por Ordenador como Seguimiento de Objetos, Clasificación de Imágenes, Medicina Personalizada, Detección de Caras, Flujo Óptico, estimación de Pose Humana y muchos más.

A diferencia de otros cursos de visión por ordenador, este curso se acerca a la visión por ordenador de forma más práctica, experiencial e intuitiva. Su principal componente es un conjunto de proyectos que deben ser desarrollados por los estudiantes repartidos en equipos. Todo lo necesario es un conocimiento práctico del lenguaje de programación Python.

Utilizaremos Python que permite incorporar diferentes bibliotecas de visión por ordenador. Lo utilizan miles de empresas, productos y dispositivos y se prueba cada día para obtener escalabilidad y rendimiento. Además aprenderemos a diseñar y adaptar redes específicas ya escoger cuál es el método de procesado más adecuado según los requerimientos y restricciones de cada aplicación.

En resumen, Visión y Aprendizaje es una asignatura de carácter eminentemente práctico e interdisciplinar que se sitúa en el puente que existe entre la inteligencia artificial y el mundo real y que pretende recorrer este puente en ambas direcciones.


Competencias

    Inteligencia Artificial
  • Analizar y resolver problemas de forma efectiva, generando propuestas innovadoras y creativas para alcanzar los objetivos.
  • Conceptualizar y modelar alternativas de soluciones complejas a problemas de aplicación de la inteligencia artificial en diferentes ámbitos, y planificar y gestionar proyectos para el diseño y desarrollo de prototipos que demuestren la validez del sistema propuesto.
  • Desarrollar pensamiento crítico para analizar de forma fundamentada y argumentada alternativas y propuestas tanto propias como ajenas.
  • Elaborar estrategias para formular y solucionar diferentes problemas de aprendizaje de manera científica, creativa, crítica y sistemática, conociendo las capacidades y limitaciones de los diferentes métodos y herramientas existentes.
  • Introducir cambios en los métodos y los procesos del ámbito de conocimiento para dar respuestas innovadoras a las necesidades y demandas de la sociedad.
  • Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • Trabajar cooperativamente para la consecución de objetivos comunes, asumiendo la propia responsabilidad y respetando el rol de los diferentes miembros del equipo.

Resultados de aprendizaje

  1. Analizar una situación e identificar sus puntos de mejora.
  2. Analizar y resolver problemas de forma efectiva, generando propuestas innovadoras y creativas para alcanzar los objetivos.
  3. Desarrollar pensamiento crítico para analizar de forma fundamentada y argumentada alternativas y propuestas tanto propias como ajenas.
  4. Diseñar las mejores arquitecturas de redes convolucionales para la resolución de problemas de reconocimiento visual de objetos y escenas.
  5. Identificar los conceptos básicos y aplicar de manera adecuada las técnicas de aprendizaje computacional al reconocimiento en imágenes.
  6. Planificar, desarrollar, evaluar e implementar una solución a un problema particular de reconocimiento visual.
  7. Proponer nuevos métodos o soluciones alternativas fundamentadas.
  8. Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  9. Seleccionar y diseñar las mejores técnicas para la evaluación de de los resultados del entrenamiento de métodos o redes.
  10. Seleccionar y diseñar los mejores conjuntos de datos para el entrenamiento de redes.
  11. Seleccionar y diseñar los mejores métodos para el entrenamiento de redes neuronales.
  12. Trabajar cooperativamente para la consecución de objetivos comunes, asumiendo la propia responsabilidad y respetando el rol de los diferentes miembros del equipo.
  13. Usar técnicas de aprendizaje computacional para planificar, desarrollar, evaluar e implementar una solución a un problema particular.

Contenido

1. Introducción al Aprendizaje Computacional en Visión por Computador

2. Clasificación de Imágenes

3. Detección de Objetos

4. Segmentación de Regiones

5. Indexación y Recuperación

6. Generación de Imágenes

7. Aprendizaje Multimodal


Metodología

La gestión de la docencia de la asignatura se realizará a través del gestor documental Caronte (http://caronte.uab.cat/), que servirá como herramienta de gestión a los equipos de trabajo, realizar las entregas correspondientes, ver las notas , comunicarse con los profesores, etc. Para poder utilizarlo hay que dar los siguientes pasos:

  1. Darse de alta como usuario dando el nombre, NIU, y una foto carné en formato JPG. Si ya se ha dado de alta por alguna otra asignatura, no es necesario volver a hacerlo, puede ir al siguiente paso.
  2. Inscribirse en el tipo de docencia "VISIÓN Y APRENDIZAJE", dando como código de asignatura el proporcionado el primer día de clase.


El curso seguirá una metodología docente de aprendizaje llamada Aprendizaje Basado en Proyectos (ABP). La metodología ABP pretende potenciar y motivar al estudiante en su aprendizaje. Se formarán grupos de entre 5 y 6 estudiantes a los que se les encomendará la realización de un conjunto de proyectos (de tamaño medio) a lo largo del semestre. Se realizará un seguimiento semanal y tutorización tanto grupal como individual de los estudiantes

Los proyectos son fijados por el profesorado de forma que cumpla las siguientes condiciones: ser lo más real posible; ser tratable mediante herramientas elementales; no tener asociado un algoritmo de solución estándar.

Por otra parte, es esencial entender que no se trata de encontrar un algoritmo que funcione en el 100 x 100 de los casos —a menudo no existe tal cosa— sino simplemente de “darle una propuesta de solución razonable”.

Los proyectos deben desarrollarse cada equipo con la máxima autonomía posible. Cada equipo tendrá asignado un tutor que seguirá su evolución pero en principio se abstendrá de imponer sus ideas. Por otra parte, el estudiante debe tener claro que no se trata de buscar la solución del problema en otros lugares, sino de hacer una aportación original. Esto no significa que haya que renunciar a la información que pueda existir en la bibliografía o en Internet; pero cuando se haga uso es necesario tener informado al profesor y explicarlo en la memoria.

La realización del proyecto debe terminar en un programa y una memoria final. Además de entregarla en forma escrita, los resultados de esta memoria serán objeto de una exposición oral. Una y otra, memoria escrita y exposición oral, deben ir dirigidas principalmente a la entidad, seguramente hipotética, que habría propuesto el problema. Por regla general, los tecnicismos serán relegados a apartados concretos de la memoria escrita.

En las presentaciones orales de los proyectos se espera que asistan toda la clase, y que éstos intervengan mediante preguntas y observaciones.

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

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      
Clases de teoria 10 0,4 5, 6, 10, 11, 9, 13
Tipo: Supervisadas      
Taller de trabajo 20 0,8 2, 1, 4, 8, 10, 11, 9, 13
Tipo: Autónomas      
Trabajo personal 115 4,6 2, 1, 3, 4, 6, 7, 8, 12, 13

Evaluación

Dado que la mayor parte del trabajo gira en torno a un conjunto de proyectos que se desarrolla a lo largo de todo el curso, la evaluación tiene un carácter continuado, y su resultado final no es recuperable.

 

Metodología de Evaluación

Se evaluarán las actas que el grupo escribirá después de cada sesión tutorizada, en la que describirán sus discusiones y acuerdos y las encuestas de autoevaluación que cada alumno hará de sus compañeros y de él mismo. Al final de cada proyecto los estudiantes se hará una presentación oral del proyecto y entregarán una memoria del trabajo realizado. Ambos serán evaluados por parte de los profesores de la asignatura sean o no los tutores. Los estudiantes no realizarán ningún examen escrito. 

Para la evaluación se utilizarán los siguientes INSTRUMENTOS y ACTIVIDADES:

  • Una evaluación hecha por los profesores a partir de la presentación de los proyectos realizado por el grupo (calidad del trabajo, presentación, memoria entregada). Nota Grupal (0 a 10) A partir de:

    • PORTAFOLIO DEL ALUMNO: Documento donde se explica el desarrollo del trabajo hecho: planteamiento del proyecto, actas de reuniones, información buscada, explicación de la aplicación implementada con un pequeño manual de usuario y pruebas y tests realizados.

    • PRESENTACIÓN: Presentación oral en 5-7 transparencias sobre el proyecto desarrollado y resultados obtenidos.

    • APLICACIÓN: programa desarrollado.

    • ACTOS Y CONTROLES: Presentación de la documentación entregada.

  • Una evaluación individual a partir de las observaciones hechas por los tutores en las sesiones tutorizadas, donde se tendrá en cuenta la actitud, iniciativa, participación, asistencia y puntualidad del alumno en las sesiones de grupo. Nota Individual (0 a 10).

  • Encuestas de co-evaluación y autoevaluación entre los miembros del grupo al final de cada proyecto. Nota Coevaluación Compañeros (0 a 10).

  • Las presentaciones orales se realizan ante los alumnos y los grupos valorarán el trabajo de sus compañeros a modo de ranking El grupo que quede en 1ª posición recibirá 10 puntos, el 2º 8 puntos y así sucesivamente.  Nota Coevaluación Clase (0 a 10).

 

Calificaciones

Cada proyecto tendrá una nota que se calculará de la siguiente manera: 

Nota Proyecto = 0,5 * Nota Grupal + 0,3 * Nota Individual + 0,1 * Nota Coevaluación Compañeros + 0,1 * Nota Coevaluación Clase

 

La nota final saldrá del la media ponderada de los proyectos realizados. La ponderación será la misma para todos los proyectos 

 

Para distinguir entre 'suspenso' y 'no presentado' se fija una fecha límite para que los estudiantes se puedan dar de baja de la evaluación, en el que caso aparecerán como 'no presentados'. Para darse de baja deberá comunicarlo al profesor, por escrito o mediante correo eletrónico, y obtener un acuse de recibo.

 

Evaluación Única

Esta asignatura no contempla el sistema de evaluación única.


Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
Nota Coavaluación Clase 10% 0 0 3, 8
Nota Coavaluación Compañeros 10% 0 0 3, 8
Nota Grupal 50% 5 0,2 2, 1, 3, 4, 5, 6, 7, 10, 11, 9, 12, 13
Nota Individual 30% 0 0 4, 5, 6, 8, 10, 11, 9, 13

Bibliografía

- Richard Szeliski, Computer Vision: Algorithms and Applications, 2nd Edition. Springer (Texts in computer Science) 2021. (http://szeliski.org/Book/)

- Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016. (http://www.deeplearningbook.org)

- Adrian Kaehler, Gary Bradsky, Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library, O'Reilly, 2016.

- Aurélien Géron, Hands-On Machine Learning with Scikit-Learn & TensorFlow, O'Reilly, 2017.

- Eli Stevens, Luca Antiga, Thomas Viehmann, Deep learning with Pytorch, Manning Publications, 2020 (https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf)

- François Chollet, Deep learning with Python, Manning Publications, 2021 (https://github.com/fchollet/deep-learning-with-python-notebooks)


Software

Para desarrollar diferentes sistemas de visión por computador, tanto en prácticas como en problemas, se utilizará el lenguaje de programación Python, trabajando con Jupyter Notebooks.