Introducción a Computer Vision

1

¿Qué es la visión computarizada y cuáles son sus tipos?

Detección de objetos

2

Introducción a object detection: sliding window y bounding box

3

Generando video de sliding window

4

Introducción a object detection: backbone, non-max suppression y métricas

5

Visualización de IoU en object detection

6

Tipos de arquitecturas en detección de objetos

7

Arquitecturas relevantes en object detection

8

Utilizando un dataset de object detection

9

Carga de dataset de object detection

10

Exploración del dataset de object detection

11

Visualización de bounding boxes en el dataset de object detection

12

Aumentado de datos con Albumentation

13

Implementando Albumentation en object detection

14

Visualizando imágenes con aumentado de datos

15

Utilizando un modelo de object detection pre-entrenado

16

Probar detección de objetos con modelo pre-entrenado

17

Fine-tuning en detección de objetos

18

Fine-tuning en detección de objetos: carga de datos

19

Fine-tuning en detección de objetos: data augmentation

20

Fine-tuning en detección de objetos: entrenamiento

21

Fine-tuning en detección de objetos: visualización de objetos

Quiz: Detección de objetos

Segmentación de objetos

22

Introduciendo la segmentación de objetos

23

Tipos de segmentación y sus arquitecturas relevantes

24

¿Cómo es un dataset de segmentación?

25

Utilizando un dataset de segmentación de objetos

26

Visualización de nuestro dataset de segmentación

27

Creando red neuronal U-Net para segmentación

28

Entrenando y estudiando una red de segmentación

29

Generando predicciones con modelo de object segmentation

Quiz: Segmentación de objetos

Un paso más allá

30

El estado de la cuestión en computer vision

31

Comparte tu proyecto de detección y segmentación de objetos para conducción autónoma y certifícate

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
15 Hrs
11 Min
24 Seg

Visualización de nuestro dataset de segmentación

26/31
Recursos

Aportes 2

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Un pequeño comentario:
No es buena practica cargar TODAS las imágenes de golpe, ya que puede saturar la memoria. En este caso especial hay poca cantidad de imágenes por ende no se presenta este problema. Pero para un dataset de miles de imágenes si podría ocurrir. Una mejor alternativa sería usar un DataLoader.

Para visualizar un dataset de segmentación, generalmente se superponen las máscaras de segmentación sobre las imágenes originales para obtener una visión clara de cómo se etiquetan y segmentan los objetos. Aquí tienes algunos pasos y un ejemplo de código en Python usando `matplotlib` para visualizar las imágenes y las máscaras. \### Pasos para Visualizar el Dataset de Segmentación 1\. \*\*Cargar la Imagen y la Máscara\*\*: Extrae una imagen y su máscara correspondiente del dataset. 2\. \*\*Convertir la Máscara a Color (opcional)\*\*: Las máscaras suelen ser en escala de grises, donde cada píxel representa una clase en el rango 0, 1, 2, etc. Podemos convertir esta máscara en una versión en color para que sea más visualmente intuitiva. 3\. \*\*Superponer la Máscara sobre la Imagen\*\*: Usualmente se combinan la imagen original y la máscara para ver cómo se alinean los objetos con las etiquetas de segmentación. 4\. \*\*Mostrar las Imágenes con Matplotlib\*\*: Visualiza la imagen original y la superposición de la máscara para tener una visión clara de las etiquetas. \### Ejemplo de Código en Python para Visualización Aquí hay un código en Python que carga una imagen y su máscara, y las muestra usando `matplotlib`. ```python import matplotlib.pyplot as plt import numpy as np from PIL import Image import random def visualize\_segmentation(image\_path, mask\_path): \# Cargar la imagen y la máscara image = Image.open(image\_path).convert("RGB") mask = Image.open(mask\_path) \# Convertir la máscara a un array de NumPy mask\_np = np.array(mask) \# Opcional: Crear una versión en color de la máscara para visualización num\_classes = mask\_np.max() + 1 # Asumiendo que las clases están en 0, 1, 2, etc. colors = plt.cm.get\_cmap("hsv", num\_classes) # Crear un mapa de color mask\_color = colors(mask\_np / num\_classes)\[:, :, :3] # Normalizar y aplicar el mapa \# Mostrar la imagen original, la máscara y la superposición plt.figure(figsize=(15, 5)) plt.subplot(1, 3, 1) plt.imshow(image) plt.title("Imagen Original") plt.axis("off") plt.subplot(1, 3, 2) plt.imshow(mask, cmap="gray") plt.title("Máscara de Segmentación") plt.axis("off") plt.subplot(1, 3, 3) plt.imshow(image) plt.imshow(mask\_color, alpha=0.5) # Superponer la máscara en color plt.title("Superposición de Imagen y Máscara") plt.axis("off") plt.tight\_layout() plt.show() \# Ejemplo de uso image\_path = "ruta/a/imagen.jpg" # Cambia a la ruta de tu imagen mask\_path = "ruta/a/mascara.png" # Cambia a la ruta de tu máscara visualize\_segmentation(image\_path, mask\_path) ``` \### Explicación del Código \- \*\*Carga de Imagen y Máscara\*\*: Cargamos la imagen y la máscara usando `PIL`. \- \*\*Colorización de la Máscara\*\*: Para convertir la máscara a color, aplicamos un mapa de color basado en el número de clases. Esto puede hacerse usando `plt.cm.get\_cmap()`. \- \*\*Visualización en `matplotlib`\*\*: Mostramos tres gráficos: la imagen original, la máscara en escala de grises, y la superposición de ambas, lo que ayuda a ver cómo se alinean las etiquetas en la imagen. \--- \### Tips para la Visualización \- \*\*Máscaras Transparentes\*\*: Ajusta la transparencia (`alpha`) para ver mejor la superposición de la máscara sobre la imagen. \- \*\*Escala de Colores Personalizada\*\*: Si tienes clases específicas, puedes definir una paleta de colores única para cada clase en lugar de usar un mapa de colores genérico. \- \*\*Aumentar la Resolución\*\*: Configura `plt.figure(figsize=(15, 5))` según el tamaño que quieras para la visualización. Esta técnica te permitirá ver cómo el modelo puede estar interpretando el dataset y ajustar en caso de que los resultados de segmentación no se alineen correctamente.