Introdução à classificação de imagens no Azure
Você pode executar a classificação de imagens usando a Visão Personalizada da IA do Azure, disponível como parte das ofertas dos Serviços de IA do Azure. Normalmente, esta opção é mais fácil e rápida do que escrever o seu próprio código de preparação de modelos e permite que as pessoas com poucos ou nenhuns conhecimentos sobre machine learning criem uma solução de classificação de imagens eficaz.
Recursos do Azure para Azure AI Custom Vision
Criar uma solução de classificação de imagem com a Visão Personalizada da IA do Azure consiste em duas tarefas principais. Primeiro, tem de utilizar imagens existentes para preparar o modelo e, em seguida, tem de publicá-lo para que as aplicações cliente possam utilizá-lo para gerar predições.
Para cada uma destas tarefas, precisa de um recurso na sua subscrição do Azure. Pode utilizar os seguintes tipos de recurso:
- Visão personalizada: um recurso dedicado para o serviço de visão personalizada, que pode ser treinamento, uma previsão ou ambos os recursos.
- Serviços de IA do Azure: um recurso geral que inclui a Visão Personalizada da IA do Azure juntamente com muitos outros serviços de IA do Azure. Pode utilizar este tipo de recurso para preparação, predição ou ambas.
A separação dos recursos de preparação e predição é útil quando pretende monitorizar a utilização de recursos destinados à preparação de modelos de forma separada das aplicações cliente que utilizam o modelo para prever classes de imagens. No entanto, pode tornar o desenvolvimento de uma solução de classificação de imagens um pouco confusa.
A abordagem mais simples é usar um recurso geral de serviços de IA do Azure para treinamento e previsão. Com esta opção, só tem de se preocupar com um ponto final (o endereço HTTP no qual o seu serviço está alojado) e uma chave (o valor de um segredo utilizado por aplicações cliente para a sua autenticação).
Se optar por criar um recurso da Visão Personalizada, ser-lhe-á pedido que escolha training (preparação), prediction (predição) ou both (ambas). É importante ter em conta que se escolher "both", serão criados dois recursos: um para a preparação e outro para a predição.
Também é possível adotar uma abordagem de combinação em que você usa um recurso de Visão Personalizada dedicado para treinamento, mas implanta seu modelo em um recurso de serviços de IA do Azure para previsão. Para que esta abordagem funcione, os recursos de preparação e predição têm de ser criados na mesma região.
Preparação de modelos
Para preparar um modelo de classificação, tem de carregar imagens para o seu recurso de preparação e etiquetá-las com as etiquetas de classe adequadas. Em seguida, tem de preparar o modelo e avaliar os resultados da preparação.
Você pode executar essas tarefas no portal Visão Personalizada ou, se tiver a experiência de codificação necessária, pode usar um dos SDKs (kits de desenvolvimento de software) específicos da linguagem de programação do serviço Azure AI Custom Vision.
Um dos principais aspetos a ter em conta quando utiliza imagens para classificação é a necessidade de garantir que tem imagens suficientes dos objetos em questão e que essas imagens captam os objetos em muitos ângulos diferentes.
Avaliação do modelo
O processo de treinamento de modelo é um processo iterativo no qual o serviço Azure AI Custom Vision treina repetidamente o modelo usando alguns dos dados, mas retém alguns para avaliar o modelo. No fim do processo de preparação, o desempenho do modelo preparado é indicado pelas seguintes métricas de avaliação:
- Precisão: Que percentagem das previsões de classe feitas pelo modelo estavam corretas? Por exemplo, se o modelo previr que 10 imagens são de laranjas e 8 delas forem realmente de laranjas, então a precisão será 0,8 (80%).
- Recall: Qual a porcentagem de previsões de classe que o modelo identificou corretamente? Por exemplo, se houver 10 imagens de maçãs e o modelo localizar 7 delas, a revocação será 0,7 (70%).
- Precisão média (AP): uma métrica geral que leva em conta tanto a precisão quanto o recall.
Utilizar o modelo para predição
Após preparar o modelo e estar satisfeito com o respetivo desempenho avaliado, pode publicá-lo no seu recurso de predição. Ao publicar o modelo, pode dar-lhe um nome (o nome predefinido é "IterationX", sendo que X é o número de vezes que preparou o modelo).
Para utilizar o seu modelo, os programadores de aplicações cliente precisam das seguintes informações:
- ID do projeto: a ID exclusiva do projeto Visão Personalizada que você criou para treinar o modelo.
- Nome do modelo: o nome que você atribuiu ao modelo durante a publicação.
- Ponto de extremidade de previsão: o endereço HTTP dos pontos de extremidade do recurso de previsão no qual você publicou o modelo (não o recurso de treinamento).
- Chave de previsão: a chave de autenticação para o recurso de previsão no qual você publicou o modelo (não o recurso de treinamento).