Partilhar via


Reconhecimento de produtos de prateleira (visualização): analise imagens de prateleira usando o modelo pré-treinado

Importante

Este recurso foi preterido. Em 10 de janeiro de 2025, a Classificação de Imagem Personalizada do Azure AI 4.0, a Deteção de Objetos Personalizados e a API de visualização de Reconhecimento de Produto serão desativadas. Após essa data, as chamadas de API para esses serviços falharão.

Para manter um bom funcionamento dos seus modelos, faça a transição para a Visão Personalizada da IA do Azure, que agora está disponível ao público em geral. O Custom Vision oferece funcionalidade semelhante a esses recursos de desativação.

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

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

Nota

As marcas mostradas nas imagens não são afiliadas à Microsoft e não indicam qualquer 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
  • Depois de ter sua assinatura do Azure, crie um recurso Visão no portal do Azure. Ele deve ser implantado em uma região do Azure com suporte (consulte Disponibilidade da região). Depois de implantar, selecione Ir para recurso.
    • Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo ao serviço Azure AI Vision. Você colará sua chave e ponto de extremidade no código abaixo mais adiante no guia.
  • Um recurso de Armazenamento do Azure com um contêiner de armazenamento de blob. Criar 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. Pode descarregar a nossa imagem de amostra ou trazer as suas próprias imagens. O tamanho máximo por imagem é de 20 MB.

Analise imagens de prateleira

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

  1. Carregue as imagens que você gostaria de analisar para seu contêiner de armazenamento de blob e obtenha o URL absoluto.

  2. Copie o seguinte curl comando para 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 seguintes ao comando, se for necessário:

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

  5. Cole o comando editado curl do editor de texto na janela do prompt de comando e execute o comando.

Examinar a resposta

Uma resposta bem-sucedida é devolvida no JSON. Os resultados da API de reconhecimento do produto são retornados em um ProductRecognitionResultApiModel campo JSON:

"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 detetados na imagem. Sim
gaps DetectedObject Lacunas detetadas na imagem. Sim

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 integer A largura da imagem em pixels. Sim
height integer A altura da imagem em pixels. Sim

Modelo de API de objeto detetado

Descreve um objeto detetado em uma imagem.

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

Modelo de API de caixa delimitadora

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

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

Modelo de API de tags de imagem

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

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

Próximos passos

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