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
19 Hrs
12 Min
15 Seg

Fine-tuning en detecci贸n de objetos

17/31
Resources

Contributions 2

Questions 1

Sort by:

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

驴Qu茅 es el fine-tuning?
Es una t茅cnica, que consiste en tomar un modelo ya pre-entrenado y ajustarlo para una actividad espec铆fica.
Esto quiere decir, que en vez de entrenar el modelo desde cero, se tomar谩 un modelo que ha sido entrenado con una gran cantidad de datos. Lo 煤nico es ajustar su arquitectura y sus pesos, esto para poder dejarlo al 100 con la actividad a realizar.

El \*fine-tuning\* en detecci贸n de objetos es el proceso de ajustar un modelo preentrenado para adaptarlo a un nuevo conjunto de datos espec铆fico. En el caso de la API de TensorFlow para detecci贸n de objetos, esto implica entrenar un modelo ya preentrenado (como SSD o Faster R-CNN) en tu propio conjunto de datos, para que pueda aprender a detectar objetos espec铆ficos de tu dominio. \### Pasos para realizar el Fine-Tuning en Detecci贸n de Objetos: 1\. \*\*Preparar el entorno\*\*: Aseg煤rate de tener todas las dependencias necesarias instaladas: ```bash pip install tf-slim tensorflow-object-detection-api ``` 2\. \*\*Configurar el conjunto de datos\*\*: El primer paso es tener tu conjunto de datos preparado en el formato adecuado para TensorFlow. El formato t铆pico es el formato de anotaciones \*TFRecord\*. Para hacerlo, tendr谩s que convertir tus anotaciones (generalmente en formato `XML`, `CSV` o `JSON`) a este formato. \- Usa la herramienta de la API de `object\_detection` para convertir tu conjunto de datos en el formato `TFRecord`. \- Ejemplo de conversi贸n: ```python from object\_detection.dataset\_tools import create\_pascal\_tf\_record create\_pascal\_tf\_record.convert\_dataset(...) ``` 3\. \*\*Descargar el modelo preentrenado\*\*: Descarga un modelo preentrenado adecuado del \[TensorFlow Model Zoo]\(https://github.com/tensorflow/models/blob/master/research/object\_detection/g3doc/tf2\_detection\_zoo.md). Ejemplo para descargar un modelo `SSD` con MobileNet: ```python MODEL\_NAME = 'ssd\_mobilenet\_v2\_fpnlite\_320x320\_coco17\_tpu-8' PATH\_TO\_CKPT = 'ssd\_mobilenet\_v2\_fpnlite\_320x320\_coco17\_tpu-8/saved\_model' ``` 4\. \*\*Configurar el archivo de pipeline\*\*: El archivo `pipeline.config` contiene todos los hiperpar谩metros de entrenamiento, como el optimizador, el modelo, las rutas a los datos y m谩s. Puedes encontrar un archivo `pipeline.config` para el modelo preentrenado descargado. Luego, deber谩s ajustarlo para que se adapte a tu propio conjunto de datos. Algunos cambios comunes que deber谩s realizar en el archivo `pipeline.config`: \- Cambiar la ruta de los datos de entrenamiento y evaluaci贸n (las rutas a tus archivos `TFRecord`). \- Establecer el n煤mero de clases en `num\_classes`. \- Configurar las rutas para los archivos de los archivos de mapa de etiquetas. \- Cambiar el optimizador (si es necesario). Ejemplo de configuraci贸n en el archivo `pipeline.config`: ```plaintext num\_classes: 3 # N煤mero de clases de tu conjunto de datos fine\_tune\_checkpoint: "PATH\_TO\_CKPT/model.ckpt" train\_input\_path: "train.tfrecord" eval\_input\_path: "eval.tfrecord" label\_map\_path: "PATH\_TO\_LABEL\_MAP.pbtxt" ``` 5\. \*\*Entrenamiento del modelo\*\*: Una vez configurado el archivo `pipeline.config`, puedes comenzar el entrenamiento. Usa el siguiente comando para entrenar el modelo: ```bash python3 models/research/object\_detection/model\_main\_tf2.py \\ \--pipeline\_config\_path=PATH\_TO\_YOUR\_PIPELINE\_CONFIG \\ \--model\_dir=PATH\_TO\_SAVE\_MODEL \\ \--alsologtostderr ``` \*\*Argumentos\*\*: \- `--pipeline\_config\_path`: Ruta al archivo `pipeline.config`. \- `--model\_dir`: Directorio donde se guardar谩n los resultados del modelo (p. ej., pesos entrenados). \- `--alsologtostderr`: Para mostrar los logs en la consola. Si prefieres usar Colab, puedes hacer todo el proceso dentro de una celda de c贸digo. 6\. \*\*Evaluaci贸n del modelo\*\*: Despu茅s de que el modelo haya entrenado por algunas iteraciones, puedes evaluar su desempe帽o en el conjunto de datos de evaluaci贸n. Para hacerlo, usa el siguiente comando: ```bash python3 models/research/object\_detection/model\_main\_tf2.py \\ \--pipeline\_config\_path=PATH\_TO\_YOUR\_PIPELINE\_CONFIG \\ \--model\_dir=PATH\_TO\_SAVE\_MODEL \\ \--checkpoint\_dir=PATH\_TO\_SAVE\_MODEL \\ \--eval\_training\_data=True \\ \--alsologtostderr ``` Esto evaluar谩 el modelo en el conjunto de datos de evaluaci贸n y mostrar谩 las m茅tricas de precisi贸n (mAP). 7\. \*\*Exportar el modelo entrenado\*\*: Una vez que el modelo haya sido entrenado y evaluado, puedes exportar el modelo entrenado para hacer predicciones en im谩genes. Usa el siguiente comando para exportar el modelo: ```bash python3 models/research/object\_detection/exporter\_main\_v2.py \\ \--pipeline\_config\_path=PATH\_TO\_YOUR\_PIPELINE\_CONFIG \\ \--trained\_checkpoint\_dir=PATH\_TO\_SAVE\_MODEL \\ \--output\_directory=PATH\_TO\_EXPORT\_MODEL ``` Esto generar谩 un modelo que se puede usar para hacer predicciones. 8\. \*\*Hacer predicciones con el modelo fine-tuneado\*\*: Despu茅s de exportar el modelo, puedes cargarlo y hacer predicciones de la siguiente manera: ```python \# Cargar el modelo exportado detect\_fn = tf.saved\_model.load('PATH\_TO\_EXPORTED\_MODEL') \# Realizar una predicci贸n image\_np = np.array(...) # Cargar una imagen input\_tensor = tf.convert\_to\_tensor(image\_np) input\_tensor = input\_tensor\[tf.newaxis,...] output\_dict = detect\_fn(input\_tensor) \# Procesar las detecciones boxes = output\_dict\['detection\_boxes'] classes = output\_dict\['detection\_classes'] scores = output\_dict\['detection\_scores'] ``` \### Resumen del flujo de Fine-Tuning: 1\. \*\*Preparar el conjunto de datos\*\*: Convertir tus anotaciones a formato `TFRecord`. 2\. \*\*Configurar el archivo `pipeline.config`\*\*: Ajustar las rutas y par谩metros del entrenamiento. 3\. \*\*Entrenar el modelo\*\*: Ejecutar el entrenamiento usando el comando adecuado. 4\. \*\*Evaluar el modelo\*\*: Verificar el desempe帽o en el conjunto de datos de validaci贸n. 5\. \*\*Exportar el modelo\*\*: Guardar el modelo entrenado para hacer predicciones. 6\. \*\*Realizar predicciones\*\*: Usar el modelo fine-tuneado para detectar objetos en im谩genes nuevas. Recuerda que el fine-tuning puede requerir un n煤mero considerable de iteraciones y ajustes, especialmente si el modelo preentrenado es muy diferente del tipo de datos en tu conjunto de entrenamiento.