Classificação de imagens no Azure

Foundry Tools
SDK do Foundry
Armazenamento do Blobs do Azure
Azure Cosmos DB
Grade de Eventos do Azure
Azure Functions

Ideias de solução

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos de sua carga de trabalho.

Usando Azure serviços como Azure Content Understanding e Azure Functions, você pode adicionar classificação de imagem e extração de metadados a um aplicativo Web ou móvel sem gerenciar servidores ou treinar seus próprios modelos. Essa ideia de solução tem como destino a classificação e a marcação de imagem. Se você tiver outras necessidades de IA, consulte os catálogos mais amplos do Microsoft Foundry and Foundry Tools.

Arquitetura

Diagrama que mostra um pipeline de processamento de imagem inteligente que usa serviços de Azure.

Carrege um arquivo Visio desta arquitetura.

Fluxo de dados

Esse cenário aborda os componentes de back-end de um aplicativo Web ou móvel. O fluxo de dados a seguir corresponde à imagem anterior:

  1. Um usuário carrega uma imagem para Armazenamento de Blobs do Azure, diretamente ou usando um aplicativo Web ou móvel. O upload dispara um evento no Grade de Eventos do Azure.

  2. A Grade de Eventos envia uma notificação para Azure Functions para processar a imagem carregada.

  3. A função gera uma URL de assinatura de acesso compartilhado, com validade limitada e com o menor privilégio possível, restrita ao blob de destino, e a encaminha ao Content Understanding. O Content Understanding usa essa URL para acessar a imagem diretamente de Armazenamento de Blobs e, em seguida, analisa-a usando um analisador predefinido.

  4. A função armazena a saída estruturada que o Content Understanding retorna, juntamente com metadados de imagem, em Azure Cosmos DB para NoSQL.

  5. Um aplicativo Web ou móvel recebe os resultados. Esse fluxo de dados retorna a saída de classificação e os metadados, mas não o arquivo de imagem original.

Componentes

  • Content Understanding é uma ferramenta do Foundry que usa IA generativa para extrair resultados estruturados definidos pelo usuário a partir de documentos, imagens, vídeo e áudio. Nesta arquitetura, o Content Understanding analisa cada imagem carregada usando um analisador predefinido que define as categorias, atributos e rótulos que você deseja retornar, como tipo de produto, cor ou classe de defeito. A saída é um JSON que mapeia diretamente para o modelo de dados do seu aplicativo.

  • Azure Functions é uma plataforma de computação sem servidor. Nessa arquitetura, Azure Functions fornece a API de back-end e a camada de processamento de eventos para imagens carregadas. A função orquestra o fluxo de trabalho. Ele chama o Content Understanding, processa a resposta e grava o resultado no banco de dados. Esta arquitetura usa o plano de Consumo Flexível para oferecer suporte à integração de rede virtual, escolha de memória da instância e escalonamento rápido.

  • Grade de Eventos do Azure é um serviço de roteamento de eventos gerenciado que usa um modelo de publicação/assinatura. Nesta arquitetura, um tópico do sistema Grade de Eventos na conta de armazenamento emite um evento Microsoft.Storage.BlobCreated quando uma nova imagem é carregada e o entrega à função.

  • Armazenamento de Blobs do Azure é um repositório de objetos para dados não estruturados. Nessa arquitetura, ela armazena todas as imagens carregadas e todos os ativos estáticos que o aplicativo Web atende. O Armazenamento de Blobs é a fonte de verdade para imagens recebidas.

  • Azure Cosmos DB para NoSQL é um banco de dados NoSQL gerenciado. Nessa arquitetura, ela armazena os metadados de cada imagem, incluindo a saída estruturada retornada pelo Content Understanding.

Alternativas

  • O AutoML no Azure Machine Learning dá suporte a tarefas de pesquisa visual computacional. Você pode treinar modelos personalizados de classificação de imagens e detecção de objetos de seus dados rotulados usando técnicas clássicas de machine learning. Escolha AutoML quando você tiver um conjunto de dados rotulado e precisar de um modelo determinístico e implantável para domínios estreitos em que as abordagens generativas não se ajustem. Exemplos incluem detecção de defeitos de fabricação ou imagens médicas. Microsoft recomenda o AutoML para clientes que migram de Visão Personalizada de IA do Azure que desejam manter um modelo de machine learning clássico.

  • Os modelos habilitados para Visão no Foundry permitem que você chame ou ajuste modelos multimodais (GPT-4.1, GPT-4o e Phi-4 multimodal) diretamente. Escolha este caminho quando precisar de controle preciso sobre o prompt e o modelo, quiser ajustar com seus próprios dados ou precisar de perguntas e respostas visuais e bate-papo baseado em imagens em vez de extração estruturada.

  • Pesquisa de IA do Azure  indexa os metadados para que os usuários possam consultar e filtrar imagens por marca, legenda ou outros atributos. O conjunto de habilidades de enriquecimento de IA pode chamar os serviços de visão e IA generativa e gravar os resultados diretamente em um índice de pesquisa sem necessidade de uma função separada.

  • Aplicativos Lógicos do Azure é adequado quando você não precisa de reação em tempo real para uploads. Um fluxo de trabalho executado em um gatilho recorrente ou de janela deslizante pode consultar novos blobs e chamar a Compreensão de Conteúdo em lote.

  • Azure Document Intelligence extrai imagens que são inseridas em documentos usando o modelo de layout, para que você possa executar a classificação downstream em figuras inseridas. Use modelos de classificação personalizados quando os arquivos de entrada contiverem vários tipos de documento e você precisar identificar cada um deles antes do processamento adicional.

