Introducción a la clasificación de imágenes en Azure

Completado

Puede realizar la clasificación de imágenes mediante Custom Vision de Azure AI, disponible como parte de las ofertas de Servicios de Azure AI. Por lo general, esto es más fácil y rápido que escribir código propio para el entrenamiento del modelo y permite que usuarios con poca o ninguna experiencia en el aprendizaje automático puedan crear una solución de clasificación de imágenes eficaz.

Recursos de Azure para Custom Vision de Azure AI

La creación de una solución de clasificación de imágenes con Custom Vision de Azure AI consta de dos tareas principales. En primer lugar tendrá que usar imágenes existentes para entrenar el modelo y, después, debe publicarlo para que las aplicaciones cliente lo puedan usar con el fin de generar predicciones.

Para cada una de estas tareas se necesita un recurso de la suscripción de Azure. Puede usar los siguientes tipos de recursos:

  • Custom Vision: un recurso dedicado para el servicio de visión personalizada, que puede ser de entrenamiento, de predicción o ambos.
  • Servicios de Azure AI: un recurso general que incluye Custom Vision de Azure AI junto con muchos otros servicios de Azure AI. Puede usar este tipo de recurso para entrenamiento, predicción o ambos.

La separación de los recursos de entrenamiento y predicción es útil cuando quiere realizar un seguimiento de la utilización de los recursos para el entrenamiento del modelo por separado de las aplicaciones cliente que utilizan el modelo a fin de predecir las clases de imágenes. Sin embargo, puede hacer que el desarrollo de una solución de clasificación de imágenes sea un poco confuso.

El enfoque más sencillo consiste en usar un recurso general de servicios de Azure AI, tanto para el entrenamiento como para la predicción. Esto significa que solo debe preocuparse por un punto de conexión (la dirección HTTP en la que se aloja su servicio) y una clave (un valor secreto que usan las aplicaciones cliente para autenticarse).

Si elige crear un recurso de Custom Vision, se le pedirá que elija entrenamiento, predicción o ambos. Es importante tener en cuenta que si elige "ambos", se crean dos recursos: uno para entrenamiento y otro para predicción.

También es posible adoptar un enfoque de descuentos combinados en el que utilice un recurso dedicado de Custom Vision para el entrenamiento, pero implemente su modelo en un recurso del servicios de Azure AI para la predicción. Para que esto funcione, los recursos de entrenamiento y predicción se deben crear en la misma región.

Entrenamiento de modelos

Para entrenar un modelo de clasificación, debe cargar imágenes en el recurso de entrenamiento y etiquetarlas con las etiquetas de clase apropiadas. Luego, debe entrenar el modelo y evaluar los resultados del entrenamiento.

Puede realizar estas tareas en el portal de Custom Vision, o bien, si tiene la experiencia de codificación necesaria, puede usar uno de los kits de desarrollo de software (SDK) específicos del lenguaje para la programación del servicio Custom Vision de Azure AI.

Una de las consideraciones clave al usar imágenes para la clasificación es asegurarse de tener suficientes imágenes de los objetos en cuestión, que sean imágenes del objeto desde muchos ángulos diferentes.

Evaluación del modelo

El entrenamiento de modelos es un proceso iterativo en el que el servicio Custom Vision de Azure AI entrena repetidamente el modelo con algunos de los datos, pero conserva algunos otros para evaluar el modelo. Al final del proceso de entrenamiento, el rendimiento del modelo entrenado se indica mediante las métricas de evaluación siguientes:

  • Precisión: el porcentaje de las predicciones de clase correctas que ha realizado el modelo. Por ejemplo, si el modelo ha pronosticado que había 10 imágenes de naranjas, de las que 8 eran realmente naranjas, la precisión es de 0,8 (80 %).
  • Coincidencia: porcentaje de predicciones de clase identificadas de forma correcta por el modelo. Por ejemplo, si hay 10 imágenes de manzanas y el modelo ha encontrado 7, la coincidencia es de 0,7 (70 %).
  • Promedio de precisión (PP): métrica general que tiene en cuenta la precisión y la coincidencia.

Uso del modelo en predicciones

Una vez que haya entrenado el modelo y esté satisfecho con su rendimiento evaluado, puede publicar el modelo en su recurso de predicción. Cuando publique el modelo, puede asignarle un nombre (el valor predeterminado es "IteraciónX", donde X es el número de veces que ha entrenado el modelo).

Para usar el modelo, los desarrolladores de aplicaciones cliente necesitan la siguiente información:

  • Id. de proyecto: el identificador único del proyecto de Custom Vision que ha creado para entrenar el modelo.
  • Nombre del modelo: el nombre que le ha asignado al modelo durante la publicación.
  • Punto de conexión de la predicción: la dirección HTTP de los puntos de conexión para el recurso de predicción en el que ha publicado el modelo (no el recurso de entrenamiento).
  • Clave de predicción: la clave de autenticación para el recurso de predicción en el que ha publicado el modelo (no el recurso de entrenamiento).