Share via


Módulo de IA do Azure Percept Vision

Importante

Desativação do Azure Percept DK:

Atualização de 9 de novembro de 2022: uma atualização de firmware que permite que o Vision SoM e o Audio SOM mantenham suas funcionalidades com o DK além da data de desativação será disponibilizada antes da data de desativação.

A versão prévia pública do Azure Percept estará evoluindo para dar suporte a novas plataformas de dispositivos de borda e experiências de desenvolvedor. Como parte dessa evolução, o Azure Percept DK e o Audio Accessory e os serviços de suporte associados do Azure para o Percept DK serão desativados em 30 de março de 2023.

A partir de 30 de março de 2023, o Azure Percept DK e o Audio Accessory não terão mais suporte de nenhum serviço do Azure, incluindo o Azure Percept Studio, atualizações do sistema operacional, atualizações de contêineres, exibição de fluxo da Web e integração de Visão Personalizada. A Microsoft não fornecerá mais suporte de sucesso do cliente e quaisquer serviços de suporte associados. Para obter mais informações, visite a Postagem no blog sobre o aviso de desativação.

Visão geral do azureeyemodule, que é o módulo responsável pela execução da carga de trabalho da visão de IA no Azure Percept DK. Ele faz parte do conjunto da Internet das Coisas do Azure dos módulos de borda, e é implantado no Azure Percept DK durante a experiência de instalação. Este artigo fornece uma visão geral desse módulo e de sua arquitetura.

Arquitetura

Diagrama que mostra a arquitetura do azureeyemodule.

A carga de trabalho do Percept do Azure no Azure Percept DK é um aplicativo C++ que é executado dentro do contêiner do docker azureeyemodule. Ele usa a GAPI OpenCV para processamento de imagens e execução de modelos. O Azureeyemodule é executado no sistema operacional da Mariner como parte do conjunto da Internet das Coisas do Azure de módulos executados no Azure Percept DK.

A carga de trabalho do Azure Percept deve ser feita em imagens e dar saída a imagens e mensagens. As imagens de saída podem ser marcadas com desenhos como caixas delimitadoras, máscaras de segmentação, junções, rótulos e assim por diante. As mensagens de saída são um fluxo JSON de resultados de inferência que podem ser ingeridos e usados por tarefas downstream. Os resultados são servidos como um fluxo RTSP que está disponível na porta 8554 do dispositivo. Os resultados também são enviados para outro módulo em execução no dispositivo, que serve o fluxo RTSP encapsulado em um servidor HTTP, em execução na porta 3000. De qualquer forma, eles só poderão ser exibidos na rede local.

Cuidado

Não há criptografia ou autenticação em relação aos feeds RTSP. Qualquer pessoa na rede local consegue exibir exatamente o que o Azure Percept Vision está vendo se digitar o endereço correto em um navegador da web ou em um player de mídia RTSP.

A carga de trabalho do Azure Percept habilita vários recursos que os usuários finais podem aproveitar:

  • Uma solução sem código para casos de uso comuns de visão computacional, como classificação de objetos e detecção de objetos comuns.
  • Uma solução avançada, em que um desenvolvedor pode trazer seu próprio modelo treinado (potencialmente em cascata) para o dispositivo e executá-lo, possivelmente transmitindo resultados para outro módulo de IoT de sua própria criação em execução no dispositivo.
  • Um loop de readaptação para capturar imagens do dispositivo periodicamente, treinar novamente o modelo na nuvem e, em seguida, enviar por push o modelo recém-treinado para o dispositivo. Usar capacidade do dispositivo de atualizar e trocar modelos dinamicamente.

Detalhes da carga de trabalho de IA

O aplicativo de carga de trabalho tem o código aberto no repositório GitHub de desenvolvimento avançado do Azure Percept e é composto por vários módulos C++ pequenos, sendo que alguns dos mais importantes são:

  • main.cpp: faz toda a configuração e em seguida executa o loop principal.
  • iot: esta pasta contém módulos que lidam com mensagens de entrada e saída do Hub de Azure IoT Edge, e o método de atualização de gêmeos.
  • model: esta pasta contém módulos para uma hierarquia de classe de modelos visuais computacionais.
  • kernels: esta pasta contém módulos para kernels da G-API, ops e funções de wrapper em C++.

Os desenvolvedores podem criar módulos personalizados ou personalizar o azureeyemodule atual usando esse aplicativo de carga de trabalho.

Próximas etapas

  • Agora que você sabe mais sobre o azureeyemodule e a carga de trabalho do Azure Percept, tente usar seu próprio modelo ou pipeline seguindo algum destes tutoriais
  • Ou experimente transferir aprendizado usando um dos nossos notebooks de aprendizado de máquina prontos para uso