Exercício – Treinar um modelo de machine learning para reconhecer ursos polares

Concluído

Os serviços de IA do Azure são um pacote de mais de 20 serviços e APIs com suporte do aprendizado de máquina. Os desenvolvedores podem usar as APIs para incorporar nos aplicativos recursos inteligentes, como reconhecimento facial e análise de sentimentos. A Visão Personalizada de IA do Azure é apenas um membro da família de serviços de IA do Azure. Sua finalidade é criar modelos de classificação de imagem que "aprendam" com imagens rotuladas que você fornecer. Quer saber se uma foto contém uma imagem de uma flor? Treine a Visão Personalizada usando uma coleção de imagens de flor. Em seguida, ele poderá informar se a próxima imagem inclui uma flor ou até mesmo que tipo de flor aparece em uma imagem.

Screenshot that shows an example of results when using the Azure AI Custom Vision service.

O serviço de Visão Personalizada expõe duas APIs: a API de Treinamento de Visão Personalizada e a API de Previsão de Visão Personalizada. Você pode criar, treinar e testar modelos de classificação de imagem com o portal da Visão Personalizada ou a API de Treinamento de Visão Personalizada. Após o treinamento de um modelo, você pode usar a API de Previsão de Visão Personalizada para criar aplicativos que o usam. Ambas APIs são APIs REST que podem ser chamadas em uma variedade de linguagens de programação.

Nesta unidade, você criará um modelo da Visão Personalizada e o treinará para diferenciar vários tipos de animais selvagens do Ártico.

Criar um modelo da Visão Personalizada

Você começará criando um projeto da Visão Personalizada. Em seguida, você carregará e marcará imagens de ursos polares, raposas do Ártico e morsas. Assim, a Visão Personalizada poderá aprender a diferenciá-las.

Criar um novo projeto, um recurso e um grupo de recursos

  1. No navegador, vá para o portal da Visão Personalizada. Selecione Entrar e entre com a sua conta Microsoft. Aceite todos os termos de serviço.

  2. Selecione Novo Projeto.

  3. Em Criar projeto:

    1. Insira um nome e uma descrição de projeto.
    2. Ao lado de Recurso, selecione criar para criar um novo recurso de serviços de IA do Azure.

    Screenshot that shows a new project name and description, and the create new link option selected.

    Criar um projeto dos Serviços Cognitivos

  4. Em Criar Recurso:

    1. Para o nome do recurso, insira polar-bear-vision.
    2. Selecione sua assinatura.
    3. Ao lado de Resource Group, selecione criar para criar um grupo de recursos de serviços de IA do Azure.

    Screenshot that shows values to select or enter to create a new resource, with the create new link selected.

    Crie um novo recurso de Serviços Cognitivos

  5. Em Criar um Grupo de Recursos:

    1. No nome do grupo de recursos, insira polar-bear-rg.
    2. Verifique se a Localização está definida como Centro-Sul dos EUA e selecione Criar grupo de recursos.

    Screenshot that shows the name and location for a new resource group, with the Create resource group button selected.

    Criar um grupo de recursos dos Serviços Cognitivos

    As informações do novo grupo de recursos são adicionadas em Criar Recurso.

  6. Em Criar Recurso, selecione Criar recurso.

    Screenshot that shows the complete settings for a Azure AI services resource, with the Create resource button selected.

    Criar o recurso dos Serviços Cognitivos

  7. Em Criar projeto, verifique se você tem as seguintes configurações:

    • Recurso:polar-bear-vision
    • Tipos de Projeto: Classificação
    • Tipos de classificação:multiclasse (guia única por imagem)
    • Domínios:Geral

    Observação

    Um domínio otimiza um modelo para tipos específicos de imagens. Por exemplo, se sua meta for classificar imagens de alimentos pelos tipos de alimento que elas contêm ou pela origem étnica dos pratos, será útil selecionar o domínio Alimentos. Para os cenários que não corresponderem a nenhum dos domínios oferecidos ou se você não tiver certeza de qual domínio escolher, selecione o domínio Geral.

    Screenshot that shows settings in the Create new project dialog box.

    Verificar suas configurações

    Quando todas as configurações estiverem corretas, selecione Criar Projeto. O projeto será aberto.

Obter as imagens a serem usadas no projeto

Agora você está pronto para obter as imagens que serão usadas no projeto.

  1. Baixe o arquivo .zip de imagens de treinamento de raposas do Ártico. Descompacte o arquivo.

  2. Selecione Adicionar Imagens para adicionar ao projeto as imagens das raposas do Ártico.

    Screenshot that shows adding images to the Custom Vision project.

    Adicionar imagens ao projeto de Visão Personalizada

  3. Em Abrir, selecione todas as imagens de raposas do Ártico encontradas na pasta de arquivos descompactada. Selecione Abrir para escolher as imagens.

    Screenshot that shows all images selected and ready to open.

    Abrir as imagens a serem usadas no projeto

  4. Para a configuração Minhas Marcas para as imagens, insira raposa-do-ártico. Em seguida, selecione Carregar 130 arquivos. Aguarde a conclusão do upload.

    Screenshot that shows the tag setting and the images ready to upload.

    Adicionar a marca de imagem e carregar as imagens no projeto

    Quando as imagens são carregadas com êxito, um resumo é mostrado. Selecione Concluído.

