Curricula CS-UNI
5.49. AI268. Visión Computacional (Electivo)

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)

Figura 5.49: Mapa de Conexión. AI268 Visión Computacional

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, 2022Gonzalez 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, 2022Gonzalez 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, 2022Prince, 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., 2016aRussell 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., 2016aRussell 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., 2016aRussell 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

[Szeliski, 2022]

[Gonzalez and Woods, 2018]

[Prince, 2012]

[Goodfellow et al., 2016a]

[Russell and Norvig, 2020]

¿Encontraste una errata, un curso desactualizado, un enlace roto, o tienes una sugerencia? Cuéntanos.

Escanea para abrir en tu teléfono