Compartilhar via


Reconhecimento de Produto de Prateleira (versão prévia): analisar imagens de prateleira usando o modelo pré-treinado

Importante

Esse recurso agora está preterido. Em 31 de março de 2025, a API de visualização de Classificação de Imagem Personalizada, Detecção de Objeto Personalizado e Reconhecimento de Produto da IA do Azure Image Analysis 4.0 será descontinuada. Após essa data, as chamadas de API para esses serviços falharão.

Para manter uma operação suave de seus modelos, faça a transição para a Visão Personalizada da IA do Azure, que agora está em disponibilidade geral. A Visão Personalizada oferece funcionalidades semelhantes às dessas características que estão sendo desativadas.

A maneira mais rápida de começar a usar o Reconhecimento de Produto é usar os modelos pré-treinados internos de IA. Com a API de Reconhecimento do Produto, você pode carregar uma imagem de prateleira e obter os locais de produtos e lacunas.

Foto de uma prateleira de varejo com produtos e lacunas destacadas com retângulos.

Observação

As marcas mostradas nas imagens não são afiliadas à Microsoft e não indicam nenhuma forma de endosso dos produtos da Microsoft ou da Microsoft pelos proprietários da marca, ou um endosso dos proprietários da marca ou seus produtos pela Microsoft.

Pré-requisitos

  • Uma assinatura do Azure – crie uma gratuitamente
  • Após ter obtido a assinatura do Azure, crie um recurso da Visão no portal do Azure. Ele deve ser implantado em uma região do Azure com suporte (consulte a Disponibilidade de região). Após a implantação, selecione Ir para recurso.
    • Você precisará da chave e do ponto de extremidade do recurso que você criar para conectar seu aplicativo ao serviço de Visão de IA do Azure. Cole a chave e o ponto de extremidade no código abaixo mais adiante no guia.
  • Um recurso de Armazenamento do Azure com um contêiner de armazenamento de blobs. Crie um
  • cURL instalado. Ou você pode usar uma plataforma REST diferente, como Swagger ou a extensão REST Client para VS Code.
  • Uma imagem de prateleira. Você pode baixar nossa imagem de exemplo ou trazer suas próprias imagens. O tamanho máximo do arquivo por imagem é de 20 MB.

Analisar imagens de prateleira

Para analisar uma imagem de prateleira, execute as seguintes etapas:

  1. Carregue as imagens que você deseja analisar no contêiner de armazenamento de blobs e obtenha a URL absoluta.

  2. Copie o comando curl a seguir em um editor de texto.

    curl -X PUT -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/productrecognition/ms-pretrained-product-detection/runs/<your_run_name>?api-version=2023-04-01-preview" -d "{
        'url':'<your_url_string>'
    }"
    
  3. Faça as alterações a seguir no comando quando necessário:

    1. Substitua o valor <subscriptionKey> por sua chave de recurso de Visão.
    2. Substitua o valor <endpoint> por seu ponto de extremidade de recurso de Visão. Por exemplo: https://YourResourceName.cognitiveservices.azure.com.
    3. Substitua o <your_run_name> pelo nome de execução de teste exclusivo para a fila de tarefas. É um nome de fila de tarefas da API assíncrona para que você possa recuperar a resposta da API mais tarde. Por exemplo, .../runs/test1?api-version...
    4. Substitua o conteúdo <your_url_string> pela URL do blob da imagem
  4. Abra una janela de prompt de comando.

  5. Cole o comando curl modificado do editor de texto na janela do prompt de comando e, em seguida, execute-o.

Examinar a resposta

Uma resposta com êxito é retornada em JSON. Os resultados da API de reconhecimento do produto são retornados em um campo JSON ProductRecognitionResultApiModel:

"ProductRecognitionResultApiModel": {
  "description": "Results from the product understanding operation.",
  "required": [
    "gaps",
    "imageMetadata",
    "products"
  ],
  "type": "object",
  "properties": {
    "imageMetadata": {
      "$ref": "#/definitions/ImageMetadataApiModel"
    },
    "products": {
      "description": "Products detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    },
    "gaps": {
      "description": "Gaps detected in the image.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/DetectedObject"
      }
    }
  }
}

Consulte as seções a seguir para obter as definições de cada campo JSON.

Modelo de API de Resultado de Reconhecimento de Produto

Resultados da operação de reconhecimento do produto.

Nome Tipo Descrição Obrigatório
imageMetadata ImageMetadataApiModel As informações de metadados da imagem, como altura, largura e formato. Sim
products DetectedObject Produtos detectados na imagem. Sim
gaps DetectedObject Lacunas detectadas na imagem. Yes

Modelo de API de Metadados de Imagem

As informações de metadados da imagem, como altura, largura e formato.

Nome Tipo Descrição Obrigatório
width Número inteiro A largura da imagem em pixels. Sim
height inteiro A altura da imagem em pixels. Yes

Modelo de API de Objeto Detectado

Descreve um objeto detectado em uma imagem.

Nome Tipo Descrição Obrigatório
id string ID do objeto detectado. Não
boundingBox BoundingBox Uma caixa delimitadora para uma área dentro de uma imagem. Sim
tags TagsApiModel Confianças de classificação do objeto detectado. Yes

Modelo de API de Caixa Delimitadora

Uma caixa delimitadora para uma área dentro de uma imagem.

Nome Tipo Descrição Obrigatório
x Número inteiro Coordenada esquerda do ponto superior esquerdo da área, em pixels. Sim
y inteiro Coordenada superior do ponto superior esquerdo da área, em pixels. Sim
w inteiro Largura medida do ponto superior esquerdo da área, em pixels. Sim
h inteiro Altura medida do ponto superior esquerdo da área, em pixels. Sim

Modelo de API de Marcas de Imagem

Descreve a confiança de classificação de imagem de um rótulo.

Nome Tipo Descrição Obrigatório
confidence FLOAT Confiança da previsão de classificação. Sim
name string Rótulo da previsão de classificação. Sim

Próximas etapas

Neste guia, você aprendeu a fazer uma chamada de análise básica usando a API REST de Reconhecimento do Produto pré-treinada. Em seguida, saiba como usar um modelo de Reconhecimento de Produto personalizado para atender melhor às suas necessidades de negócios.