Etiqueta imágenes con la API de AutoML Vision Edge

En esta guía de inicio rápido, se te guiará por los siguientes procesos:

  • Uso de la detección de objetos de AutoML Vision para crear un conjunto de datos, entrenar un modelo personalizado de AutoML Vision Edge y realizar una predicción
  • Exportación y uso del modelo de AutoML Vision Edge

En esta guía de inicio rápido, debes usar la interfaz de usuario (IU) para interactuar con la API de Cloud AutoML y exportar el modelo de AutoML Vision Edge.

Antes de comenzar

Si deseas usar la detección de objetos de Cloud AutoML Vision, primero debes crear un proyecto de Google Cloud (que nunca se haya usado con ningún otro producto de AutoML) y habilitar la detección de objetos de Cloud AutoML Vision para ese proyecto.

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita las API de Cloud AutoML and Storage.

    Habilita las API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita las API de Cloud AutoML and Storage.

    Habilita las API

Requisitos de la versión Beta

  1. Esta función Beta requiere que uses us-central1 como la región especificada.

Prepara un conjunto de datos

En esta guía de inicio rápido, usarás un conjunto de datos creado a partir del conjunto de datos de imágenes abiertas V4. Este conjunto de datos de ensaladas público se encuentra en gs://cloud-ml-data/img/openimage/csv/salads_ml_use.csv.

El formato CSV es el siguiente:

TRAINING,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Salad,0.0,0.0954,,,0.977,0.957,,
VALIDATION,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Seafood,0.0154,0.1538,,,1.0,0.802,,
TEST,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Tomato,0.0,0.655,,,0.231,0.839,,
Ejemplo de una imagen de conjunto de datos
3916261642_0a504acd60_o.jpg

Cada fila corresponde a un objeto ubicado dentro de una imagen mayor, con cada objeto designado de forma específica como datos de prueba, entrenamiento o validación. Las tres líneas que se incluyen aquí indican tres objetos distintos ubicados dentro de la misma imagen disponibles en gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg. Cada fila tiene una etiqueta diferente: Salad, Seafood o Tomato, además de otras filas con etiquetas Baked goods o Cheese.

Se especifican cuadros de límite para cada imagen con el vértice superior izquierdo y el vértice inferior derecho:

  • (0,0) corresponde al vértice superior izquierdo.
  • (1,1) corresponde al vértice inferior derecho.

En la primera fila, las coordenadas (x, y) del vértice superior izquierdo del objeto etiquetado Salad son (0.0,0.0954), y las coordenadas del vértice inferior derecho del objeto son (0.977,0.957).

Si deseas obtener información más detallada sobre cómo dar formato al archivo CSV y los requisitos mínimos para crear un conjunto de datos válido, consulta Prepara los datos de entrenamiento.


