5.49. AI268. Visión Computacional (Electivo)
- Semestre: 8vo Sem. Créditos: 3
- Horas del curso: Teoría: 2 horas; Laboratorio: 2 horas;
-
Prerrequisitos:
- AI264. Aprendizaje Profundo (7mo Sem)
5.49.1. Justificación
La Visión por Computadora es un área clave de la Inteligencia Artificial que permite a las máquinas interpretar y comprender el mundo visual. Este curso cubre técnicas fundamentales para procesamiento de imágenes, extracción de características y reconocimiento de objetos. Con el advenimiento del aprendizaje profundo, la visión por computadora se ha vuelto esencial para vehículos autónomos, imágenes médicas y realidad aumentada. Los estudiantes aprenderán los fundamentos matemáticos y enfoques algorítmicos para resolver problemas de percepción visual del mundo real.
5.49.2. Objetivos Generales
- 1.
- Comprender los fundamentos de la formación de imágenes y la representación digital.
- 2.
- Dominar técnicas de procesamiento de imágenes como filtrado y detección de bordes.
- 3.
- Aplicar métodos de extracción de características para identificar patrones clave en imágenes.
- 4.
- Implementar detección y reconocimiento de objetos usando modelos de aprendizaje profundo.
- 5.
- Analizar técnicas de visión 3D y estimación de movimiento.
5.49.3. Contribución a los resultados (Outcomes)
-
AG-C08) Análisis de Problemas: Identifica, formula y analiza problemas complejos de computación. (Usage)
-
AG-C09) Diseño y Desarrollo de Soluciones: Diseña, implementa y evalúa soluciones para problemas complejos de computación. (Assessment)
-
AG-C12) Aplica la teoría de la ciencia de la computación y los fundamentos de desarrollo de software para producir soluciones basadas en computadora. (Usage)
5.49.4. Contenido
5.49.4.1. Introducción a la IA: Conceptos y Comportamiento Inteligente (5 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Szeliski, 2022, Gonzalez and Woods, 2018]
Temas
- 1.
- Visión general de los problemas de IA, Ejemplos de aplicaciones recientes exitosas de IA
- 2.
- Definiciones de agentes con ejemplos (por ejemplo, reactivos, deliberativos)
- 3.
- ¿Qué es el comportamiento inteligente?:
- a)
- La prueba de Turing y sus defectos
- b)
- Entrada y salida multimodal
- c)
- Simulación del comportamiento inteligente
- d)
- Razonamiento racional versus no racional
- 4.
- Visión general de las Aplicaciones de IA, crecimiento e impacto (económico, social, ético)
- 5.
- Problemas filosóficos
- 6.
- Historia de la IA
Aprendizaje esperado (Learning Outcomes)
- 1.
- Describir la prueba de Turing y el experimento mental de la "Habitación China"[Explicar]
- 2.
- Diferenciar entre razonamiento/comportamiento óptimo y razonamiento/comportamiento similar al humano [Evaluar]
- 3.
- Diferenciar los términos: IA, aprendizaje automático y aprendizaje profundo [Explicar]
5.49.4.2. Características del Problema y Naturaleza de los Agentes (5 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Szeliski, 2022, Gonzalez and Woods, 2018]
Temas
- 1.
- Características del problema:
- a)
- Totalmente observable versus parcialmente observable
- b)
- Agente único versus multiagente
- c)
- Determinista versus estocástico
- d)
- Estático versus dinámico
- e)
- Discreto versus continuo
- 2.
- Naturaleza de los agentes:
- a)
- Autonomía autónoma, semiautónoma, de iniciativa mixta
- b)
- Reflexivos, basados en metas y basados en utilidad
- c)
- Toma de decisiones bajo incertidumbre y con información incompleta
- d)
- La importancia de la percepción y las interacciones ambientales
- e)
- Agentes basados en aprendizaje
- f )
- Agentes corporeizados:
- 1)
- sensores, dinámicas, efectores
- 3.
- Practicar la identificación de características del problema en entornos de ejemplo
- 4.
- Profundidad adicional sobre la naturaleza de los agentes con ejemplos
- 5.
- Profundidad adicional sobre Aplicaciones de IA, Crecimiento e Impacto (económico, social, ético, seguridad)
Aprendizaje esperado (Learning Outcomes)
- 1.
- Enumerar las características de un problema específico [Aplicar]
5.49.4.3. Percepción y Visión por Computadora (12 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Szeliski, 2022, Prince, 2012]
Temas
- 1.
- Visión por computadora:
- a)
- Adquisición, representación, procesamiento y propiedades de imágenes
- b)
- Representación de formas, reconocimiento de objetos y segmentación
- c)
- Análisis de movimiento
- d)
- Modelos generativos
- 2.
- Audio y reconocimiento de voz
- 3.
- Tacto y propiocepción
- 4.
- Otras modalidades (por ejemplo, olfato)
- 5.
- Modularidad en el reconocimiento
- 6.
- Enfoques para el reconocimiento de patrones:
- a)
- Algoritmos de clasificación y medidas de calidad de clasificación
- b)
- Técnicas estadísticas
- c)
- Técnicas de aprendizaje profundo
Aprendizaje esperado (Learning Outcomes)
- 1.
- Resumir la importancia del reconocimiento de imágenes y objetos en IA e indicar varias aplicaciones significativas de esta tecnología [Resumir]
- 2.
- Listar al menos tres enfoques de segmentación de imágenes, como umbralización, algoritmos basados en bordes y basados en regiones, junto con sus características definitorias, fortalezas y debilidades [Listar/Enumerar]
- 3.
- Implementar reconocimiento de objetos 2D basado en representaciones de forma basadas en contorno y/o región [Aplicar]
- 4.
- Distinguir los objetivos del reconocimiento de sonido, reconocimiento de voz y reconocimiento de hablante, e identificar cómo se manejará diferente la señal de audio cruda en cada uno de estos casos [Distinguir]
- 5.
- Proporcionar al menos dos ejemplos de transformación de una fuente de datos de un dominio sensorial a otro, por ejemplo, datos táctiles interpretados como imágenes 2D de banda única [Generar]
- 6.
- Implementar un algoritmo de extracción de características en datos reales, por ejemplo, un detector de bordes o esquinas para imágenes o vectores de coeficientes de Fourier que describen un segmento corto de señal de audio [Aplicar]
- 7.
- Implementar un algoritmo que combine características en percepciones de nivel superior, por ejemplo, un contorno o polígono a partir de primitivas visuales o hipótesis de fonemas a partir de una señal de audio [Aplicar]
- 8.
- Implementar un algoritmo de clasificación que segmenta percepciones de entrada en categorías de salida y evalúa cuantitativamente la clasificación resultante [Aplicar]
- 9.
- Evaluar el rendimiento de la extracción de características subyacente, relativo a al menos un enfoque alternativo posible (ya sea implementado o no) en su contribución a la tarea de clasificación (8), anterior [Evaluar]
- 10.
- Describir al menos tres enfoques de clasificación, sus prerrequisitos para aplicabilidad, sus fortalezas y sus limitaciones [Describir]
- 11.
- Implementar y evaluar una solución de aprendizaje profundo para problemas en visión por computadora, como reconocimiento de objetos o escenas [Aplicar]
5.49.4.4. Aprendizaje Automático I: Fundamentos (5 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Goodfellow et al., 2016a, Russell and Norvig, 2020]
Temas
- 1.
- Definición y ejemplos de una amplia variedad de tareas de aprendizaje automático:
- a)
- Aprendizaje supervisado:
- 1)
- Clasificación
- 2)
- Regresión
- b)
- Aprendizaje por refuerzo
- c)
- Aprendizaje no supervisado:
- 1)
- Agrupamiento
- 2.
- Ideas fundamentales:
- a)
- Teorema de no hay almuerzo gratis: ningún aprendiz puede resolver todos los problemas; las decisiones de diseño de representación tienen consecuencias.
- b)
- Fuentes de error e indecidibilidad en el aprendizaje automático
- 3.
- Un aprendizaje supervisado simple basado en estadísticas como regresión lineal o árboles de
decisión:
- a)
- Enfocarse en cómo funcionan sin entrar en detalles matemáticos o de optimización; suficiente para entender y usar implementaciones existentes correctamente
- 4.
- El problema del sobreajuste/control de la complejidad de la solución (regularización, poda - solo
intuición):
- a)
- El compromiso entre sesgo (subajuste) - varianza (sobreajuste)
Aprendizaje esperado (Learning Outcomes)
- 1.
- Describir las diferencias entre los tres estilos principales de aprendizaje (supervisado, por refuerzo y no supervisado) y determinar cuál es apropiado para un dominio de problema particular [Explicar]
- 2.
- Diferenciar los términos: IA, aprendizaje automático y aprendizaje profundo [Evaluar]
- 3.
- Formular una aplicación como un problema de clasificación, incluyendo las características de entrada disponibles y la salida a predecir (por ejemplo, identificar caracteres alfabéticos a partir de entrada de cuadrícula de píxeles) [Aplicar]
- 4.
- Identificar el sobreajuste en el contexto de un problema y curvas de aprendizaje y describir soluciones al sobreajuste [Evaluar]
- 5.
- Explicar cómo funciona el aprendizaje automático como un proceso de optimización/búsqueda [Explicar]
5.49.4.5. Aprendizaje Automático II: Datos, Representaciones y Evaluación (5 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Goodfellow et al., 2016a, Russell and Norvig, 2020]
Temas
- 1.
- Trabajar con Datos:
-
a)
- Preprocesamiento de datos:
- 1)
- Importancia y peligros de las elecciones de preprocesamiento
- b)
- Manejo de valores faltantes (imputación, marcar como faltante):
- 1)
- Implicaciones de imputar versus marcar como faltante
- c)
- Codificación de variables categóricas, codificación de datos de valor real
- d)
- Normalización/estandarización
- e)
- énfasis en datos reales, no ejemplos de libros de texto
-
- 2.
- Representaciones:
- a)
- Espacios de hipótesis y complejidad
- b)
- Expansión de características de base simple, como elevar al cuadrado características univariadas
- c)
- Representaciones de características aprendidas
- 3.
- Evaluación del aprendizaje automático:
- a)
- Separación de conjuntos de entrenamiento, validación y prueba
- b)
- Métricas de rendimiento para clasificadores
- c)
- Estimación del rendimiento en prueba en datos retenidos
- d)
- Ajuste de los parámetros de un modelo de aprendizaje automático con un conjunto de validación
- e)
- Importancia de entender qué está haciendo un modelo, dónde están sus peligros/limitaciones y las implicaciones de sus decisiones
Aprendizaje esperado (Learning Outcomes)
- 1.
- Aplicar dos o más algoritmos de aprendizaje estadístico simple a una tarea de clasificación y medir la precisión de los clasificadores [Aplicar]
- 2.
- Implementar un algoritmo de aprendizaje estadístico y el proceso de optimización correspondiente para entrenar el clasificador y obtener una predicción en nuevos datos [Aplicar]
- 3.
- Explicar los procedimientos adecuados de evaluación de AA, incluyendo las diferencias entre rendimiento en entrenamiento y prueba, y qué puede salir mal con el proceso de evaluación llevando a informes inexactos del rendimiento de AA [Explicar]
- 4.
- Comparar dos algoritmos de aprendizaje automático en un conjunto de datos, implementando la metodología de preprocesamiento de datos y evaluación (por ejemplo, métricas y manejo de divisiones entrenamiento/prueba) desde cero [Aplicar]
5.49.4.6. Aprendizaje Automático III: Redes Neuronales y Ética (4 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Goodfellow et al., 2016a, Russell and Norvig, 2020]
Temas
- 1.
- Redes neuronales básicas:
- a)
- Fundamentos de comprensión de cómo funcionan las redes neuronales y su proceso de entrenamiento, sin detalles de los cálculos
- b)
- Introducción básica a redes neuronales generativas (por ejemplo, modelos de lenguaje grandes)
- 2.
- ética para el Aprendizaje Automático:
- a)
- Enfocarse en datos reales, escenarios reales y estudios de caso
- b)
- Sesgo de conjunto de datos/algorítmico/de evaluación y consecuencias no deseadas
Aprendizaje esperado (Learning Outcomes)
- 1.
- Describir el proceso de entrenamiento de redes neuronales y las representaciones aprendidas resultantes [Explicar]
5.49.4.7. Formulación del Aprendizaje Automático y Evaluación (3 horas) [Habilidades AG-C09]
Referencias Bibliográficas: [Goodfellow et al., 2016a]
Temas
- 1.
- Formulación del aprendizaje automático simple como un problema de optimización, como regresión
lineal por mínimos cuadrados o regresión logística:
- a)
- Función objetivo
- b)
- Descenso de gradiente
- c)
- Regularización para evitar sobreajuste (formulación matemática)
- 2.
- Conjuntos de modelos:
- a)
- Combinación de mayoría ponderada simple
- 3.
- Evaluación de rendimiento:
- a)
- Otras métricas para clasificación (por ejemplo, error, precisión, exhaustividad)
- b)
- Métricas de rendimiento para regresores
- c)
- Matriz de confusión
- d)
- Validación cruzada:
- 1)
- Ajuste de parámetros (búsqueda en cuadrícula/aleatoria, mediante validación cruzada)
Aprendizaje esperado (Learning Outcomes)
- 1.
- Comparar y contrastar varias técnicas de aprendizaje (por ejemplo, árboles de decisión, regresión logística, Bayes ingenuo, redes neuronales y redes de creencia), proporcionando ejemplos de cuándo cada estrategia es superior [Comparar]
- 2.
- Evaluar el rendimiento de un sistema de aprendizaje simple en un conjunto de datos del mundo real [Evaluar]
- 3.
- Caracterizar el estado del arte en teoría del aprendizaje, incluyendo sus logros y limitaciones [Explicar]
- 4.
- Explicar el problema del sobreajuste, junto con técnicas para detectar y manejar el problema [Explicar]
- 5.
- Explicar el triple compromiso entre el tamaño de un espacio de hipótesis, el tamaño del conjunto de entrenamiento y la precisión del rendimiento [Explicar]
5.49.4.8. Aprendizaje Profundo, RL y Ética (3 horas) [Habilidades AG-C09]
Referencias Bibliográficas: [Goodfellow et al., 2016a]
Temas
- 1.
- Aprendizaje profundo:
- a)
- Redes feed-forward profundas (solo intuición, sin matemáticas)
- b)
- Redes neuronales convolucionales (solo intuición, sin matemáticas)
- c)
- Visualización de representaciones de características aprendidas de redes profundas
- d)
- Otras arquitecturas (NN generativas, NN recurrentes, transformers, etc.)
- 2.
- Visión general de los métodos de aprendizaje por refuerzo
- 3.
- Dos o más aplicaciones de algoritmos de aprendizaje automático:
- a)
- Por ejemplo, medicina y salud, economía, visión, lenguaje natural, robótica, juego
- 4.
- ética para el Aprendizaje Automático:
- a)
- Continuar enfocándose en datos reales, escenarios reales y estudios de caso
- b)
- Privacidad
- c)
- Equidad
- d)
- Propiedad intelectual
- e)
- Explicabilidad
Aprendizaje esperado (Learning Outcomes)
- 1.
- Visualizar el progreso del entrenamiento de una red neuronal a través de curvas de aprendizaje en un kit de herramientas establecido (por ejemplo, TensorBoard) y visualizar las características aprendidas de la red [Aplicar]
- 2.
- Dada una aplicación real de aprendizaje automático, describir problemas éticos respecto a las elecciones de datos, pasos de preprocesamiento, selección de algoritmo y visualización/presentación de resultados [Aplicar]
5.49.4.9. Percepción y Visión por Computadora (12 horas) [Habilidades AG-C08]
Referencias Bibliográficas: [Szeliski, 2022]
Temas
- 1.
- Visión por computadora:
- a)
- Adquisición, representación, procesamiento y propiedades de imágenes
- b)
- Representación de formas, reconocimiento de objetos y segmentación
- c)
- Análisis de movimiento
- d)
- Modelos generativos
- 2.
- Audio y reconocimiento de voz
- 3.
- Tacto y propiocepción
- 4.
- Otras modalidades (por ejemplo, olfato)
- 5.
- Modularidad en el reconocimiento
- 6.
- Enfoques para el reconocimiento de patrones:
- a)
- Algoritmos de clasificación y medidas de calidad de clasificación
- b)
- Técnicas estadísticas
- c)
- Técnicas de aprendizaje profundo
Aprendizaje esperado (Learning Outcomes)
- 1.
- Resumir la importancia del reconocimiento de imágenes y objetos en IA e indicar varias aplicaciones significativas de esta tecnología [Resumir]
- 2.
- Listar al menos tres enfoques de segmentación de imágenes, como umbralización, algoritmos basados en bordes y basados en regiones, junto con sus características definitorias, fortalezas y debilidades [Listar/Enumerar]
- 3.
- Implementar reconocimiento de objetos 2D basado en representaciones de forma basadas en contorno y/o región [Aplicar]
-
4.
- Distinguir los objetivos del reconocimiento de sonido, reconocimiento de voz y reconocimiento de hablante, e identificar cómo se manejará diferente la señal de audio cruda en cada uno de estos casos [Distinguir]
- 5.
- Proporcionar al menos dos ejemplos de transformación de una fuente de datos de un dominio sensorial a otro, por ejemplo, datos táctiles interpretados como imágenes 2D de banda única [Generar]
- 6.
- Implementar un algoritmo de extracción de características en datos reales, por ejemplo, un detector de bordes o esquinas para imágenes o vectores de coeficientes de Fourier que describen un segmento corto de señal de audio [Aplicar]
- 7.
- Implementar un algoritmo que combine características en percepciones de nivel superior, por ejemplo, un contorno o polígono a partir de primitivas visuales o hipótesis de fonemas a partir de una señal de audio [Aplicar]
- 8.
- Implementar un algoritmo de clasificación que segmenta percepciones de entrada en categorías de salida y evalúa cuantitativamente la clasificación resultante [Aplicar]
- 9.
- Evaluar el rendimiento de la extracción de características subyacente, relativo a al menos un enfoque alternativo posible (ya sea implementado o no) en su contribución a la tarea de clasificación (8), anterior [Evaluar]
- 10.
- Describir al menos tres enfoques de clasificación, sus prerrequisitos para aplicabilidad, sus fortalezas y sus limitaciones [Describir]
- 11.
- Implementar y evaluar una solución de aprendizaje profundo para problemas en visión por computadora, como reconocimiento de objetos o escenas [Aplicar]
5.49.5. Referencias Bibliográficas