Partilhar via


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

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 Compreensão do Produto, 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 na região Leste dos EUA ou Oeste dos EUA 2. 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 compreensão do produto são retornados em um ProductUnderstandingResultApiModel campo 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"
        }
      ]
    }
  ]
}

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

Modelo de API de Compreensão do Produto

Resultados da operação de compreensão do produto.

Nome Tipo Descrição Obrigatório
imageMetadata ImageMetadataApiModel As informações de metadados da imagem, como altura, largura e formato. Sim
products DetectedObjectApiModel Produtos detetados na imagem. Sim
gaps DetectedObjectApiModel 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 BoundingBoxApiModel Uma caixa delimitadora para uma área dentro de uma imagem. Sim
classifications ImageClassificationApiModel 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 da API de classificação 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
label 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 Compreensão do Produto pré-treinada. Em seguida, saiba como usar um modelo personalizado de Reconhecimento de Produto para atender melhor às necessidades da sua empresa.