Entrenar un detector de objetos

Completado

La detección de objetos es una forma de visión informática en la que se entrena un modelo para que detecte la presencia y ubicación de una o varias clases de objeto en una imagen.

Fotografía con la ubicación y el tipo de frutas detectadas.

Una predicción de detección de objetos tiene dos componentes:

  • La etiqueta de clase de cada objeto detectado en la imagen. Por ejemplo, puede determinar que una imagen contiene una manzana, una naranja y un plátano.
  • La ubicación de cada objeto dentro de la imagen, que se indica como las coordenadas de un rectángulo delimitador que encierra el objeto.

Para entrenar un modelo de detección de objetos, puede usar el portal de Azure AI Custom Vision para cargar y etiquetar imágenes antes de entrenar, evaluar, probar y publicar el modelo; o bien, puede usar la API REST o un SDK específico del lenguaje para escribir código que realice las tareas de entrenamiento.

Etiquetado de imágenes

Puede usar Custom Vision de Azure AI para crear proyectos para la clasificación de imágenes o la detección de objetos. La diferencia más importante entre entrenar un modelo de clasificación de imágenes y entrenar un modelo de detección de objetos es el etiquetado de las imágenes con etiquetas. Aunque la clasificación de imágenes requiere una o varias etiquetas que se aplican a toda la imagen, la detección de objetos requiere que cada etiquetado esté formado por una etiqueta y una región que defina el rectángulo delimitador para cada objeto de una imagen.

Etiquetado de imágenes en el portal de Azure AI Custom Vision

El portal de Azure AI Custom Vision proporciona una interfaz gráfica que puede usar para etiquetar las imágenes de entrenamiento.

Captura de pantalla de las imágenes etiquetadas en el portal de Custom Vision de Azure AI.

La opción más sencilla para etiquetar imágenes para la detección de objetos es usar la interfaz interactiva en el portal de Azure AI Custom Vision. Esta interfaz sugiere automáticamente regiones que contienen objetos, a los que puede asignar etiquetas o ajustar arrastrando el cuadro de límite para incluir el objeto que desea etiquetar.

Además, después de etiquetar un lote inicial de imágenes, puede entrenar el modelo. El etiquetado posterior de imágenes nuevas puede beneficiarse de la herramienta de etiquetador inteligente en el portal, que puede sugerir no solo las regiones, sino las clases de objeto que contienen.

Enfoques de etiquetado alternativos

Como alternativa, puede usar una herramienta de etiquetado personalizada o de terceros, o elegir etiquetar imágenes manualmente, para aprovechar otras características, como asignar tareas de etiquetado de imágenes a varios miembros del equipo.

Si decide usar una herramienta de etiquetado que no sea el portal de Azure AI Custom Vision, es posible que tenga que ajustar la salida para que coincida con las unidades de medida esperadas por Custom Vision API de Azure AI. Los rectángulos delimitadores se definen mediante cuatro valores que representan las coordenadas izquierda (X) y superior (Y) de la esquina superior izquierda del rectángulo delimitador, además del ancho y el alto del mismo rectángulo. Estos valores se expresan como valores proporcionales en relación con el tamaño de la imagen de origen. Por ejemplo, considere este rectángulo delimitador:

  • Izquierda: 0.1
  • Superior: 0,5
  • Ancho: 0,5
  • Altura: 0,25

Esto define un cuadro en el que la izquierda se encuentra a 0,1 (una décima) del borde izquierdo de la imagen y la parte superior está a 0,5 (la mitad del alto de la imagen) de la parte superior. La caja tiene la mitad del ancho y un cuarto de la altura de la imagen general.

En la imagen siguiente se muestra la información de etiquetado en formato JSON para los objetos de una imagen.

Fotografía con etiquetas JSON para los objetos que contiene.