Visión por Computadora 2025
Este es un curso introductorio a la visión computacional (CV). Haremos un recorrido por las técnicas estándar para el procesamiento de imágenes digitales, el diseño de filtros básicos y aplicaciones de transformaciones, las cuales sirvan como base para el desarrollo de aplicaciones inteligentes asociadas a imágenes.
Aprenderemos y estudiaremos los algoritmos más comunes para la detección, extracción y comparación de características. Abordaremos también el estudio geométrico de imágenes de una vista (one-point-view) y de dos vistas (two-point-view), y sus transformaciones asociadas. Estos algoritmos se utilizan para alinear y unir imágenes para crear una única imagen de una escena más grande, y para recrear escenas 3D a partir de imágenes planas.
Abordaremos también grandes temas como la clasificación y segmentación de imágenes, y estudiaremos los métodos actuales de aprendizaje automático para este objetivo, principalmente redes neuronales convolucionales. Abordaremos también temas como la detección de objetos en una imagen, así como estimación de movimiento y seguimiento de objetos con aprendizaje automático. Al final del curso y si el tiempo lo permite haremos un breve recorrido por metodologías y herramientas actuales de IA generativa, para producir imágenes a partir de descripciones.
El curso requiere madurez por parte del estudiante, pues se integran contenidos de muchos cursos de computación, matemática y estadística. Entre los prerrequisitos se encuentra tener un buen dominio de las técnicas vistas en los cursos de matemática discreta, grafos, álgebra lineal, programación y algoritmos, cálculo diferencial e integral, y estadística.
Programa del curso
(El programa aún está sujeto a modificaciones. Las fechas y algunos temas pueden cambiar).
Horario
- Martes, de 18:10 a 19:45 horas. Jueves, de 17:20 a 18:55 horas.
Office Hours
- Por definir. Por solicitud del estudiante. También pueden enviar sus dudas por correo electrónico.
Material del curso
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
01 | 14.01.2025 | Introducción al curso. Desarrollo de la VC. Aula 01 |
|
02 | 14.01.2025 | Tipos de imágenes: binarias, escala de grises, a color, multiespectro. Aula 02 | |
03 | 16.01.2025 | Transformaciones básicas en imágenes. Histogramas. Corrección $\gamma$. | plane.png plane_mask.png quetzal.png image-types.ipynb |
04 | 23.01.2025 | Formación de imágenes. Luminancia y crominancia. Aula 04 | Forsyth-Ponce, Cap. 1 |
05 | 23.01.2025 | Espacios de color: RGB, HSV y HSL, CIExy, YUV, YCbCr. | house.jpeg bananas.jpeg fresas.png color-spaces.ipynb color-perception.ipynb color-detection.ipynb |
06 | 28.01.2025 | Ecualización de Histogramas. Algoritmos de binarización: Riddler-Calvard, Otsu. | thresholding2.ipynb tree.jpg document.png |
07 | 30.01.2025 | Algoritmos de binarización II. Cuantización. Segmentación de imágenes. | quantization.ipynb horse.jpg playa.jpeg |
L1 | 30.01.2025 | Lab 1. Lab 01 Fecha de Entrega: 11 de febrero. |
rice.jpg coca-cola.jpeg pepsi.png |
08 | 04.02.2025 | Morfología matemática: dilation, erosion, opening, closing, Top-Hat. Aula 06 | circles.png Cosmos_original.jpeg morphology1.ipynb |
09 | 06.02.2025 | Esqueletización. Detección de componentes conexas. Operador Hit-or-Miss. | octagons.png text.png text2.png morphology2.ipynb |
10 | 11.02.2025 | Morfología matemática para imágenes grayscale. Algoritmo Watershed. | quetzalgris.png morphology3.ipynb |
L2 | 13.02.2025 | Lab 2. Lab 02 Fecha de Entrega: 25 de febrero. |
brain-scan.jpeg rice.jpg microscope.png butterfly.jpeg quetzalgris.png chestxray.jpeg wheat.png |
11 | 18.02.2025 | Convolución y correlación. Filtros binarios. | |
12 | 20.02.2025 | Tipos de padding. Filtros lineales: Prewitt, Sobel, Laplace. | |
13 | 25.02.2025 | Filtros de orden, filtro de medianas. Eliminación de ruido. | |
14 | 27.02.2025 | Filtros gaussianos. Fitros de Gabor. Bancos de filtros. | |
15 | 04.03.2025 | Transformada rápida de Fourier. |
|
16 | 11.03.2025 | Filtro de Canny. Transformada de Hough. |
|
17 | 11.03.2025 | Filtros de Haar. Imagen integral. Algoritmo de Viola-Jones para detección de caras. | Paper Viola-Jones (2001) facial-expressions.jpeg haar1.ipynb |
18 | 13.03.2025 | Ejemplos de filtros de Haar. Uso de librerías MediaPipe. | volei.jpeg clocks.jpeg haar2.ipynb haar3.ipynb |
19 | 20.03.2025 | Histograma de Gradientes Orientados (HoG). | Paper Dalal-Triggs (2005) person.png hog-on-scratch.ipynb hog.ipynb |
L3 | 25.03.2025 | Construcción de un HoG. Lab 03 person.png |
Fecha de Entrega: 01 de abril. |
20 | 27.03.2025 | Puntos característicos. Detector de esquinas de Harris. | harris-detector.ipynb |
21 | 01.04.2025 | Descriptores de puntos característicos: SIFT, SURF, ORB. | |
22 | 03.04.2025 | Elementos de geometría proyectiva. Transformaciones proyectivas. | |
23 | 10.04.2025 | Presentación del segundo proyecto. | |
24 | 22.04.2025 | Cálculo de homografías. Image stitching. Warping. | |
25 | 24.04.2025 | Blending. Otras transformaciones no lineales. | |
26 | 06.05.2025 | Redes neuronales convolucionales. Conv2D y Conv3D, Dropout, Pooling. | |
27 | 08.05.2025 | Arquitecturas de ConvNets. Batch Normalization, Residual. Skip Connections. | |
28 | 13.05.2025 | Implementación de ConvNets en Keras. | Ejemplos en Keras. CNNs.ipynb plotmatrix.py |
29 | 15.05.2025 | Presentación del tercer proyecto. | |
L4 | 20.05.2025 | Filtros anisotrópicos. Implementación de la U-Net. Lab 04 anisotropic.py |
Fecha de Entrega: 31 de mayo. |
30 | 27.05.2025 | Charla sobre aplicaciónes de visión y neuroimagen. | |
31 | 02-06.06.2025 | Proyectos finales. |
Proyectos
En el curso se desarrollarán cuatro proyectos, los cuales se describen a continuación.
Proyecto 1
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
1 | 13.02.2025 | Proyecto 1 - Angiogramas coronarios. | Proyecto 1 database.zip |
2 | 13.03.2025 | Entrega del proyecto. |
Proyecto 2
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
1 | 20.03.2025 | Proyecto 2 - Detección de objetos. | Proyecto 2 |
2 | 10.04.2025 | Entrega del proyecto. |
Proyecto 3
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
1 | 08.04.2025 | Proyecto 3 - Panoramas. | Proyecto 3 |
2 | 15.05.2025 | Entrega del proyecto. |
Proyecto 4
No. | Fecha | Tópicos | Recursos |
---|---|---|---|
1 | 05.05.2025 | Proyecto 4 - Redes Neuronales. | Tema libre sobre uso de NN en visión computacional. |
2 | 20.05.2025 | Fecha límite para definición de tema. | Deberán enviar un correo electrónico para la aprobación del tema. |
3 | 2-6.06.2025 | Presentaciones. | |
4 | 06.06.2025 | Entrega del proyecto. |
Referencias
Textos:
Otras Referencias:
-
D. Forsyth y J. Ponce (2011). Computer Vision: A Modern Approach.
-
R. Hartley y A. Zisserman (2004). Multiple View Geometry in Computer Vsion.
-
R. Gonzalez y R. Woods (2018). Digital Image Processing. 4th Edition