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

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesi贸n a prueba de IA

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

0 D铆as
6 Hrs
28 Min
12 Seg

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

19/31
Resources

Contributions 3

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

Les comparto los prefixes_to_train:

prefixes_to_train = [
  'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalBoxHead',
  'WeightSharedConvolutionalBoxPredictor/WeightSharedConvolutionalClassHead'                 
]
ya estamos listos para el aprendizaje del aprendizaje 馃
Para realizar \*fine-tuning\* en un modelo de detecci贸n de objetos, es 煤til aplicar \*data augmentation\* para mejorar la robustez del modelo y evitar el sobreajuste, especialmente si cuentas con un conjunto de datos relativamente peque帽o. Las t茅cnicas de \*data augmentation\* transforman las im谩genes para simular diferentes condiciones de variabilidad, ayudando al modelo a generalizar mejor. Aqu铆 tienes una gu铆a para realizar \*data augmentation\* en im谩genes para la detecci贸n de objetos: \### 1. \*\*T茅cnicas de \*Data Augmentation\*\*\* Algunas t茅cnicas comunes de \*data augmentation\* en detecci贸n de objetos son: \- \*\*Rotaci贸n\*\*: Gira la imagen y ajusta las coordenadas de las cajas delimitadoras (\*bounding boxes\*). \- \*\*Traslaci贸n\*\*: Desplaza la imagen en el eje `x` o `y`, modificando tambi茅n las cajas. \- \*\*Escalado (Zoom)\*\*: Aplica un zoom a la imagen, ampliando o reduciendo las cajas seg煤n corresponda. \- \*\*Corte (\*Crop\*)\*\*: Recorta partes de la imagen manteniendo el objeto de inter茅s. \- \*\*Espejado (\*Flip\*) Horizontal/Vertical\*\*: Refleja la imagen y ajusta las coordenadas de las cajas. Para realizar \*data augmentation\* en un proyecto de detecci贸n de objetos, puedes usar librer铆as como \*\*TensorFlow\*\* o \*\*Albumentations\*\*, que tienen funciones espec铆ficas para la manipulaci贸n de im谩genes con \*bounding boxes\*. \### 2. \*\*Ejemplo en TensorFlow\*\* Usando TensorFlow, puedes realizar \*data augmentation\* en im谩genes junto con sus respectivas cajas delimitadoras. ```python import tensorflow as tf import numpy as np \# Sup贸n que tienes una imagen de entrada y sus bounding boxes def augment\_image(image, boxes): \# Convertir las bounding boxes a \[ymin, xmin, ymax, xmax] (formato de TensorFlow) boxes = tf.convert\_to\_tensor(boxes, dtype=tf.float32) boxes = tf.expand\_dims(boxes, axis=0) \# Aplicar traslaci贸n y rotaci贸n a la imagen y ajustar las bounding boxes image, boxes = tf.image.random\_flip\_left\_right(image, boxes) image, boxes = tf.image.random\_contrast(image, 0.8, 1.2), boxes image, boxes = tf.image.random\_brightness(image, max\_delta=0.1), boxes \# Aplanar las bounding boxes boxes = tf.squeeze(boxes, axis=0) return image, boxes.numpy() \# Ejemplo de uso image = tf.random.normal(\[256, 256, 3]) # Imagen de ejemplo boxes = \[\[0.1, 0.2, 0.5, 0.7]] # Ejemplo de bounding box augmented\_image, augmented\_boxes = augment\_image(image, boxes) ``` \### 3. \*\*Ejemplo en Albumentations\*\* \*\*Albumentations\*\* es una librer铆a eficiente para la manipulaci贸n de im谩genes en detecci贸n de objetos y visi贸n por computadora. Aqu铆 un ejemplo: ```python import albumentations as A from albumentations.pytorch import ToTensorV2 \# Transformaci贸n de data augmentation transform = A.Compose(\[ A.HorizontalFlip(p=0.5), A.RandomBrightnessContrast(p=0.2), A.RandomRotate90(p=0.5), A.Resize(256, 256), ], bbox\_params=A.BboxParams(format='pascal\_voc', label\_fields=\['class\_labels'])) \# Ejemplo de aplicaci贸n image = np.random.randint(0, 255, (256, 256, 3), dtype=np.uint8) bboxes = \[\[10, 15, 100, 150]] # Bounding box en formato Pascal VOC class\_labels = \[1] # Etiquetas de clase \# Aplicar la transformaci贸n transformed = transform(image=image, bboxes=bboxes, class\_labels=class\_labels) augmented\_image = transformed\['image'] augmented\_bboxes = transformed\['bboxes'] ``` \### 4. \*\*Incorporaci贸n al Pipeline de Entrenamiento\*\* Si est谩s haciendo \*fine-tuning\*, integra este tipo de \*data augmentation\* dentro del pipeline de entrada de datos para que el modelo reciba datos aumentados en cada 茅poca. En TensorFlow, por ejemplo, puedes hacerlo con `tf.data.Dataset.map()` para aplicar las transformaciones a cada imagen antes de entrenar. \### 5. \*\*Consejos Generales\*\* \- Aplica aumentos de datos seg煤n el contexto: Si los objetos no suelen verse rotados en 90 grados, evita esa transformaci贸n. \- Revisa visualmente las transformaciones para asegurarte de que las \*bounding boxes\* est谩n correctamente alineadas con los objetos tras la transformaci贸n. Estas t茅cnicas de \*data augmentation\* ayudar谩n a mejorar el rendimiento del modelo y su capacidad para generalizar en datos nuevos.