Crie uma solução de estatísticas de visão de AA com o Dataflow e a Cloud Vision API

Last reviewed 2024-05-23 UTC

Nesta arquitetura de referência, vai saber mais sobre os exemplos de utilização, as alternativas de design e as considerações de design quando implementar um pipeline do Dataflow para processar ficheiros de imagem com o Cloud Vision e armazenar os resultados processados no BigQuery. Pode usar esses resultados armazenados para a análise de dados em grande escala e para formar modelos pré-criados do BigQuery ML.

Este documento de arquitetura de referência destina-se a engenheiros de dados e cientistas de dados.

Arquitetura

O diagrama seguinte ilustra o fluxo do sistema para esta arquitetura de referência.

Uma arquitetura que mostra o fluxo de informações para os processos de carregamento e acionamento, processamento, armazenamento e análise.

Conforme mostrado no diagrama anterior, as informações fluem da seguinte forma:

  1. Carregar e acionar: esta é a primeira fase do fluxo do sistema em que as imagens entram pela primeira vez no sistema. Durante esta fase, ocorrem as seguintes ações:

    1. Os clientes carregam ficheiros de imagem para um contentor do Cloud Storage.
    2. Para cada carregamento de ficheiro, o Cloud Storage envia automaticamente uma notificação de entrada publicando uma mensagem no Pub/Sub.
  2. Processo: esta fase segue-se imediatamente à fase de carregamento e acionamento. Para cada nova notificação de entrada, ocorrem as seguintes ações:

    1. O pipeline do Dataflow fica atento a estas notificações de entrada de ficheiros, extrai os metadados dos ficheiros da mensagem do Pub/Sub e envia a referência do ficheiro para a API Vision para processamento.
    2. A API Vision lê a imagem e cria anotações.
    3. O pipeline do Dataflow armazena as anotações produzidas pela API Vision em tabelas do BigQuery.
  3. Armazenar e analisar: esta é a fase final do fluxo. Nesta fase, pode fazer o seguinte com os resultados guardados:

    1. Consultar tabelas do BigQuery e analisar as anotações armazenadas.
    2. Use o BigQuery ML ou o Vertex AI para criar modelos e executar previsões com base nas anotações armazenadas.
    3. Realizar análises adicionais no pipeline do Dataflow (não mostrado neste diagrama).

Produtos usados

Esta arquitetura de referência usa os seguintes produtos Google Cloud :

Exemplos de utilização

A API Vision suporta várias funcionalidades de processamento, incluindo a etiquetagem de imagens, a deteção de rostos e pontos de referência, o reconhecimento ótico de carateres, a etiquetagem de conteúdos explícitos e outras. Cada uma destas funcionalidades permite vários exemplos de utilização aplicáveis a diferentes setores. Este documento contém alguns exemplos simples do que é possível quando usa a API Vision, mas o espetro de aplicações possíveis é muito vasto.

A API Vision também oferece modelos de aprendizagem automática pré-preparados eficazes através de APIs REST e RPC. Pode atribuir etiquetas a imagens e classificá-las em milhões de categorias predefinidas. Ajuda a detetar objetos, ler texto impresso e escrito à mão, e criar metadados valiosos no seu catálogo de imagens.

Esta arquitetura não requer preparação de modelos antes de a poder usar. Se precisar de um modelo personalizado preparado com base nos seus dados específicos, o Vertex AI permite-lhe preparar um modelo AutoML ou um modelo personalizado para objetivos de visão computacional, como a classificação de imagens e a deteção de objetos. Em alternativa, pode usar a Vertex AI Vision para um ambiente de desenvolvimento de aplicações completo que lhe permite criar, implementar e gerir aplicações de visão por computador.

Alternativas de design

Em vez de armazenar imagens num contentor do Google Cloud Storage, o processo que produz as imagens pode publicá-las diretamente num sistema de mensagens, por exemplo, o Pub/Sub, e o pipeline do Dataflow pode enviar as imagens diretamente para a API Vision.