Detalhes do cenário

Esse cenário se aplica a empresas que processam imagens em escala e desejam anexar metadados estruturados, como marcas, legendas ou rótulos de categoria a cada imagem sem treinar e operar seus próprios modelos.

Aplicativos típicos incluem classificar imagens em um site de moda, analisar fotos para declarações de seguro e extrair contexto de capturas de tela do jogo. Criar essa funcionalidade internamente tradicionalmente requer experiência em pesquisa visual computacional, dados de treinamento e gerenciamento do ciclo de vida do modelo. A arquitetura neste artigo substitui esse trabalho por serviços de Azure gerenciados.

Possíveis casos de uso

Essa solução se aplica ao varejo, comércio eletrônico, jogos, finanças e seguros. Os casos de uso comuns incluem:

  • Marcando imagens em um site de varejo ou moda. Os vendedores carregam fotos do produto. O Content Understanding retorna as marcas, legendas e atributos que você define no analisador. A plataforma usa os metadados retornados para armazenar automaticamente os campos de listagem, impulsionar a pesquisa visual e reduzir o esforço de marcação manual.

  • Categorizando produtos em um catálogo de comércio eletrônico. Um analisador de compreensão de conteúdo atribui metadados de categoria e subcategoria, como calçados e tênis de corrida, bem como atributos visuais, como cor e material. Os compradores obtêm uma pesquisa e filtragem mais precisas, e os vendedores gastam menos tempo corrigindo categorias.

  • Classificando a telemetria de capturas de tela de um jogo. As plataformas de streaming classificam incorretamente um fluxo quando um criador esquece de atualizar o título depois de alternar os jogos. Uma função que classifica capturas de tela periódicas pode detectar a alteração e atualizar os metadados de fluxo. Para domínios estreitos em que a classificação gerativa tem baixo desempenho, use AutoML para Imagens para treinar um classificador determinístico.

  • Roteamento de fotos de sinistros de seguros. A Análise de Conteúdo identifica danos em veículos, danos causados por desastres naturais ou tipos de propriedades a partir de fotos de sinistros. Os metadados encaminham a declaração para a fila correta do ajustador e reduzem o tempo de triagem.

Considerations

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.

Segurança

A segurança fornece proteções contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação para revisão de design de segurança.

  • Use identidades gerenciadas para que o app de função se autentique no Armazenamento de Blobs, Azure Cosmos DB e no recurso Microsoft Foundry que hospeda o Content Understanding. Evite armazenar cadeias de conexão ou chaves de API nas configurações do aplicativo.

  • Restrinja o recurso Foundry e o Cosmos DB a pontos de extremidade privados e desative o acesso à rede pública quando a carga de trabalho for executada dentro de uma rede virtual. O plano de consumo flex dá suporte à integração de rede virtual.

  • Valide as imagens carregadas antes de invocar o serviço de visão. Imponha limites de tipo de conteúdo e tamanho no limite de carregamento, procure malware e armazene uploads em um contêiner que os usuários públicos não podem ler diretamente.

  • Essa arquitetura é adequada apenas para imagens que você decide que são apropriadas para uma solução de nuvem processar. Não há suporte para processamento de imagem local ou offline.

Otimização de custos

A Otimização de Custos concentra-se em maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte a Lista de verificação para revisão de design para Otimização de Custos.

  • Limite o analisador no Content Understanding aos campos que o aplicativo realmente consome. Cada campo extra aumenta o uso do token e o custo por chamada. Para obter as taxas atuais, consulte o preço do Foundry.

  • Para Azure Functions, use o plano de Consumo Flex para lidar com picos em cargas de trabalho controladas por eventos. O plano escala para zero e cobra por segundo em instâncias ativas.

  • Para o Cosmos DB, avalie a opção sem servidor ou a escala automática de throughput quando o tráfego for irregular. A arquitetura sem servidor é adequada para cargas de trabalho de baixo tráfego e de desenvolvimento e teste, enquanto o escalonamento automático é adequado para produção com carga variável.

Excelência operacional

A Excelência Operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.

  • Envie os diagnósticos do Functions, do Event Grid e do Foundry para um espaço de trabalho compartilhado do Log Analytics e use Application Insights para rastreamento distribuído em todo o fluxo, do upload ao resultado.

  • Configure um destino de mensagens não entregues da Grade de Eventos para que os eventos que a função não puder processar sejam enviados para um contêiner de blobs separado para reprodução.

  • Compreensão de Conteúdo da versão: entender os esquemas do analisador como código e implantá-los por meio do mesmo pipeline que implanta a função. Trate as alterações de esquema como alterações críticas para consumidores downstream.

Contributors

A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.

Autor principal:

Outros colaboradores:

Para ver perfis de LinkedIn não públicos, entre em LinkedIn.

Próximas etapas

Para obter roteiros de aprendizagem guiados, consulte: