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.
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:
Carregue as imagens que você gostaria de analisar para seu contêiner de armazenamento de blob e obtenha o URL absoluto.
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>' }"
Faça as alterações seguintes ao comando, se for necessário:
- Substitua o
<subscriptionKey>
pela sua chave de recurso Visão. - Substitua o
<endpoint>
pelo seu ponto de extremidade de recurso Visão. Por exemplo:https://YourResourceName.cognitiveservices.azure.com
. - 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...
- Substitua o
<your_url_string>
conteúdo pelo URL de blob da imagem
- Substitua o
Abra uma janela da linha de comandos.
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.