Treinar um detetor de objetos

Concluído

A deteção de objetos é uma forma de visão computacional na qual um modelo é treinado para detetar a presença e a localização de uma ou mais classes de objeto em uma imagem.

Fotografia com a localização e tipo de frutos detetados.

Há dois componentes para uma previsão de deteção de objeto:

  • O rótulo de classe de cada objeto detetado na imagem. Por exemplo, você pode verificar se uma imagem contém uma maçã, uma laranja e uma banana.
  • A localização de cada objeto dentro da imagem, indicada como coordenadas de uma caixa delimitadora que encerra o objeto.

Para treinar um modelo de deteção de objetos, você pode usar o portal Azure AI Custom Vision para carregar e rotular imagens antes de treinar, avaliar, testar e publicar o modelo; ou você pode usar a API REST ou um SDK específico do idioma para escrever código que executa as tarefas de treinamento.

Etiquetagem de imagens

Você pode usar a Visão Personalizada da IA do Azure para criar projetos para classificação de imagem ou deteção de objetos. A diferença mais significativa entre treinar um modelo de classificação de imagem e treinar um modelo de deteção de objetos é a rotulagem das imagens com tags. Enquanto a classificação de imagem requer uma ou mais tags que se aplicam à imagem inteira, a deteção de objetos requer que cada rótulo consista em uma tag e uma região que define a caixa delimitadora para cada objeto em uma imagem.

Etiquetar imagens no portal Azure AI Custom Vision

O portal Azure AI Custom Vision fornece uma interface gráfica que você pode usar para rotular suas imagens de treinamento.

Captura de ecrã de imagens etiquetadas no portal Azure AI Custom Vision.

A opção mais fácil para rotular imagens para deteção de objetos é usar a interface interativa no portal Azure AI Custom Vision. Essa interface sugere automaticamente regiões que contêm objetos, aos quais você pode atribuir tags ou ajustar arrastando a caixa delimitadora para incluir o objeto que deseja rotular.

Além disso, após etiquetar um lote inicial de imagens, poderá treinar o modelo. A rotulagem subsequente de novas imagens pode se beneficiar da ferramenta de etiquetador inteligente no portal, que pode sugerir não apenas as regiões, mas as classes de objeto que elas contêm.

Abordagens alternativas de rotulagem

Como alternativa, você pode usar uma ferramenta de rotulagem personalizada ou de terceiros, ou optar por rotular imagens manualmente, para aproveitar outros recursos, como atribuir tarefas de rotulagem de imagens a vários membros da equipe.

Se você optar por usar uma ferramenta de rotulagem diferente do portal Azure AI Custom Vision, talvez seja necessário ajustar a saída para corresponder às unidades de medida esperadas pela API Azure AI Custom Vision. As caixas delimitadoras são definidas por quatro valores que representam as coordenadas esquerda (X) e superior (Y) do canto superior esquerdo da caixa delimitadora e a largura e altura da caixa delimitadora. Esses valores são expressos como valores proporcionais em relação ao tamanho da imagem de origem. Por exemplo, considere esta caixa delimitadora:

  • Esquerda: 0.1
  • Topo: 0.5
  • Largura: 0.5
  • Altura: 0.25

Isso define uma caixa em que a esquerda está a 0,1 (um décimo) da borda esquerda da imagem e o topo está a 0,5 (metade da altura da imagem) desde o topo. A caixa tem metade da largura e um quarto da altura da imagem geral.

A imagem a seguir mostra informações de rotulagem no formato JSON para objetos em uma imagem.

Fotografe com etiquetas JSON para os objetos que contém.