Repita estas etapas para as imagens de ursos polares:

  1. Baixe o arquivo .zip de imagens de ursos polares para fins de treinamento. Descompacte o arquivo.

  2. Selecione Adicionar imagens para carregar no projeto as imagens de ursos polares da pasta de arquivos descompactada. Para essas imagens, defina Minhas Marcas como urso-polar. Aguarde a conclusão do upload (há 140 arquivos nessa pasta). Quando o upload for concluído, selecione Concluído.

Por fim, repita essas etapas para as imagens das morsas:

  1. Baixe o arquivo .zip de imagens de morsas para fins de treinamento. Descompacte o arquivo.

  2. Selecione Adicionar imagens para carregar no projeto as imagens de morsas da pasta de arquivos descompactada. Defina Minhas Marcas como morsa. Aguarde a conclusão do upload (há 138 arquivos nessa pasta). Quando o upload for concluído, selecione Concluído.

Com as imagens marcadas e carregadas, a próxima etapa é treinar o modelo para que ele possa diferenciar raposas do Ártico, ursos polares e morsas e determinar se uma imagem contém um desses animais.

Treinar e testar o modelo

Agora é hora de treinar o modelo com as imagens que você marcou e carregou. Após treinar o modelo, você o testará para determinar se ele está apto a identificar animais selvagens do Ártico em fotos. Depois de treinado, o modelo pode ser refinado carregando mais imagens marcadas e treinando-o novamente.

  1. Para treinar o modelo, selecione Treinar. Quando for solicitado que você escolha um tipo de treinamento, selecione Treinamento Rápido.

    Screenshot that shows the Train button highlighted on the toolbar.

    Treinar o modelo

  2. Aguarde a conclusão do processo de treinamento. (O processo pode levar alguns minutos.) Em seguida, examine as estatísticas de treinamento mostradas para a iteração 1.

    Observação

    Toda vez que você treina o modelo, uma versão (iteração) é criada. A Visão Personalizada mantém todas as iterações para que você possa escolher qual versão do modelo deseja usar.

    Screenshot that shows the results of training the model in iteration 1.

    Resultados do treinamento do modelo

    Precisão e recall são duas medidas separadas, porém relacionadas, da precisão do modelo. Suponha que o modelo é apresentado com três imagens de ursos polares e três imagens de morsas. Ele identifica corretamente duas das imagens que contêm ursos polares como imagens de urso polar, mas identifica incorretamente duas das imagens de morsa como imagens de urso polar. Nesse caso, a precisão seria de 50% (duas das quatro imagens classificadas como imagens de urso polar realmente o são). O recall dele seria de 67% (ele identificou corretamente duas das três imagens de urso polar como tal). Saiba mais sobre precisão e recall em Precisão e recall.

    A AP (precisão média) é uma terceira medida da precisão do modelo. Enquanto a precisão mede a taxa de falsos positivos e o recall mede a taxa de falsos negativos, a AP é a média das taxas de falsos positivos calculadas em um intervalo de limites. Para obter mais informações, confira Noções básicas sobre a métrica de avaliação mAP para detecção de objetos.

  3. Agora, teste o modelo usando o recurso de Teste Rápido do portal. Você pode usar o Teste Rápido para enviar imagens para o modelo e ver como o modelo classifica as imagens usando o conhecimento obtido durante o treinamento.

  4. Baixe o arquivo .zip de imagens de teste. Descompacte o arquivo localmente no computador.

  5. Selecione Início Rápido.

  6. Selecione Procurar arquivos locais e, em seguida, vá para o diretório testing-images/polar-bear. Selecione qualquer uma das imagens de teste nesse diretório.

  7. Analise os resultados do teste em Teste Rápido. Qual é a probabilidade de que a imagem contenha um urso polar? Qual é a probabilidade de que a imagem contenha uma raposa do Ártico ou uma morsa?

  8. Repita esse teste com uma das imagens no diretório testing-images/arctic-fox. O modelo é bom em diferenciar raposas do Ártico de ursos polares?

  9. O diretório testing-images contém subdiretórios com um total de 30 imagens diferentes para teste. Realize mais testes rápidos usando essas imagens até ficar convencido de que o modelo está razoavelmente apto para prever se uma imagem contém um urso polar.

  10. Retorne ao projeto. Selecione a guia Desempenho, seguida de Publicar.

  11. Em Publicar Modelo, para Recurso de previsão, selecione polar-bear-vision, o nome do recurso. Certifique-se de escolher o nome do recurso e não o nome do grupo de recursos. Selecione Publicar para publicar o modelo.

    Screenshot that shows the Publish Model pane with the Publish button highlighted.

    Publicar o modelo

  12. Selecione URL de Previsão.

  13. Em Como usar a API de Previsão, copie os valores a seguir e salve-os para serem usados mais tarde:

    1. Em Se você tiver uma URL de imagem, copie a URL e salve-a no seu editor de texto favorito. Assim, você poderá recuperá-la mais tarde.
    2. Para Definir o Cabeçalho de Chave de Previsão como, copie o valor da chave e depois salve-o. Esse valor precisa ser transmitido em cada chamada à URL de previsão.

    Screenshot that shows the How to use the Prediction A P I pane.

    Copiar the URL da API de Previsão

  14. Para concluir, selecione Entendi!.

Agora você tem um modelo de machine learning que pode identificar se uma imagem contém um urso polar, bem como uma URL e uma chave de API para invocar o modelo. A próxima etapa será invocar o modelo toda vez que uma imagem for carregada no Armazenamento de Blobs. O Azure Functions é a ferramenta perfeita para esse trabalho.