Crea el conjunto de datos

  1. Abre la IU de la detección de objetos de AutoML Vision y selecciona tu proyecto de la lista desplegable en la barra de título.

    La primera vez que abras la IU de la detección de objetos de AutoML Vision, deberás habilitar la API de AutoML si aún no está habilitada.

  2. Selecciona Comenzar en la ventana emergente cuando se te solicite.

    Opción de seleccionar Comenzar

  3. Se te redireccionará a la página de la lista de conjuntos de datos. Para crear un nuevo conjunto de datos, selecciona Conjunto de datos nuevo (New dataset).

    Selecciona Crear conjunto de datos nuevo

    Ingresa un nombre único para tu conjunto de datos.

    Selecciona Crear el nombre del nuevo conjunto de datos

  4. Ingresa la ubicación de los datos de entrenamiento que deseas importar en la ventana que aparece a continuación.

    En el cuadro de texto Seleccionar un archivo CSV en Cloud Storage (Select a CSV file on Cloud Storage), ingresa la ruta del archivo CSV de muestra (el prefijo gs:// se agrega de forma automática):

    cloud-ml-data/img/openimage/csv/salads_ml_use.csv

    También puedes seleccionar Explorar (Browse) y navegar al archivo CSV en uno de tus depósitos de Google Cloud Storage.

    En esta guía de inicio rápido, se usan datos de muestra almacenados en un bucket público de Google Cloud Storage. Los datos de entrenamiento son imágenes JPG de muestra anotadas con el cuadro de límite y la etiqueta de los objetos que el modelo debe aprender a identificar. Para importar los datos de entrenamiento al conjunto de datos, usa un archivo CSV que se oriente a los archivos de imagen (JPEG, PNG, GIF, BMP o ICO). Consulta Prepara los datos de entrenamiento a fin de obtener información sobre las especificaciones de formato y de imagen.

    Crea una imagen CSV de carga de conjunto de datos
  5. Selecciona Importar.

    Tu conjunto de datos mostrará un estado de Running:importing images mientras se importen tus imágenes. Este proceso solo toma unos minutos.

Una vez que los datos de entrenamiento se importaron de forma correcta, en la columna Estado (Status), aparece Success:Creating dataset, y la IU muestra el ID que se generó para el conjunto de datos (que se usa cuando se realizan llamadas a la API de AutoML) y la cantidad de elementos importados.

Imagen de la lista de conjunto de datos

Si hay algún problema con la importación de las imágenes, verás el estado Warning: Importing images. Selecciona el nombre del conjunto de datos y Detalles para ver los errores de una importación de imagen específica.

Imagen de error de importación

Entrene su modelo

  1. Una vez que se creó y procesó el conjunto de datos, selecciona la pestaña Train (Entrenar) para iniciar el entrenamiento del modelo.

    selecciona la pestaña de entrenar

  2. Selecciona Comenzar entrenamiento (Start training) para continuar.

    Opción de entrenar nuevo modelo

    Se abrirá una ventana lateral con opciones de entrenamiento.

  3. En la sección de entrenamiento Define your model (Define tu modelo), cambia el nombre del modelo y selecciona Edge como el tipo de modelo. Después de seleccionar la opción para entrenar un modelo de Edge, selecciona Continue (Continuar).

    Imagen del botón de selección para entrenar el modelo de Edge

  4. En la sección Optimize model for (Optimizar modelo para), selecciona la opción predeterminada Best trade-off (Mejor compensación). Después de seleccionar los criterios de optimización, selecciona Continue (Continuar).

    Imagen del botón de selección de mejor compensación

  5. En la sección Set a node hour budget (Configura un presupuesto por hora de procesamiento de nodo), usa el presupuesto por hora de procesamiento de nodo recomendado (24).

    Sección de configuración del presupuesto de nodo

  6. Selecciona Comenzar entrenamiento para comenzar el entrenamiento de modelos.

    Se inicia el entrenamiento del modelo, que debería tomar alrededor de una hora. Es posible que el entrenamiento se detenga antes de la hora de procesamiento de nodo que seleccionaste. El servicio te enviará un correo electrónico una vez que se complete el entrenamiento o si se produce algún error.

Una vez que finalizó el entrenamiento, puedes consultar las métricas de evaluación, probar el modelo y usarlo.

Selecciona la pestaña Evaluar para obtener más detalles sobre las puntuaciones F1, de precisión y de recuperación.

Selecciona una etiqueta individual en Filtrar etiquetas para obtener detalles sobre verdaderos positivos, falsos negativos y falsos positivos.

Realiza una predicción

Una vez que finalice el entrenamiento, el modelo se debe implementar de forma manual a fin de poder usarlo para realizar predicciones en línea.

Selecciona la pestaña Probar y usar para implementar el modelo (o anular la implementación). La página Probar y usar también contiene instrucciones para enviar una imagen al modelo a fin de hacer una predicción. También puedes consultar Anota imágenes para ver ejemplos.

Exporta y usa el modelo de Edge

El último paso para usar un modelo de AutoML Vision Edge es exportar (optimizar y descargar) y usar el modelo.

Existen varias maneras de exportar y usar los modelos para la predicción en dispositivos de Edge.

En esta guía de inicio rápido, usarás Tensorflow Lite (TF Lite) como ejemplo. Los modelos TF Lite son fáciles de usar y tienen un amplio conjunto de casos prácticos.

  1. En Usa tu modelo (Use your model), selecciona la opción TF Lite.

    Exporta el modelo de TF Lite

  2. En la ventana lateral que se abre, se muestra una ubicación de Google Cloud Storage para el modelo exportado.

    Después de asignar una ubicación de almacenamiento, selecciona Export (Exportar) para exportar un paquete de TF Lite al depósito de almacenamiento de Cloud Storage. El proceso de exportación suele llevar varios minutos.

    Imagen en la que se muestra la opción de elegir una ubicación de almacenamiento para el modelo exportado

  3. Una vez que se complete la exportación, selecciona el vínculo “Open in Google Cloud Storage” (Abrir en Google Cloud Storage) para ir a la carpeta de destino de Google Cloud Storage en Google Cloud Platform Console.

En la ubicación de destino de Google Cloud Storage, encontrarás una carpeta con un nombre que contiene el formato de marca de tiempo y de modelo, en la cual puedes encontrar los siguientes archivos:

  • un archivo de tflite (model.tflite)
  • un archivo de diccionario (dict.txt)
  • un archivo de metadatos (tflite_metadata.json)

Realiza una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

¿Qué sigue?

Con estos archivos, puedes seguir instructivos para usarlo en dispositivos Android, dispositivos iOS o Raspberry Pi 3.

Otras opciones para usar el modelo:

  • También puedes exportar el modelo como modelo guardado de Tensorflow y usarlo con un contenedor de Docker en la pestaña Contenedor. Consulta el instructivo de contenedores para obtener información sobre cómo exportar a un contenedor.
  • Puedes exportar el modelo para ejecutarlo en Edge TPU en la pestaña Dispositivos de Edge. Puedes seguir esta documentación oficial de Edge TPU para usar el modelo.