Esta alternativa de design pode ser uma boa solução para exemplos de utilização sensíveis à latência em que precisa de analisar imagens de tamanhos relativamente pequenos. O Pub/Sub limita o tamanho máximo da mensagem a 10 MB.

Se precisar de processar em lote um grande número de imagens, pode usar uma API especificamente concebida asyncBatchAnnotate.

Considerações de design

Esta secção descreve as considerações de design para esta arquitetura de referência:

Segurança, privacidade e conformidade

As imagens recebidas de origens não fidedignas podem conter software malicioso. Uma vez que a API Vision não executa nada com base nas imagens que analisa, o software malicioso baseado em imagens não afeta a API. Se precisar de analisar imagens, altere o pipeline do Dataflow para adicionar um passo de análise. Para alcançar o mesmo resultado, também pode usar uma subscrição separada do tópico do Pub/Sub e analisar imagens num processo separado.

Para mais informações, consulte o artigo Automatize a análise de software malicioso para ficheiros carregados para o Cloud Storage.

A API Vision usa a Identity and Access Management (IAM) para autenticação. Para aceder à API Vision, o principal de segurança precisa de acesso Cloud Storage > Visualizador de objetos de armazenamento (roles/storage.objectViewer) ao contentor que contém os ficheiros que quer analisar.

Para ver princípios e recomendações de segurança específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: segurança no Well-Architected Framework.

Otimização de custos

Em comparação com as outras opções abordadas, como o processamento de baixa latência e o processamento em lote assíncrono, esta arquitetura de referência usa uma forma económica de processar as imagens em pipelines de streaming agrupando os pedidos da API. O streaming direto de imagens com latência inferior mencionado na secção Alternativas de design pode ser mais caro devido aos custos adicionais do Pub/Sub e do Dataflow. Para o processamento de imagens que não precisa de ocorrer em segundos ou minutos, pode executar o pipeline do Dataflow no modo de lote. A execução do pipeline no modo de lote pode gerar algumas poupanças em comparação com o custo de execução do pipeline de streaming.

A API Vision suporta a anotação de imagens em lote assíncrono offline para todas as funcionalidades. O pedido assíncrono suporta até 2000 imagens por lote. Em resposta, a API Vision devolve ficheiros JSON que são armazenados num contentor do Cloud Storage.

A API Vision também oferece um conjunto de funcionalidades para analisar imagens. O preço é por imagem por funcionalidade. Para reduzir os custos, peça apenas as funcionalidades específicas de que precisa para a sua solução.

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Para ver princípios e recomendações de otimização de custos específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: otimização de custos no Well-Architected Framework.

Otimização do desempenho

A API Vision é uma API que requer muitos recursos. Por esse motivo, o processamento de imagens em grande escala requer uma coordenação cuidadosa das chamadas da API. O pipeline do Dataflow encarrega-se do processamento em lote dos pedidos da API, da gestão adequada das exceções relacionadas com o alcance das quotas e da produção de métricas personalizadas da utilização da API. Estas métricas podem ajudar a decidir se um aumento da quota da API é justificado ou se os parâmetros do pipeline do Dataflow devem ser ajustados para reduzir a frequência dos pedidos. Para mais informações sobre como aumentar os pedidos de quotas para a API Vision, consulte Quotas e limites.

O pipeline do Dataflow tem vários parâmetros que podem afetar as latências de processamento. Para mais informações acerca destes parâmetros, consulte o artigo Implemente uma solução de estatísticas de visão de ML com o Dataflow e a API Vision.

Para ver princípios e recomendações de otimização do desempenho específicos das cargas de trabalho de IA e ML, consulte o artigo Perspetiva de IA e ML: otimização do desempenho no Well-Architected Framework.

Implementação

Para implementar esta arquitetura, consulte o artigo Implemente uma solução de estatísticas de visão de ML com o Dataflow e a API Vision.

O que se segue?

Colaboradores

Autores:

Outros colaboradores: