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.
Conforme mostrado no diagrama anterior, as informações fluem da seguinte forma:
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:
- Os clientes carregam ficheiros de imagem para um contentor do Cloud Storage.
- Para cada carregamento de ficheiro, o Cloud Storage envia automaticamente uma notificação de entrada publicando uma mensagem no Pub/Sub.
Processo: esta fase segue-se imediatamente à fase de carregamento e acionamento. Para cada nova notificação de entrada, ocorrem as seguintes ações:
- 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.
- A API Vision lê a imagem e cria anotações.
- O pipeline do Dataflow armazena as anotações produzidas pela API Vision em tabelas do BigQuery.
Armazenar e analisar: esta é a fase final do fluxo. Nesta fase, pode fazer o seguinte com os resultados guardados:
- Consultar tabelas do BigQuery e analisar as anotações armazenadas.
- Use o BigQuery ML ou o Vertex AI para criar modelos e executar previsões com base nas anotações armazenadas.
- 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?
- Saiba mais sobre o Dataflow.
- Saiba mais acerca do BigQuery ML.
- Saiba mais sobre a fiabilidade do BigQuery no guia Compreenda a fiabilidade do BigQuery.
- Saiba como armazenar dados na Solução de início rápido: armazém de dados com o BigQuery.
- Reveja a lista de funcionalidades da API Vision.
- Saiba como implementar uma solução de estatísticas de visão de ML com o Dataflow e a API Vision.
- Para uma vista geral dos princípios e recomendações de arquitetura específicos das cargas de trabalho de IA e ML no Google Cloud, consulte aperspetiva de IA e ML no Well-Architected Framework.
- Para ver mais arquiteturas de referência, diagramas e práticas recomendadas, explore o Centro de arquitetura na nuvem.
Colaboradores
Autores:
- Masud Hasan | Gestor de Engenharia de Fiabilidade de sites
- Sergei Lilichenko | Solutions Architect
- Lakshmanan Sethu | Gestor de contas técnicas
Outros colaboradores:
- Jiyeon Kang | Customer Engineer
- Sunil Kumar Jang Bahadur | Customer Engineer