Exercício - Integrar a Visão Personalizada do Azure

Concluído

Neste módulo, você aprenderá a usar a Visão Personalizada do Azure. Você tirará um conjunto de fotos de um Objeto Rastreado, enviá-las-á para o serviço Visão Personalizada e iniciará o processo de treinamento. Em seguida, você usará o serviço para detetar o objeto rastreado capturando fotos do feed da webcam.

Compreender a Visão Personalizada de IA do Azure

A Visão Personalizada de IA do Azure faz parte da família de Serviços Cognitivos e é usada para treinar classificadores de imagem. O classificador de imagem é um serviço de IA que usa o modelo treinado para aplicar tags correspondentes. Nosso aplicativo usará esse recurso de classificação para detetar objetos rastreados.

Saiba mais sobre a Visão Personalizada.

Preparar Visão Personalizada

Antes de começar, você precisa criar um projeto de Visão Personalizada. A maneira mais rápida de criar seu projeto de Visão Personalizada é usando o portal de Visão Personalizada.

Siga este tutorial de início rápido para configurar sua conta e projeto. Siga as etapas até a seção Carregar e marcar imagens . Você deve criar uma tag com cinco imagens.

Aviso

Para treinar um modelo, você precisa ter pelo menos duas tags e cinco imagens por tag. Mais tarde, adicionaremos mais imagens através da aplicação. No entanto, para usar este aplicativo, você deve pelo menos criar uma tag com cinco imagens para que o processo de treinamento não falhe mais tarde.

Preparar a cena

  1. Na janela Projeto, navegue até o MRTK de ativos>. Pasta Tutorials.AzureCloudServices>Prefabs>Manager.

    Screenshot of Unity with Project window showing path to ObjectDetectionManager prefab.

  2. A partir daí, arraste o pré-fabricado ObjectDetectionManager para a cena Hierarchy.

    Screenshot of Unity with ObjectDetectionManager script component configuration fields shown in Inspector.

  3. Na janela Hierarchy, localize e selecione o objeto ObjectDetectionManager . O pré-fabricado ObjectDetectionManager contém o componente ObjectDetectionManager (script) e, como você pode ver na janela Inspetor, depende das configurações do Azure e das configurações do Project.

Recuperar credenciais de recurso da API do Azure

Você pode recuperar as credenciais necessárias para as configurações do ObjectDetectionManager (script) no portal do Azure e no portal da Visão Personalizada.

Recuperar credenciais de configurações do Azure

Localize e localize o recurso Visão Personalizada do tipo Serviços Cognitivos que você criou na seção Preparando a cena deste tutorial. Lá, selecione Visão geral ou Chaves e ponto de extremidade para recuperar as credenciais necessárias.

  • ID da Assinatura de Recursos do Azure: use a ID da Assinatura na seção Visão Geral .
  • Nome do Grupo de Recursos do Azure: use o nome do grupo de recursos na seção Visão geral .

Para Nome do Grupo de Serviço Cognitivo, use o nome do recurso Visão Personalizada seguido por -Prediction.

  • Ponto de extremidade de previsão da base de recursos: use o ponto de extremidade das chaves e do ponto de extremidade no recurso Visão personalizada -Prediction.
  • Chave de Previsão de Api: Use a Chave 1 das Chaves e do Ponto Final no recurso Visão Personalizada -Previsão .

Recuperar credenciais de configurações do projeto

No painel Visão Personalizada, abra o projeto criado para este tutorial e selecione o ícone Configurações (engrenagem) no canto superior direito da página para abrir a página Configurações. Você encontrará as credenciais necessárias na seção Recursos no lado direito e na seção Geral no lado esquerdo.

  • Ponto de extremidade da base de recursos : use o ponto de extremidade da seção Recursos . Isso deve corresponder ao ponto de extremidade em Chaves e Ponto Final no recurso Visão Personalizada.
  • Chave de api: use a chave da seção Recursos . Isso deve corresponder à chave em Chaves e Ponto Final no recurso Visão Personalizada.
  • ID do projeto: Use a ID do projeto da seção Geral .
  1. Agora, com o ObjectDetectionManager (script) configurado corretamente, localize o objeto SceneController em sua hierarquia de cena e selecione-o.

    Screenshot of Unity with SceneController script component configuration fields shown in Inspector.

  2. O campo Object Detection Manager no componente SceneController está vazio. Arraste o ObjectDetectionManager da hierarquia para o componente SceneController e salve a cena.

    Screenshot of Unity with SceneController script component configured.

Tirar e carregar imagens

  1. Execute a cena e selecione Definir objeto. Digite o nome de um dos Objetos Rastreados que você criou na lição anterior. Selecione o botão Visão por Computador na parte inferior do Cartão de objeto.

  2. Será aberta uma nova janela. Você tirará seis fotos para treinar o modelo para reconhecimento de imagem. Selecione o botão Câmera e execute um AirTap para ver o objeto que você deseja rastrear. Faça isso seis vezes.

    Gorjeta

    Para melhorar o treinamento do modelo, tente tirar cada imagem de diferentes ângulos e condições de iluminação.

  3. Quando tiver imagens suficientes, selecione o botão Treinar para iniciar o processo de treinamento de modelos na nuvem. Isso carrega todas as imagens e inicia o treinamento. O processo pode levar alguns minutos. Uma mensagem dentro do menu indica o progresso atual. Assim que indicar que o processo está concluído, pode parar o pedido.

    Gorjeta

    O ObjectDetectionManager (script) carrega diretamente as imagens tiradas no serviço Visão Personalizada. Como alternativa, a API de Visão Personalizada aceita URLs para as imagens. Como exercício, você pode modificar o ObjectDetectionManager (script) para carregar as imagens em um armazenamento de Blob.

Aviso

Se o treinamento falhar, verifique seu painel Visão Personalizada e verifique se você tem pelo menos duas tags e se cada tag tem pelo menos cinco imagens.

Detetar objetos

Agora você pode testar o modelo treinado. Execute a aplicação. No menu Principal, selecione Pesquisar Objeto e digite o nome do Objeto Rastreado em questão. O cartão de objeto aparecerá. Em seguida, selecione o botão Visão personalizada . O *ObjectDetectionManager começará a tirar capturas de imagem em segundo plano da câmera. O menu indicará o progresso da aplicação. Aponte a câmera para o objeto que você usou para treinar o modelo. Logo, ele deve detetar o objeto.