Reconocimiento de productos de estante (versión preliminar): Análisis de imágenes de estante mediante el modelo entrenado previamente

La forma más rápida de empezar a usar el reconocimiento de productos consiste en utilizar los modelos de IA previamente entrenados integrados. Con Product Understanding API, puede cargar la imagen de un estante y obtener las ubicaciones de productos y huecos.

Photo of a retail shelf with products and gaps highlighted with rectangles.

Nota:

Las marcas que se muestran en las imágenes no están afiliadas a Microsoft y no indican ninguna forma de aprobación de Microsoft ni de productos de Microsoft por parte de los propietarios de la marca, o bien una aprobación de los propietarios de la marca o sus productos por parte de Microsoft.

Requisitos previos

  • Una suscripción a Azure: cree una cuenta gratuita.
  • Una vez que tenga la suscripción de Azure, cree un recurso de Vision en Azure Portal. Se debe implementar en la región Este de EE. UU u Oeste de EE. UU. 2. Tras su implementación, seleccione Ir al recurso.
    • Necesita la clave y el punto de conexión del recurso que cree para conectar la aplicación al servicio Visión de Azure AI. Más adelante en la guía pegará la clave y el punto de conexión en el código siguiente.
  • Un recurso de Azure Storage con un contenedor de Blob Storage. Cree uno
  • cURL instalado. o bien, puede usar otra plataforma REST, como Swagger o la extensión de cliente REST para VS Code.
  • Imagen de un estante. Puede descargar nuestra imagen de ejemplo o incorporar imágenes propias. El tamaño máximo de archivo por imagen es de 20 MB.

Análisis de imágenes de estantes

Para analizar una imagen de un estante, siga estos pasos:

  1. Cargue las imágenes que quiera analizar en el contenedor de Blob Storage y obtenga la dirección URL absoluta.

  2. Copie el comando curl siguiente en un editor de texto.

    curl -X PUT -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "https://<endpoint>/computervision/productrecognition/ms-pretrained-product-detection/runs/<your_run_name>?api-version=2023-04-01-preview" -d "{
        'url':'<your_url_string>'
    }"
    
  3. Realice los siguientes cambios en el comando donde sea necesario:

    1. Reemplace el <subscriptionKey> con su clave de recursos de Vision.
    2. Reemplace el <endpoint> por el punto de conexión del recurso de Vision. Por ejemplo: https://YourResourceName.cognitiveservices.azure.com.
    3. Reemplace el <your_run_name> nombre de ejecución de prueba único de la cola de tareas. Es un nombre de cola de tareas de API asincrónica para que pueda recuperar la respuesta de la API más adelante. Por ejemplo: .../runs/test1?api-version...
    4. Reemplace el contenido de <your_url_string> por la URL del blob de la imagen
  4. Abra una ventana de símbolo del sistema.

  5. Pegue el comando curl editado del editor de texto en la ventana del símbolo del sistema y después ejecute el comando.

Examen de la respuesta

Se devuelve una respuesta correcta en JSON. Los resultados de la API de descripción de productos se devuelven en un campo ProductUnderstandingResultApiModel de JSON:

{
  "imageMetadata": {
    "width": 2000,
    "height": 1500
  },
  "products": [
    {
      "id": "string",
      "boundingBox": {
        "x": 1234,
        "y": 1234,
        "w": 12,
        "h": 12
      },
      "classifications": [
        {
          "confidence": 0.9,
          "label": "string"
        }
      ]
    }
  ],
  "gaps": [
    {
      "id": "string",
      "boundingBox": {
        "x": 1234,
        "y": 1234,
        "w": 123,
        "h": 123
      },
      "classifications": [
        {
          "confidence": 0.8,
          "label": "string"
        }
      ]
    }
  ]
}

Vea las secciones siguientes para obtener las definiciones de cada campo JSON.

Modelo de Product Understanding Result API

Resultados de la operación de descripción del producto.

Nombre Escribir Descripción Obligatorio
imageMetadata ImageMetadataApiModel La información de metadatos de la imagen, como el alto, el ancho y el formato.
products DetectedObjectApiModel Productos detectados en la imagen.
gaps DetectedObjectApiModel Huecos detectados en la imagen.

Modelo de Image Metadata API

La información de metadatos de la imagen, como el alto, el ancho y el formato.

Nombre Escribir Descripción Requerido
width integer Ancho de la imagen en píxeles.
height integer Alto de la imagen en píxeles.

Modelo de Detected Object API

Describe un objeto detectado en una imagen.

Nombre Escribir Descripción Obligatorio
id string Identificador del objeto detectado. No
boundingBox BoundingBoxApiModel Un rectángulo delimitador para un área dentro de una imagen.
classifications ImageClassificationApiModel Confianzas de clasificación del objeto detectado.

Modelo de Bounding Box API

Un rectángulo delimitador para un área dentro de una imagen.

Nombre Escribir Descripción Requerido
x integer Coordenada izquierda del punto superior izquierdo del área, en píxeles.
y integer Coordenada superior del punto superior izquierdo del área, en píxeles.
w integer Ancho medido desde el punto superior izquierdo del área, en píxeles.
h integer Alto medido desde el punto superior izquierdo del área, en píxeles.

Modelo de Image Classification API

Describe la confianza de clasificación de imágenes de una etiqueta.

Nombre Escribir Descripción Obligatorio
confidence FLOAT Confianza de la predicción de clasificación.
label string Etiqueta de la predicción de clasificación.

Pasos siguientes

En esta guía, ha aprendido a realizar una llamada de análisis básica mediante la API REST de Product Understanding previamente entrenada. A continuación, aprenderá a usar un modelo de reconocimiento de productos personalizado para satisfacer mejor las necesidades empresariales.