Criar a solução de análise de vídeo no IoT Edge

Concluído

Neste módulo, você aprenderá a usar a funcionalidade de extensibilidade de IA da Análise Dinâmica de Vídeo do Azure no Azure IoT Edge. Você implantará um modelo na borda para detectar uma pessoa no chão de fábrica. Também conhecerá as funcionalidades da Análise Dinâmica de Vídeo. Você poderá implantar perfeitamente um modelo personalizado como um contêiner na borda e analisar um feed dinâmico de vídeo simulado. Você usará um modelo YOLO pré-treinado e o implantará como um contêiner na sua solução de análise de vídeo.

Você verá como:

  • Configurar os recursos do Azure
  • Configurar cargas de trabalho de borda para o dispositivo de borda
  • Colocar e implantar o modelo YOLO de inferência no dispositivo de borda
  • Implantar sua solução
  • Examinar e interpretar os resultados

Você usa uma VM (máquina virtual) do Azure como um dispositivo IoT Edge, e a solução de análise de vídeo é baseada no exemplo do repositório GitHub.

Amostra

Este módulo usa um arquivo de vídeo de segurança dos funcionários para simular uma transmissão ao vivo. Para reproduzir o vídeo, você pode usar um aplicativo como um player de mídia VLC. Copie o link do vídeo e cole-o. Ao assistir ao vídeo, você observará o movimento das pessoas nele.

Fluxo de trabalho da solução

Em primeiro lugar, neste módulo, você precisará configurar um dispositivo de borda com o runtime do IoT Edge instalado. Depois de configurar seu dispositivo para o Hub IoT, você enviará o manifesto de implantação para o dispositivo de borda. Depois que o manifesto de implantação for enviado para a borda, o agente do IoT Edge em execução no dispositivo de borda obterá novos contêineres do registro de contêiner e os iniciará no dispositivo de borda. Os seguintes módulos serão implantados:

  • Módulo da Web: o Módulo da Web representa o aplicativo Web principal com o qual o usuário interage. Por exemplo, quando você adicionar sua câmera, o Módulo da Web gerenciará as configurações dela para o módulo de Análise Dinâmica de Vídeo. Quando implantado, com base na configuração do usuário, o módulo da Web pode capturar imagens automaticamente e enviá-las para um novo treinamento usando a API (interface de protocolo de aplicativo) customvision.ai.

  • LVA (Análise Dinâmica de Vídeo): esse módulo analisará os quadros de todas as câmeras e os enviará para o Módulo de Inferência.

  • Orquestrador de Inferência: esse módulo envia quadros para o Módulo de Previsão e obtém os resultados. Ele também sobrepõe os resultados no feed da câmera, envia um fluxo de vídeo HTTP para o Módulo da Web e envia os resultados de ML para o Hub IoT do Azure.

  • Módulo de Previsão de ML: o módulo de Previsão de ML executa um modelo YOLO treinado usando o onnxruntime; ele recebe quadros por HTTP ou gRPC e envia os resultados em JSON.

  • Com a Análise Dinâmica de Vídeo, os usuários também podem permitir que o Módulo da Web armazene os vídeos com base nos resultados da inferência e efetue push deles para a sua conta de serviços de mídia fornecida no Azure.

Arquitetura

Esta é a arquitetura da solução de Análise de Vídeo de ponta a ponta.

The illustration shows the solution architecture.

Definir produtos do Azure

Você usará os seguintes componentes no design da solução:

  • Hub IoT do Azure: o Hub IoT do Azure fornece um back-end de solução hospedada na nuvem para conectar a maioria dos dispositivos.

  • Máquina virtual do Azure IoT Edge: o runtime instala a máquina virtual do Azure IoT Edge. Neste módulo, você abrirá a porta de rede 8181 para habilitar a comunicação entre a máquina virtual e o aplicativo Web.

  • Análise de vídeo ao vivo no IoT Edge: um módulo IoT Edge que deve ter a função de ser combinado com outros módulos de borda do Azure, como Stream Analytics no IoT Edge, serviços de IA do Azure no IoT Edge e serviços do Azure na nuvem, como Media Services e Hubs de Eventos.

  • Serviço de Visão Personalizada: a Visão Personalizada permite criar, implantar e aprimorar seus classificadores de imagens. Um classificador de imagens é um serviço de IA que aplica rótulos (que representam classes) a imagens de acordo com as características visuais delas.

  • Serviços de Mídia: os Serviços de Mídia do Azure são uma coleção de serviços de fluxo de trabalho de mídia de borda e de nuvem que permitem criar soluções que exigem análise de vídeo em tempo real e em lote, transcodificação, serviços de entrega de vários dispositivos, proteção de conteúdo e difusão de eventos ao vivo em escala.

Etapas a serem executadas

Estas são as etapas gerais do módulo para esta solução:

  1. Crie um Hub IoT
  2. Criar uma máquina virtual como um dispositivo de borda
  3. Registrar um dispositivo de borda no Hub IoT
  4. Instalar e executar o Instalador do Azure Shell
    1. Configurar recursos do Azure para a Análise Dinâmica de Vídeo no IoT Edge
    2. Definir cargas de trabalho para o dispositivo IoT Edge
  5. Carregar um vídeo de exemplo no dispositivo de borda
  6. Criar um Registro de Contêiner do Azure
  7. Obter um modelo YOLO pré-treinado
  8. Criar uma imagem de contêiner com o modelo YOLO
  9. Enviar por push a imagem de contêiner para o Registro de Contêiner do Azure
  10. Implantar o modelo YOLO no dispositivo de borda
  11. Conectar o aplicativo Web
    1. Adicionar uma câmera para alimentar o vídeo de exemplo
    2. Adicionar rótulos e um ponto de extremidade do modelo
  12. Implantar a solução
  13. Examinar os resultados

Conclusão

Depois que você concluir o módulo, sua solução de visão será implantada no dispositivo de borda. Você executará uma transmissão de vídeo ao vivo simulada. A solução será implantada no dispositivo de borda para detectar uma pessoa em tempo real usando um modelo YOLO e a Análise Dinâmica de Vídeo.

Assista ao vídeo a seguir para ver uma breve introdução e obter noções básicas sobre a solução Pesquisa Visual no Edge.