FACULTAD DE CIENCIAS EXACTAS DE LA UNICEN

1 año / 6 módulos

2 seminarios especiales

+15 docentes / 50 alumnos

Cursada 2025 modalidad virtual

Módulo #5

Fechas a confirmar

Visión Computacional basada en Inteligencia Artificial

El área de Visión Artificial o Visión Computacional (Computer Vision) es una disciplina que introduce enfoques para obtener, procesar, analizar e interpretar imágenes (y video) de manera automática utilizando la comptuadora. En boga en las ciencias de la computación, este área se ha visto enormemente beneficiada desde la incorporación de estrategias de inteligencia artificial y machine learning, en particular las del área de aprendizaje profundo o deep learning. En este módulo se recorrerán algunas de las herramientas de deep learning para resolver problemas clásicos de visión computacional, tales como clasificación de imágenes, segmentación semántica, detección de objetos y reconocimiento facial. Se abordarán a tal fin conceptos básicos en redes neuronales convolucionales, estrategias de transferencia de aprendizaje y fine-tuning y herramientas para evaluar los algoritmos correspondientes.

Objetivos de aprendizaje

Que el alumno desarrolle habilidades para:

  • Comprender los diferentes tipos de problemas de Visión Artificial susceptibles de ser resueltos mediante redes neuronales.
  • Interpretar qué datos (imágenes y etiquetas) son necesarios para resolver cada tipo particular de problemática.
  • Conocer los fundamentos básicos de PyTorch como framework para la implementación de redes neuronales en Python.
  • Entrenar su propia arquitectura de red neuronal convolucional para la resolución de problemas de clasificación.
  • Interpretar curvas de aprendizaje y poder evaluar el rendimiento de un algoritmo de clasificación de imágenes basado en redes neuronales.
  • Utilizar modelos preentrenados de segmentación y detección de objetos para la resolución de problemas del mundo real.

Contenidos

Unidad 1 – Introducción a la visión computacional

¿Qué es la visión computacional? Utilidad. ¿Cómo se aplica la visión computacional? Problemas típicos de visión. Ejemplos. Enfoques tradicionales vs. deep learning.

Unidad 2 – Deep Learning con PyTorch

Redes neuronales. Aprendizaje: función de pérdida, optimización, back propagation. PyTorch.

Unidad 3 – Clasificación de imágenes

Desafíos. Los datos. Preprocesamiento. Cross Entropy loss. Training Loops. MLP. ConvNets.

Unidad 4 – Redes neuronales convolucionales avanzadas

Funciones de activación no-lineal. Capacidad y regularización. Batch normalization. Redes profundas. Arquitecturas clásicas.

Unidad 5 – Transfer learning y métodos de atribución

Interpretación de modelos: ¿por qué y para qué? Métodos basados en gradiente y en oclusiones. Transfer Learning: motivación. Redes preentrenadas. Redes como extractoras de características. Fine-tuning de redes neuronales. Algunos tips extra.

Unidad 6 – Segmentación y detección de objetos

Definición de detección de objetos. Diferencias con clasificación. Los datos. Las funciones de pérdida. Redes fully convolutional. Métricas de evaluación. Definición de segmentación. Diferencias con clasificación. Los datos. Las funciones de pérdida. Redes fully convolutional. Métricas de evaluación.

Metodología de trabajo

Se desarrollarán clases teóricas durante las cuales se presentarán los contenidos de la materia mediante presentaciones y slides, mostrando además ejemplos de código en Google Colab que quedarán disponibles para los alumnos para pruebas propias y/o realizar el trabajo práctico especial. Se dictarán clases teóricas de forma sincrónica, y las prácticas se realizarán asincrónicamente, vía Moodle.

Mecanismo de evaluación

Se solicitará a los estudiantes entregar un trabajo práctico especial, en grupos de entre 2 y 3 personas, que consistirá en la implementación de una red neuronal convolucional de clasificación de imágenes para el conjunto CIFAR-10, que se evaluará sobre CIFAR-10 v2. Los grupos podrán ser conformados por los propios estudiantes, o armados por la cátedra. El código deberá entregarse de forma completamente funcional, en un Google Colab. Se evaluará el código y además deberán realizar una presentación de 10 minutos, explicando los experimentos realizados, los resultados obtenidos y planteando potenciales mejoras.

Bibliografía sugerida

  • Stevens 2020. “Deep learning with PyTorch”.
  • Goodfellow 2015. “Deep learning”
  • Bishop 2024. “Deep learning”
  • Chollet 2018. “Deep learning with Python”
  • Avendi 2020. “PyTorch Computer Vision Cookbook”
DOCENTES


José Ignacio Orlando

Doctor en Matemática Computacional e Ingeniero de Sistemas. Actualmente es Investigador Adjunto del CONICET en el grupo Yatiris del Instituto Pladema de la UNICEN. Dirige además los AI Labs de la compañía Arionkoder. Sus investigaciones se centran en técnicas de aprendizaje automático y visión por computadora para imágenes médicas, principalmente oftalmológicas, y en grandes modelos de lenguaje.


Santiago Vitale

Doctor en Matemática Computacional e Ingeniero de Sistemas. Actualmente se desempeña como Becario Postdoctoral del CONICET en el grupo Yatiris del Instituto Pladema de la UNICEN. Su investigación se centra en técnicas de visión computacional y aprendizaje profundo aplicadas a imágenes médicas, con un enfoque principal en el desarrollo de métodos para la síntesis y segmentación de imágenes de ultrasonido.

CLASE #1

19/09/2025

CLASE #2

20/09/2025

CLASE #3

26/09/2025

CLASE #4

27/09/2025

CLASE #5

30/09/2025

CLASE #6

03/10/2025

CLASE #7

04/10/2025

CLASE #8

07/10/2025

CLASE #9

10/10/2025