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
7 Seg

Utilizando un dataset de object detection

8/31
Recursos

Aportes 2

Preguntas 3

Ordenar por:

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

Excelente la clase.
Para trabajar con un dataset de detección de objetos, necesitas cargar, preprocesar y preparar el dataset en un formato adecuado para que tu modelo de detección pueda usarlo. Aquí te explico cómo hacerlo de manera general: \### 1. Selección y carga de un dataset Algunos de los datasets de detección de objetos más populares incluyen COCO, Pascal VOC y Open Images. Para fines prácticos, supongamos que estás trabajando con el dataset COCO. \*\*COCO Dataset\*\*: Es un dataset que contiene imágenes con anotaciones de objetos en formato JSON. \### 2. Preparación del entorno Asegúrate de tener instaladas las bibliotecas necesarias: ```bash pip install tensorflow opencv-python matplotlib pycocotools ``` \### 3. Cargar el dataset en tu script de Python Puedes utilizar `pycocotools` para trabajar con las anotaciones de COCO: ```python from pycocotools.coco import COCO import matplotlib.pyplot as plt import cv2 import numpy as np \# Ruta al archivo de anotaciones y las imágenes annotation\_path = 'ruta/a/annotations/instances\_train2017.json' image\_dir = 'ruta/a/images/train2017/' \# Cargar anotaciones de COCO coco = COCO(annotation\_path) \# Obtener una imagen por su ID y mostrarla image\_id = 123456 # Ejemplo de ID de imagen image\_info = coco.loadImgs(image\_id)\[0] image\_path = f"{image\_dir}/{image\_info\['file\_name']}" \# Leer y mostrar la imagen image = cv2.imread(image\_path) image = cv2.cvtColor(image, cv2.COLOR\_BGR2RGB) plt.imshow(image) plt.axis('off') plt.show() \# Obtener anotaciones para la imagen seleccionada ann\_ids = coco.getAnnIds(imgIds=image\_id, iscrowd=False) annotations = coco.loadAnns(ann\_ids) \# Dibujar las cajas delimitadoras for ann in annotations: bbox = ann\['bbox'] # Formato \[x\_min, y\_min, width, height] x, y, width, height = bbox plt.gca().add\_patch(plt.Rectangle((x, y), width, height, linewidth=2, edgecolor='r', facecolor='none')) plt.imshow(image) plt.show() ``` \### 4. Preprocesamiento de datos Es importante ajustar las imágenes y las cajas delimitadoras al tamaño de entrada requerido por tu modelo (por ejemplo, 300x300 para algunos modelos pre-entrenados). ```python def preprocess\_image(image, target\_size=(300, 300)): image\_resized = cv2.resize(image, target\_size) image\_normalized = image\_resized / 255.0 # Normalizar a \[0, 1] return image\_normalized ``` \### 5. Entrenamiento del modelo Utiliza modelos pre-entrenados como SSD, Faster R-CNN o YOLO y adapta la última capa a tu dataset. Puedes usar bibliotecas como `TensorFlow Object Detection API` o `Detectron2`. \### 6. Métricas de evaluación Evalúa tu modelo con métricas como \*\*mAP (mean Average Precision)\*\* para medir la precisión de la detección de objetos. \### Consideraciones adicionales \- \*\*Aumentación de datos\*\*: Aplica técnicas de aumentación como rotación, cambio de brillo, recortes y espejado para mejorar la capacidad de generalización de tu modelo. \- \*\*Non-Max Suppression (NMS)\*\*: Implementa NMS para eliminar cajas delimitadoras redundantes y quedarte con la detección más relevante. Esta es una introducción a cómo trabajar con datasets de detección de objetos en Python. Si necesitas ejemplos más específicos o trabajar con otros datasets como Pascal VOC.