Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Use a visão computacional para medir o rendimento agrícola com os rótulos personalizados do Amazon Rekognition

No setor agrícola, o problema de identificar e contar a quantidade de frutos nas árvores desempenha um papel importante na estimativa de safra. O conceito de alugar e arrendar uma árvore está se tornando popular, onde um proprietário arrenda a árvore todos os anos antes da colheita com base na produção estimada de frutos. A prática comum de contar manualmente frutas é um processo demorado e trabalhoso. É uma das tarefas mais difíceis, mas mais importantes para obter melhores resultados no seu sistema de gestão de culturas. Essa estimativa da quantidade de frutas e flores ajuda os agricultores a tomar melhores decisões – não apenas sobre preços de arrendamento, mas também sobre práticas de cultivo e prevenção de doenças nas plantas.

É aqui que uma solução automatizada de aprendizado de máquina (ML) para visão computacional (CV) pode ajudar os agricultores. Rótulos personalizados do Amazon Rekognition é um serviço de visão computacional totalmente gerenciado que permite que os desenvolvedores criem modelos personalizados para classificar e identificar objetos em imagens específicas e exclusivas do seu negócio.

O Rekognition Custom Labels não exige que você tenha nenhum conhecimento prévio em visão computacional. Você pode começar simplesmente fazendo upload de dezenas de imagens em vez de milhares. Se as imagens já estiverem rotuladas, você poderá começar a treinar um modelo em apenas alguns cliques. Caso contrário, você pode rotulá-los diretamente no console Rekognition Custom Labels ou usar Verdade no solo do Amazon SageMaker para rotulá-los. O Rekognition Custom Labels usa o aprendizado de transferência para inspecionar automaticamente os dados de treinamento, selecionar a estrutura e o algoritmo de modelo corretos, otimizar os hiperparâmetros e treinar o modelo. Quando estiver satisfeito com a precisão do modelo, você poderá começar a hospedar o modelo treinado com apenas um clique.

Neste post, mostramos como você pode criar uma solução de ponta a ponta usando o Rekognition Custom Labels para detectar e contar frutas para medir o rendimento da agricultura.

Visão geral da solução

Criamos um modelo personalizado para detectar frutas usando as seguintes etapas:

  1. Rotule um conjunto de dados com imagens contendo frutas usando Verdade no solo do Amazon SageMaker.
  2. Crie um projeto em Rótulos personalizados do Rekognition.
  3. Importe seu conjunto de dados rotulado.
  4. Treine o modelo.
  5. Teste o novo modelo customizado usando o terminal de API gerado automaticamente.

Os rótulos personalizados do Rekognition permitem gerenciar o processo de treinamento do modelo de ML no console do Amazon Rekognition, o que simplifica o desenvolvimento de modelo de ponta a ponta e o processo de inferência.

Pré-requisitos

Para criar um modelo de medição de rendimento agrícola, primeiro você precisa preparar um conjunto de dados para treinar o modelo. Para este post, nosso conjunto de dados é composto por imagens de frutas. As imagens a seguir mostram alguns exemplos.

Nós adquirimos nossas imagens de nosso próprio jardim. Você pode baixar os arquivos de imagem do GitHub repo.

Para este post, usamos apenas um punhado de imagens para mostrar o caso de uso da produção de frutas. Você pode experimentar mais com mais imagens.

Para preparar seu conjunto de dados, conclua as seguintes etapas:

  1. Crie uma Serviço de armazenamento simples da Amazon (Amazon S3).
  2. Crie duas pastas dentro deste bucket, chamadas raw_data e test_data, para armazenar imagens para rotulagem e teste de modelo.
  3. Escolha Escolher arquivo para fazer upload das imagens para suas respectivas pastas do repositório GitHub.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

As imagens enviadas não são rotuladas. Você rotula as imagens na etapa a seguir.

Rotule seu conjunto de dados usando o Ground Truth

Para treinar o modelo de ML, você precisa de imagens rotuladas. O Ground Truth fornece um processo fácil de rotular as imagens. A tarefa de rotulagem é executada por uma força de trabalho humana; neste post, você cria uma força de trabalho privada. Você pode usar Amazon Mechanical Turk para rotulagem em escala.

Crie uma força de trabalho de rotulagem

Vamos primeiro criar nossa força de trabalho de rotulagem. Conclua as seguintes etapas:

  1. No console SageMaker, em Verdade do solo no painel de navegação, escolha Forças de trabalho de rotulagem.
  2. No Privado guia, escolha Criar equipe particular.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  3. Escolha Nome do time, insira um nome para sua força de trabalho (para esta postagem, labeling-team).
  4. Escolha Criar equipe particular.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  5. Escolha Convide novos trabalhadores.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  6. No Adicionar trabalhadores por endereço de e-mail seção, insira os endereços de e-mail de seus funcionários. Para esta postagem, digite seu próprio endereço de e-mail.
  7. Escolha Convidar novos trabalhadores.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você criou uma força de trabalho de rotulagem, que será usada na próxima etapa ao criar um trabalho de rotulagem.

Criar um trabalho de rotulagem do Ground Truth

Para otimizar seu trabalho de rotulagem, conclua as etapas a seguir:

  1. No console SageMaker, em Verdade do solo, escolha Trabalhos de rotulagem.
  2. Escolha Criar trabalho de rotulagem.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  3. Escolha Nome do trabalho, entrar fruits-detection.
  4. Selecionar Quero especificar um nome de atributo de rótulo diferente do nome do trabalho de rotulagem.
  5. Escolha Nome do atributo do rótuloentrar Labels.
  6. Escolha Configuração de dados de entrada, selecione Configuração de dados automatizada.
  7. Escolha Localização do S3 para conjuntos de dados de entrada, insira o local S3 das imagens, usando o bucket que você criou anteriormente (s3://{your-bucket-name}/raw-data/images/).
  8. Escolha Localização do S3 para conjuntos de dados de saída, selecione Especifique um novo local e insira o local de saída para dados anotados (s3://{your-bucket-name}/annotated-data/).
  9. Escolha Tipo de dados, escolha Imagem.
  10. Escolha Configuração de dados completa.
    Isso cria o arquivo de manifesto da imagem e atualiza o caminho do local de entrada do S3. Aguarde a mensagem “Conexão de dados de entrada bem-sucedida”.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  11. Expandir Configuração adicional.
  12. Confirme que Conjunto de dados completo é selecionado.
    Isso é usado para especificar se você deseja fornecer todas as imagens para o trabalho de rotulagem ou um subconjunto de imagens com base em filtros ou amostragem aleatória.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  13. Escolha Categoria da tarefa, escolha Imagem porque esta é uma tarefa para anotação de imagem.
  14. Como este é um caso de uso de detecção de objetos, por Seleção de tarefas, selecione Caixa delimitadora.
  15. Deixe as outras opções como padrão e escolha Próximo.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  16. Escolha Próximo.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
    Agora você especifica seus trabalhadores e configura a ferramenta de rotulagem.
  17. Escolha Tipos de trabalhadores, selecione Privado.Para este post, você usa uma força de trabalho interna para anotar as imagens. Você também tem a opção de selecionar uma força de trabalho contratual pública (Turco Mecânico Amazon) ou uma força de trabalho parceira (Gerenciado pelo fornecedor) dependendo do seu caso de uso.
  18. Para equipes privadas¸ escolha a equipe que você criou anteriormente.Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  19. Deixe as outras opções como padrão e role para baixo até Ferramenta de rotulagem de caixa delimitadora.É essencial fornecer instruções claras aqui na ferramenta de rotulagem para a equipe de rotulagem privada. Essas instruções funcionam como um guia para anotadores durante a rotulagem. Boas instruções são concisas, por isso recomendamos limitar as instruções verbais ou textuais a duas frases e focar nas instruções visuais. No caso de classificação de imagens, recomendamos fornecer uma imagem rotulada em cada uma das classes como parte das instruções.
  20. Adicione dois marcadores: fruit e no_fruit.
  21. Insira instruções detalhadas no Campo de descrição para fornecer instruções aos trabalhadores. Por exemplo: You need to label fruits in the provided image. Please ensure that you select label 'fruit' and draw the box around the fruit just to fit the fruit for better quality of label data. You also need to label other areas which look similar to fruit but are not fruit with label 'no_fruit'.Você também pode, opcionalmente, fornecer exemplos de imagens de rotulagem boas e ruins. Você precisa garantir que essas imagens sejam acessíveis publicamente.
  22. Escolha Crie para criar o trabalho de rotulagem.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Após a criação bem-sucedida do trabalho, a próxima etapa é rotular as imagens de entrada.

Iniciar o trabalho de rotulagem

Depois de criar o trabalho com êxito, o status do trabalho é InProgress. Isso significa que o trabalho é criado e a força de trabalho privada é notificada por e-mail sobre a tarefa atribuída a eles. Como você atribuiu a tarefa a si mesmo, deverá receber um e-mail com instruções para fazer login no projeto Ground Truth Labeling.

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Abra o e-mail e escolha o link fornecido.
  2. Digite o nome de usuário e a senha fornecidos no e-mail.
    Você pode ter que alterar a senha temporária fornecida no e-mail para uma nova senha após o login.
  3. Depois de fazer login, selecione seu trabalho e escolha Comece a trabalhar.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
    Você pode usar as ferramentas fornecidas para ampliar, reduzir, mover e desenhar caixas delimitadoras nas imagens.
  4. Escolha seu rótulo (fruit or no_fruit) e, em seguida, desenhe uma caixa delimitadora na imagem para anotá-la.
  5. Quando terminar, escolha Submeter.

Agora você tem imagens rotuladas corretamente que serão usadas pelo modelo de ML para treinamento.

Crie seu projeto do Amazon Rekognition

Para criar seu projeto de medição de rendimento agrícola, conclua as seguintes etapas:

  1. No console do Amazon Rekognition, escolha Etiquetas personalizadas.
  2. Escolha Iniciar.
  3. Escolha Nome do Projeto, entrar fruits_yield.
  4. Escolha Criar projeto.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você também pode criar um projeto no Projectos página. Você pode acessar o Projectos página através do painel de navegação. O próximo passo é fornecer imagens como entrada.

Importe seu conjunto de dados

Para criar seu modelo de medição de rendimento agrícola, primeiro você precisa importar um conjunto de dados para treinar o modelo. Para este post, nosso conjunto de dados já está rotulado usando o Ground Truth.

  1. Escolha Importar imagens, selecione Importar imagens rotuladas pelo SageMaker Ground Truth.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Escolha Local do arquivo de manifesto, insira o local do bucket do S3 do arquivo de manifesto (s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest).
  3. Escolha Criar conjunto de dados.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você pode ver seu conjunto de dados rotulado.

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Agora você tem seu conjunto de dados de entrada para o modelo de ML para começar a treinar neles.

Treine seu modelo

Depois de rotular suas imagens, você está pronto para treinar seu modelo.

  1. Escolha Modelo de trem.
  2. Escolha Escolha o projeto, escolha seu projeto fruits_yield.
  3. Escolha Modelo de trem.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Aguarde o término do treinamento. Agora você pode começar a testar o desempenho deste modelo treinado.

Teste seu modelo

Seu modelo de medição de rendimento agrícola agora está pronto para uso e deve estar no Running Estado. Para testar o modelo, execute as seguintes etapas:

Passo 1: Inicie o modelo

Na página de detalhes do seu modelo, na Modelo de uso guia, escolha Início.
Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
Os rótulos personalizados do Rekognition também fornecem as chamadas de API para iniciar, usar e interromper seu modelo.

Etapa 2: teste o modelo

Quando o modelo está no Running estado, você pode usar o script de teste de amostra analyzeImage.py para contar a quantidade de frutas em uma imagem.

  1. Baixe este script do GitHub repo.
  2. Edite este arquivo para substituir o parâmetro bucket com o nome do seu bucket e model com o ARN do modelo do Amazon Rekognition.

Usamos os parâmetros photo e min_confidence como entrada para este script Python.

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você pode executar este script localmente usando o Interface de linha de comando da AWS (AWS CLI) ou usando AWS CloudShell. Em nosso exemplo, executamos o script por meio do console do CloudShell. Observe que o CloudShell é podem ser utilizados gratuitamente..

Certifique-se de instalar as dependências necessárias usando o comando pip3 install boto3 PILLOW se ainda não estiver instalado.
Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

  1. Faça upload do arquivo analyzeImage.py para o CloudShell usando o Opções menu.
    Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A captura de tela a seguir mostra a saída, que detectou duas frutas na imagem de entrada. Fornecemos 15.jpeg como o argumento da foto e 85 como o min_confidence valor.

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

O exemplo a seguir mostra a imagem 15.jpeg com duas caixas delimitadoras.

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você pode executar o mesmo script com outras imagens e experimentar alterando ainda mais a pontuação de confiança.

Etapa 3: Pare o modelo

Quando terminar, lembre-se de parar o modelo para evitar cobranças desnecessárias. Na página de detalhes do modelo, na guia Usar modelo, escolha Parar.

limpar

Para evitar cobranças desnecessárias, exclua os recursos usados ​​neste passo a passo quando não estiverem em uso. Precisamos excluir o projeto do Amazon Rekognition e o bucket do S3.

Excluir o projeto do Amazon Rekognition

Para excluir o projeto do Amazon Rekognition, conclua as seguintes etapas:

  1. No console do Amazon Rekognition, escolha Use rótulos personalizados.
  2. Escolha COMECE AGORA.
  3. No painel de navegação, escolha Projectos.
  4. No Projectos página, selecione o projeto que você deseja excluir.
    1. Escolha Apagar.
      A Excluir projeto a caixa de diálogo aparece.
  5. Se o projeto não tiver modelos associados:
    1. Entrar excluir para excluir o projeto.
    2. Escolha Apagar para excluir o projeto.
  6. Se o projeto tiver modelos ou conjuntos de dados associados:
    1. Entrar excluir para confirmar que você deseja excluir o modelo e os conjuntos de dados.
    2. Escolha um dos Excluir modelos associados, Excluir conjuntos de dados associadosou Excluir conjuntos de dados e modelos associados, dependendo se o modelo tem conjuntos de dados, modelos ou ambos.

    A exclusão do modelo pode demorar um pouco para ser concluída. Observe que o console do Amazon Rekognition não pode excluir modelos que estão em treinamento ou em execução. Tente novamente depois de interromper qualquer modelo em execução listado e aguarde até que os modelos listados como treinamento sejam concluídos. Se você fechar a caixa de diálogo durante a exclusão do modelo, os modelos ainda serão excluídos. Posteriormente, você pode excluir o projeto repetindo este procedimento.

  7. Entrar excluir para confirmar que você deseja excluir o projeto.
  8. Escolha Apagar para excluir o projeto.

Excluir seu bucket do S3

Primeiro você precisa esvaziar o bucket e excluí-lo.

  1. No Amazon S3 console, escolha Baldes.
  2. Selecione o bucket que você deseja esvaziar e escolha vazio.
  3. Confirme que deseja esvaziar o bucket digitando o nome do bucket no campo de texto e escolha vazio.
  4. Escolha Apagar.
  5. Confirme que deseja excluir o bucket digitando o nome do bucket no campo de texto e escolha Excluir intervalo.

Conclusão

Neste post, mostramos como criar um modelo de detecção de objetos com o Rekognition Custom Labels. Esse recurso facilita o treinamento de um modelo personalizado que pode detectar uma classe de objeto sem precisar especificar outros objetos ou perder a precisão em seus resultados.

Para obter mais informações sobre como usar rótulos personalizados, consulte O que são rótulos personalizados do Amazon Rekognition?


Sobre os autores

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Dhiraj Thakur é arquiteto de soluções da Amazon Web Services. Ele trabalha com clientes e parceiros da AWS para fornecer orientação sobre adoção, migração e estratégia da nuvem corporativa. Ele é apaixonado por tecnologia e gosta de construir e experimentar no espaço de análise e IA/ML.

Use a visão computacional para medir o rendimento agrícola com o Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Sameer Goel é um arquiteto de soluções sênior na Holanda, que impulsiona o sucesso do cliente construindo protótipos em iniciativas de ponta. Antes de ingressar na AWS, Sameer se formou com mestrado em Boston, com concentração em ciência de dados. Ele gosta de construir e experimentar projetos de IA/ML no Raspberry Pi. Você pode encontrá-lo em LinkedIn.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS