Classificação de imagem com a Visão Personalizada e o Windows Machine Learning

Image classification flow

Este guia mostra como treinar um modelo de rede neural para classificar imagens de alimentos usando o serviço de Visão Personalizada do Azure, exportar o modelo para o formato ONNX e implantá-lo em um aplicativo do Windows Machine Learning (Windows ML) executado localmente em um dispositivo Windows. Você não precisa de nenhum conhecimento prévio em aprendizado de máquina! Vamos orientar você passo a passo ao longo do processo.

Se quiser aprender a criar e treinar um modelo com a Visão Personalizada, prossiga para Treinar um modelo.

Se tiver um modelo e quiser aprender a criar um aplicativo do Windows ML do zero, consulte o tutorial completo do Aplicativo do Windows ML.

Se você quiser começar com um projeto do Visual Studio pré-existente para um aplicativo do Windows ML, poderá clonar o aplicativo de exemplo de tutorial Visão Personalizada e Windows ML e usá-lo como ponto de partida.

Cenário

Neste tutorial, criaremos um aplicativo de classificação de alimentos com machine learning que é executado em dispositivos Windows. O modelo será treinado para reconhecer determinados tipos de padrões a fim de classificar uma imagem de alimento e, quando receber uma imagem, retornará uma marca de classificação e o valor de confiança percentual associado a essa classificação.

Pré-requisitos para treinamento de modelo

Para criar e treinar um modelo, você precisará de uma assinatura dos serviços de Visão Personalizada do Azure.

Se for novo no Azure, inscreva-se para obter uma conta gratuita do Azure. Isso dará a oportunidade de criar, treinar e implantar modelos de machine learning com a IA do Azure.

Dica

Quer saber mais sobre as opções de inscrição e sobre as contas gratuitas do Azure? Confira Criar uma conta do Azure.

Pré-requisitos para a implantação do aplicativo do Windows ML

Para criar e implantar um aplicativo do Windows ML, você precisará do seguinte:

  • Windows 10, versão 1809 (build 17763) ou posterior. Você pode verificar o número de versão do build executando winver por meio do comando Run (Tecla Windows + R).
  • SDK do Windows, build 17763 ou posterior. Para baixar, consulte SDK do Windows.
  • Visual Studio 2017 versão 15.7 ou posterior; mas recomendamos que você use o Visual Studio 2022 ou posterior. Algumas capturas de tela neste tutorial podem ser diferentes da interface do usuário que você verá. Para baixar o Visual Studio, consulte Downloads e ferramentas para desenvolvimento do Windows.
  • Extensão do Visual Studio do Gerador de Código do Windows ML (mlgen). Baixe-o para Visual Studio 2019 ou posterior ou para Visual Studio 2017.
  • Se decidir criar um aplicativo Universal Windows Platform (UWP), você precisará habilitar a carga de trabalho de desenvolvimento da Plataforma Universal do Windows no Visual Studio.
  • Habilite o modo de desenvolvimento no seu PC, confira Habilitar seu dispositivo para desenvolvimento.

Observação

As APIs do Windows ML são integradas às últimas versões do Windows 10 (1809 ou superior) e do Windows Server 2019. Se sua plataforma de destino for de versões mais antigas do Windows, você poderá portar seu aplicativo do Windows ML para o pacote NuGet redistribuível (Windows 8.1 ou superior).

Preparar os dados

Os modelos de machine learning precisam ser treinados com os dados existentes. Neste guia, você usará um conjunto de dados de imagens de alimentos da Kaggle Open Datasets. Ele é distribuído sob a licença de domínio público.

Importante

Para usá-lo, você precisa aderir ao termo de uso do site da Kaggle e aos termos de licença que acompanham o conjunto de dados Food-11. A Microsoft não faz nenhuma garantia nem declaração referente ao site nem ao conjunto de dados.

O conjunto de dados tem três divisões – avaliação, treinamento e validação – e contém 16.643 imagens de alimentos agrupadas em 11 categorias principais de alimentos. As imagens de cada categoria de alimentos no conjunto de dados são colocadas em uma pasta separada, o que torna o processo de treinamento do modelo mais conveniente.

Baixe o conjunto de dados do conjunto de dados de imagens Food-11. O conjunto de dados tem cerca de 1 GB e poderá ser solicitado que você crie uma conta no site da Kaggle para baixar os dados.

Food image datasaet

Se preferir, você pode usar qualquer outro conjunto de dados de imagens relevantes. É recomendável usar pelo menos 30 imagens por tag no conjunto de treinamento inicial. Também é conveniente coletar algumas imagens adicionais para testar o seu modelo após o treinamento.

Além disso, certifique-se de que todas as suas imagens do treinamento atendam aos seguintes critérios:

  • Formato .jpg, .png, .bmp, ou .gif.
  • Tamanho máximo de 6 MB (4 MB para imagens de previsão).
  • No mínimo 256 pixels na borda mais curta; qualquer imagem menor que isso será escalada verticalmente de maneira automática pelo Serviço de Visão Personalizada.

Próximas etapas

Agora que você entendeu os pré-requisitos e preparou seu conjunto de dados, você pode seguir para a criação do modelo do Windows ML. Na próxima parte (Treinar seu modelo com Visão Personalizada), você usará a interface de Visão Personalizada baseada na Web para criar e treinar seu modelo de classificação.