Editar

Compartilhar via


Ingestão de vídeo e detecção de objetos na borda e na nuvem

Azure Stack Edge
AKS (Serviço de Kubernetes do Azure)
SQL do Azure no Edge
Registro de Contêiner do Azure

Esse artigo descreve como usar um robô móvel com uma câmera de transmissão ao vivo para implementar vários casos de uso. A solução implementa um sistema executado localmente no Azure Stack Edge para ingerir e processar o fluxo de vídeo e os serviços de IA do Azure que executam a detecção de objetos.

Arquitetura

Diagrama que mostra uma arquitetura para ingestão de vídeo e detecção de objetos.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

Esse fluxo de trabalho descreve como o sistema processa os dados de entrada:

  1. Uma câmera instalada no robô transmite vídeo em tempo real usando o Protocolo de Streaming em Tempo Real (RTSP).

  2. Um contêiner no cluster do Kubernetes no Azure Stack Edge lê o fluxo de entrada e divide o vídeo em imagens separadas. Uma ferramenta de software de código aberto chamada FFmpeg ingere e processa o fluxo de vídeo.

  3. As imagens são armazenadas na conta de armazenamento local do Azure Stack Edge.

  4. Sempre que um novo quadro de chaves é salvo na conta de armazenamento, um contêiner da Visão de IA o pega. Para obter informações sobre a separação da lógica em vários contêineres, consulte Detalhes do cenário.

  5. Quando ele carrega um quadro-chave do contêiner de armazenamento, o contêiner da Visão de IA o envia para os serviços de IA do Azure na nuvem. Essa arquitetura usa a Visão de IA do Azure, que permite a detecção de objetos por meio da análise de imagem.

  6. Os resultados da análise de imagem (objetos detectados e uma classificação de confiança) são enviados para o contêiner de detecção de anomalias.

  7. O contêiner de detecção de anomalias armazena os resultados da análise de imagem e detecção de anomalias na instância do banco de dados SQL do Azure Stack Edge local para referência futura. O uso de uma instância local do banco de dados melhora o tempo de acesso, o que ajuda a minimizar os atrasos no acesso aos dados.

  8. O processamento de dados é executado para detectar quaisquer anomalias no fluxo de vídeo em tempo real de entrada. Se forem detectadas anomalias, uma interface do usuário front-end mostrará um alerta.

Componentes

  • O Azure Stack Edge é usado para hospedar serviços do Azure em execução no local, perto do local onde ocorre a detecção de anomalias, o que reduz a latência.

  • O Serviço de Kubernetes do Azure no Azure Stack Edge é usado para executar um cluster Kubernetes de contêineres que contêm a lógica do sistema no Azure Stack Edge de forma simples e gerenciada.

  • O Azure Arc controla o cluster do Kubernetes executado no dispositivo de borda.

  • A Visão de IA do Azure é usada para detectar objetos em quadros-chave do fluxo de vídeo.

  • O Armazenamento de Blobs do Azure é usado para armazenar imagens de quadros-chave extraídos do fluxo de vídeo.

  • O SQL do Azure no Edge é usado para armazenar dados na borda, perto do serviço que os consome e processa.

  • O Registro de Contêiner do Azure é usado para armazenar imagens de contêiner do Docker.

  • O Azure Key Vault fornece armazenamento de segurança aprimorado para quaisquer segredos ou chaves criptográficas usadas pelo sistema.

  • O Azure Monitor fornece observabilidade para o sistema.

Detalhes do cenário

Essa arquitetura demonstra um sistema que processa um fluxo de vídeo em tempo real, compara os dados extraídos em tempo real com um conjunto de dados de referência e toma decisões com base nos resultados. Por exemplo, ele poderia ser usado para fornecer inspeções programadas de um perímetro cercado ao redor de um local seguro.

A arquitetura usa o Azure Stack Edge para garantir que os processos que consomem mais recursos sejam executados localmente, perto da origem do vídeo. Esse design melhora significativamente o tempo de resposta do sistema, o que é importante quando uma resposta imediata a uma anomalia é crítica.

Como as partes do sistema são implantadas como contêineres independentes em um cluster do Kubernetes, você pode dimensionar apenas os subsistemas necessários de acordo com a demanda. Por exemplo, se você aumentar o número de câmeras para o feed de vídeo, poderá dimensionar o contêiner responsável pela ingestão e processamento de vídeo para lidar com a demanda, mas manter o restante do cluster no nível original.

Descarregar a funcionalidade de detecção de objetos para os serviços de IA do Azure reduz significativamente a experiência necessária para implantar essa arquitetura. A menos que seus requisitos de detecção de objetos sejam altamente especializados, a abordagem pronta para uso obtida do serviço de Análise de Imagem é suficiente e não requer conhecimento de aprendizado de máquina.

Possíveis casos de uso

  • Monitoramento da segurança de um perímetro

  • Detectando um ambiente de trabalho inseguro em uma fábrica

  • Detecção de anomalias em uma linha de montagem automatizada

  • Detecção de falta de fluido de degelo em aeronaves

Considerações

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

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, confira Visão geral do pilar de confiabilidade.

Uma das maiores vantagens de usar o Azure Stack Edge é que você obtém componentes totalmente gerenciados em seu hardware local. Todos os componentes totalmente gerenciados do Azure são automaticamente resilientes em um nível regional.

Além disso, executar o sistema em um cluster do Kubernetes permite transferir a responsabilidade de manter os subsistemas íntegros para o sistema de orquestração do Kubernetes.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

As identidades gerenciadas do Microsoft Entra fornecem segurança para todos os componentes dessa arquitetura. O uso de identidades gerenciadas elimina a necessidade de armazenar segredos em arquivos de código ou configuração. Ele simplifica o controle de acesso, o gerenciamento de credenciais e a atribuição de função.

Otimização de custo

A otimização de custos consiste em reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Para ver um exemplo de preços para esse cenário, use a Calculadora de preços do Azure. Os componentes mais caros no cenário são o Azure Stack Edge e o Serviço de Kubernetes do Azure. Esses serviços fornecem capacidade de dimensionamento do sistema para atender ao aumento da demanda no futuro.

O custo de usar os serviços de IA do Azure para detecção de objetos varia com base em quanto tempo o sistema é executado. O exemplo de preço anterior é baseado em um sistema que produz uma imagem por segundo e opera por 8 horas por dia. Um FPS é suficiente para esse cenário. No entanto, se o seu sistema precisar ser executado por períodos mais longos, o custo de usar os serviços de IA do Azure será maior:

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar sua carga de trabalho para atender às demandas colocadas por usuários de maneira eficiente. Para saber mais, confira Visão geral do pilar de eficiência de desempenho.

Como o código é implantado em um cluster do Kubernetes, você pode aproveitar os benefícios desse poderoso sistema de orquestração. Como os vários subsistemas são separados em contêineres, você pode dimensionar apenas as partes mais exigentes do aplicativo. Em um nível básico, com um feed de vídeo de entrada, o sistema pode conter apenas um nó em um cluster. Esse design simplifica significativamente a configuração inicial. À medida que a demanda por processamento de dados cresce, você pode facilmente dimensionar o cluster adicionando nós.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Outros colaboradores:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Documentação do produto:

Roteiro de aprendizagem guiado: