Classificar imagens - Rekognition

Classificar imagens

Este tutorial mostra como criar o projeto e os conjuntos de dados para um modelo que classifica objetos, cenas e conceitos encontrados em uma imagem. O modelo classifica a imagem inteira. Por exemplo, seguindo este tutorial, é possível treinar um modelo para reconhecer locais domésticos, como uma sala de estar ou cozinha. O tutorial também mostra como usar o modelo para analisar imagens.

Antes de iniciar o tutorial, recomendamos que você leia Noções básicas do Amazon Rekognition Custom Labels.

Neste tutorial, conjuntos de dados de treinamento de teste são criados ao fazer upload de imagens do seu computador local. Posteriormente, você atribui rótulos em nível de imagem às imagens em seus conjuntos de dados de treinamento e teste.

O modelo que você cria classifica as imagens como pertencentes ao conjunto de rótulos em nível de imagem que você atribui às imagens do conjunto de dados de treinamento. Por exemplo, se o conjunto de rótulos em nível de imagem em seu conjunto de dados de treinamento for kitchen, living_room, patio e backyard, o modelo possivelmente poderá encontrar todos esses rótulos em nível de imagem em uma única imagem.

nota

É possível criar modelos para diferentes propósitos, como descobrir a localização dos objetos em uma imagem. Para ter mais informações, consulte Decida o tipo do seu modelo.

Etapa 1: colete suas imagens

São necessários dois conjuntos de imagens. Um conjunto para adicionar ao seu conjunto de dados de treinamento. Outro conjunto para adicionar ao seu conjunto de dados de teste. As imagens devem representar os objetos, cenas e conceitos que você deseja que seu modelo classifique. As imagens devem estar no formato PNG ou JPEG. Para ter mais informações, consulte Como preparar imagens.

Devem haver pelo menos 10 imagens para seu conjunto de dados de treinamento e 10 imagens para seu conjunto de dados de teste.

Se ainda não tiver imagens, use as imagens do projeto de classificação de exemplo Cômodos. Depois de criar o projeto, as imagens de treinamento e teste estão nos seguintes locais de bucket do Amazon S3:

  • Imagens de treinamento: s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/

  • Imagens de teste: s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/

region é a região da AWS na qual você está usando o console do Amazon Rekognition Custom Labels. numbers é um valor que o console atribui ao nome do bucket. Version number é o número da versão do projeto de exemplo, começando em 1.

O procedimento a seguir armazena imagens do projeto Cômodos em pastas locais em seu computador chamadas training e test.

Para baixar os arquivos de imagem do projeto de exemplo Cômodos
  1. Crie o projeto Cômodos. Para ter mais informações, consulte Etapa 1: escolha um projeto de exemplo.

  2. No prompt de comando, insira o comando a seguir para baixar as imagens de treinamento.

    aws s3 cp s3://custom-labels-console-region-numbers/assets/rooms_version number_training_dataset/ training --recursive
  3. No prompt de recomendação, insira o comando a seguir para baixar as imagens de teste.

    aws s3 cp s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/ test --recursive
  4. Mova duas das imagens da pasta de treinamento para uma pasta separada de sua escolha. As imagens serão usadas para testar seu modelo treinado em Etapa 9: analise uma imagem com seu modelo.

Etapa 2: decida suas classes

Faça uma lista das classes que deseja que o modelo encontre. Por exemplo, se você estiver treinando um modelo para reconhecer cômodos em uma casa, é possível classificar a imagem a seguir como living_room.

Aconchegante sala de estar com lareira, sofá macio, poltrona e vista para a área externa.

Cada classe é mapeada para um rótulo em nível de imagem. Posteriormente, você atribui rótulos em nível de imagem às imagens em seus conjuntos de dados de treinamento e teste.

Se estiver usando as imagens do projeto de exemplo Cômodos, os rótulos em nível de imagem são quintal, banheiro, quarto, armário, caminho_de_entrada, planta_baixa, jardim_da_frente, cozinha, sala_de_estar e pátio.

Etapa 3: crie um projeto

Para gerenciar seus conjuntos de dados e modelos, você cria um projeto. Cada projeto deve abordar um único caso de uso, como reconhecer cômodos em uma casa.

Para criar um projeto (console)
  1. Se ainda não tiver feito isso, configure o console do Amazon Rekognition Custom Labels. Para ter mais informações, consulte Como configurar o Amazon Rekognition Custom Labels.

  2. Faça login noAWS Management Console e abra o console do Amazon Rekognition emhttps://console.aws.amazon.com/rekognition/.

  3. No painel esquerdo, escolha Usar rótulos personalizados. A página inicial do Amazon Rekognition Custom Labels é exibida.

  4. Na página inicial do Amazon Rekognition Custom Labels, escolha Conceitos básicos

  5. No painel de navegação esquerdo, selecione Projetos.

  6. Na página de projetos, escolha Criar projeto.

  7. Em Nome do projeto, digite um nome para o seu projeto.

  8. Escolha Criar projeto para criar seu projeto.

    Formulário de IU para criar um projeto chamado “My-Project” com um campo para inserir o nome do projeto e botões para cancelar e criar projeto.

Etapa 4: crie conjuntos de dados de treinamento e teste

Nesta etapa, um conjunto de dados de treinamento e um conjunto de dados de teste são criados ao fazer upload de imagens do seu computador local. É possível fazer upload de até 30 imagens por vez. Se tiver muitas imagens para carregar, considere criar os conjuntos de dados importando as imagens de um bucket do Amazon S3. Para ter mais informações, consulte Importar imagens de um bucket do Amazon S3.

Para obter mais informações sobre conjuntos de dados, consulte Como gerenciar conjuntos de dados.

Para criar um conjunto de dados usando imagens em um computador local (console)
  1. Na página de detalhes do projeto, escolha Criar conjunto de dados.

    Etapa de criação do conjunto de dados no fluxo de trabalho de treinamento do modelo: botão Criar conjunto de dados para fazer upload de imagens e rótulos para treinar o modelo.
  2. Na seção Configuração inicial, escolha Iniciar com um conjunto de dados de treinamento e um conjunto de dados de teste.

  3. Na seção Detalhes do conjunto de dados de treinamento, escolha Fazer upload de imagens do seu computador.

  4. Na seção Detalhes do conjunto de dados de teste, escolha Fazer upload de imagens do seu computador.

  5. Escolha Criar conjuntos de dados.

    Interface do usuário para criar os conjuntos de dados de treinamento e teste. Botões Cancelar e Criar conjuntos de dados na parte inferior.
  6. Uma página do conjunto de dados aparece com uma guia Treinamento e uma guia Teste para os respectivos conjuntos de dados.

  7. Na página conjuntos de dados, escolha a guia Treinamento.

  8. Escolha Ações e escolha Adicionar imagens ao conjunto de dados de treinamento.

    Visualização do conjunto de dados mostrando opções para adicionar imagens aos conjuntos de dados de treinamento e teste no menu Ações.
  9. Na caixa de diálogo Adicionar imagens ao conjunto de dados de treinamento, escolha Escolher arquivos.

    Botão para fazer upload de arquivos de imagem para treinar um conjunto de dados.
  10. Escolha as imagens que você deseja fazer upload no conjunto de dados. É possível fazer upload de até 30 imagens por vez.

  11. Escolha Fazer upload de imagens. Pode levar alguns segundos para que o Amazon Rekognition Custom Labels adicione as imagens ao conjunto de dados.

    Grade mostrando 11 miniaturas de imagens prontas para upload em um conjunto de dados de treinamento.
  12. Se tiver mais imagens para adicionar ao conjunto de dados de treinamento, repita as etapas 9 a 12.

  13. Selecione a guia Testar.

  14. Repita as etapas de 8 a 12 para adicionar imagens ao conjunto de dados de teste. Para a etapa 8, escolha Ações e escolha Adicionar imagens ao conjunto de dados de teste.

Etapa 5: adicione rótulos ao projeto

Nesta etapa, é adicionado um rótulo ao projeto para cada uma das classes identificadas na etapa Etapa 2: decida suas classes.

Para adicionar um novo rótulo (console)
  1. Na página da galeria do conjunto de dados, escolha Iniciar rotulagem para entrar no modo de rotulagem.

    Interface da galeria de conjuntos de dados mostrando etapas para rotular imagens: revisar, adicionar rótulos, rotular localizações de objetos com caixas delimitadoras e treinar modelo. Botão Iniciar rotulagem em destaque.
  2. Na seção Rótulos da galeria do conjunto de dados, escolha Editar rótulos para abrir a caixa de diálogo Gerenciar rótulos.

  3. Na caixa de edição, insira um novo nome de rótulo.

  4. Selecione Adicionar novo rótulo.

  5. Repita as etapas 3 e 4 até criar todos os rótulos necessários.

  6. Escolha Salvar para salvar os rótulos que você adicionou.

Etapa 6: atribuia rótulos em nível de imagem aos conjuntos de dados de treinamento e teste

Nesta etapa, é atribuído um único nível de imagem a cada imagem em seus conjuntos de dados de treinamento e teste. O rótulo no nível da imagem é a classe que cada imagem representa.

Para atribuir rótulos em nível de imagem em uma imagem (console)
  1. Na página Conjuntos de dados, escolha a guia Treinamento.

  2. Escolha Iniciar rotulagem para entrar no modo de rotulagem.

  3. Selecione uma ou mais imagens às quais você deseja adicionar rótulos. Só é possível selecionar imagens em uma única página de cada vez. Para selecionar uma faixa contígua de imagens em uma página:

    1. Selecione a primeira imagem.

    2. Pressione e segure a tecla shift.

    3. Selecione a segunda imagem. As imagens entre a primeira e a segunda imagem também são selecionadas.

    4. Solte a tecla shift.

  4. Escolha Atribuir rótulos em nível de imagem.

    Interface mostrando três imagens de quintais residenciais, com o botão “Atribuir rótulos em nível de imagem”.
  5. Na caixa de diálogo Atribuir rótulos em nível de imagem às imagens selecionadas, selecione um rótulo que você deseja atribuir à imagem ou imagens.

  6. Escolha Atribuir para atribuir um rótulo à imagem.

    Caixa de diálogo mostrando como atribuir o rótulo de imagem “quintal” às imagens selecionadas com o botão Atribuir.
  7. Repita a rotulagem até que cada imagem seja anotada com os rótulos necessários.

  8. Selecione a guia Testar.

  9. Repita as etapas para atribuir rótulos de nível de imagem às imagens do conjunto de dados de teste.

Etapa 7: treine seu modelo

Use as etapas a seguir para treinar seu modelo. Para ter mais informações, consulte Como treinar um modelo do Amazon Rekognition Custom Labels.

Para treinar seu modelo (console)
  1. Na página Conjunto de dados, escolha Treinar modelo.

    Botão Treinar modelo para treinar um modelo de machine learning no conjunto de dados do projeto atual.
  2. Na página Treinar modelo, escolha Treinar modelo. O nome do recurso da Amazon (ARN) do seu projeto está na caixa de edição Escolher projeto.

    Página de configuração de treinamento de modelo mostrando o campo de entrada do ARN do projeto, a seção Tags vazia e o botão Treinar modelo.
  3. Na caixa de diálogo Você quer treinar seu modelo?, escolha Treinar modelo.

    Caixa de diálogo perguntando “Quer treinar seu modelo?” com os botões Cancelar e Treinar modelo.
  4. Na seção Modelos da página do projeto, pode ver que o treinamento está em andamento. É possível verificar o status atual visualizando a coluna Model Status da versão do modelo. O treinamento de um modelo leva algum tempo para ser concluído.

    Status do modelo mostrando “TRAINING_IN_PROGRESS”, o que indica que o modelo está sendo treinado.
  5. Após a conclusão do treinamento, escolha o nome do modelo. O treinamento é concluído quando o status do modelo for TRAINING_COMPLETED.

    Informações do modelo rooms_19 mostrando o status TRAINING_COMPLETED, indicando que o modelo está pronto.
  6. Escolha o botão Avaliar para ver os resultados da avaliação. Para obter informações sobre como avaliar um modelo, consulte Como melhorar um modelo treinado do Amazon Rekognition Custom Labels.

  7. Escolha Exibir resultados do teste para ver os resultados de imagens de teste individuais. Para ter mais informações, consulte Métricas para avaliar seu modelo.

    Resultados da avaliação de modelo mostrando pontuação F1, precisão média e recall geral para 10 rótulos de imagem com métricas de desempenho por rótulo.
  8. Depois de visualizar os resultados do teste, escolha o nome do modelo para retornar à página do modelo.

    Interface mostrando os resultados do teste de um modelo treinado em um conjunto de dados de imagens de quintal e jardim da frente, com rótulos previstos e pontuações de confiança exibidas.

Etapa 8: inicie seu modelo

Nesta etapa, seu modelo é iniciado. Depois que o modelo começar, é possível usá-lo para analisar novas imagens.

Há uma cobrança pela quantidade de tempo que o modelo é executado. Interrompa seu modelo se você não precisar analisar as imagens. Será possível reiniciar o modelo mais tarde. Para ter mais informações, consulte Como executar um modelo do Amazon Rekognition Custom Labels.

Para iniciar o seu modelo
  1. Escolha a guia Usar modelo na página do modelo.

  2. Na seção Iniciar ou interromper o modelo, faça o seguinte:

    1. Escolha Iniciar.

      Interface do usuário mostrando o botão Iniciar modelo e opções para iniciar ou interromper um modelo de machine learning para detectar rótulos personalizados. Selecione o número de unidades de inferência para aumentar o throughput.
    2. Na caixa de diálogo Iniciar modelo, escolha Iniciar.

      Caixa de diálogo Iniciar modelo com o botão Iniciar.
  3. Espere até que o modelo esteja em execução. O modelo está em execução quando o status na seção Iniciar ou interromper modelo é Executando.

    Indicador de status Em execução com um círculo verde indicando que o modelo está em execução, e opções para interromper o modelo ou alterar o número de unidades de inferência.

Etapa 9: analise uma imagem com seu modelo

Você analisa uma imagem chamando a API DetectCustomLabels. Nesta etapa, o comando detect-custom-labels AWS Command Line Interface (AWS CLI) é usado para analisar uma imagem de exemplo. Você recebe o comando AWS CLI no console do Amazon Rekognition Custom Labels. O console configura o comando da AWS CLI para usar seu modelo. Só é preciso fornecer uma imagem que esteja armazenada em um bucket do Amazon S3.

nota

O console também fornece um código de exemplo em Python.

A saída de detect-custom-labels inclui uma lista de rótulos encontrados na imagem, caixas delimitadoras (se o modelo encontrar a localização dos objetos) e a confiança que o modelo tem na precisão das previsões.

Para ter mais informações, consulte Como analisar uma imagem com um modelo treinado.

Para analisar uma imagem (console)
  1. Se ainda não tiver feito isso, configure a AWS CLI. Para obter instruções, consulte Etapa 4: configure a AWS CLI e os AWS SDKs.

  2. Escolha a guia Usar modelo e escolha o código da API.

    Interface mostrando os detalhes do modelo com a opção de exibir o nome do recurso da Amazon (ARN) e o código da API para usar o modelo.
  3. Escolha o Comando da AWS CLI.

  4. Na seção Analisar imagem, copie o comando AWS CLI que chama detect-custom-labels.

    Comando da AWS CLI para analisar uma imagem com um modelo personalizado, mostrando espaços reservados a serem substituídos pelo ARN do projeto e pelo nome do bucket.
  5. Faça upload de uma imagem para um bucket do Amazon S3. Para obter mais informações, consulte Fazer upload de objetos no Amazon S3 no Guia do usuário do Amazon Simple Storage Service. Se estiver usando imagens do projeto Cômodos, use uma das imagens que você moveu para uma pasta separada em Etapa 1: colete suas imagens.

  6. No prompt de comando, insira o comando AWS CLI que você copiou na etapa anterior. Ele se parece com o exemplo a seguir.

    O valor de --project-version-arn deve ser o nome do recurso da Amazon (ARN) do seu modelo. O valor de --region deve ser a região da AWS na qual você criou o modelo.

    Altere MY_BUCKET e PATH_TO_MY_IMAGE use o bucket e a imagem do Amazon S3 que você usou na etapa anterior.

    Se estiver usando o perfil custom-labels-access para obter credenciais, adicione o parâmetro --profile custom-labels-access.

    aws rekognition detect-custom-labels \ --project-version-arn "model_arn" \ --image '{"S3Object": {"Bucket": "MY_BUCKET","Name": "PATH_TO_MY_IMAGE"}}' \ --region us-east-1 \ --profile custom-labels-access

    A saída JSON do comando AWS CLI deverá ser semelhante à seguinte. O Name é o nome do rótulo em nível de imagem que o modelo encontrou. A Confidence (de 0 a 100) é a confiança do modelo na precisão da previsão.

    { "CustomLabels": [ { "Name": "living_space", "Confidence": 83.41299819946289 } ] }
  7. Continue usando o modelo para analisar outras imagens. Interrompa o modelo se não estiver mais usando.

Etapa 10: interrompa seu modelo

Nesta etapa, seu modelo para de ser executado. Há uma cobrança pela quantidade de tempo que o modelo está em execução. Se terminou de usar o modelo, deve interrompê-lo.

Para interromper seu modelo
  1. Na seção Iniciar ou interromper modelo, escolha Interromper.

    Botão Interromper para parar o modelo que está em execução e desabilitar as unidades de inferência.
  2. Na caixa de diálogo Interromper modelo, insira interromper para confirmar que deseja interromper o modelo.

    Campo de entrada com “stop” inserido e botão Interromper para confirmar a parada de um modelo.
  3. Escolha Parar para interromper seu modelo. O modelo foi interrompido quando o status na seção Iniciar ou interromper modelo é Interrompido.

    Indicador de status Interrompido com explicação de que o modelo não está em execução e precisa ser iniciado usando o botão Iniciar ou um exemplo de código.