Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Dicas para melhorar seu modelo de rótulos personalizados do Amazon Rekognition

Neste post, discutimos as melhores práticas para melhorar o desempenho de seus modelos de visão computacional usando Rótulos personalizados do Amazon Rekognition. O Rekognition Custom Labels é um serviço totalmente gerenciado para criar modelos personalizados de visão computacional para casos de uso de classificação de imagens e detecção de objetos. O Rekognition Custom Labels baseia-se nos modelos pré-treinados em Reconhecimento da Amazônia, que já são treinados em dezenas de milhões de imagens em muitas categorias. Em vez de milhares de imagens, você pode começar com um pequeno conjunto de imagens de treinamento (algumas centenas ou menos) específicas para seu caso de uso. O Rekognition Custom Labels abstrai a complexidade envolvida na construção de um modelo personalizado. Ele inspeciona automaticamente os dados de treinamento, seleciona os algoritmos de ML corretos, seleciona o tipo de instância, treina vários modelos candidatos com várias configurações de hiperparâmetros e gera o melhor modelo treinado. Os rótulos personalizados do Rekognition também fornecem uma interface fácil de usar do Console de gerenciamento da AWS para gerenciar todo o fluxo de trabalho de ML, incluindo rotular imagens, treinar o modelo, implantar o modelo e visualizar os resultados do teste.

Há momentos em que a precisão de um modelo não é a melhor e você não tem muitas opções para ajustar os parâmetros de configuração do modelo. Nos bastidores, existem vários fatores que desempenham um papel fundamental para construir um modelo de alto desempenho, como os seguintes:

  • Ângulo da imagem
  • Resolução de imagem
  • Proporção da imagem
  • Exposição à luz
  • Clareza e vivacidade do fundo
  • Contraste da cor
  • Tamanho dos dados da amostra

A seguir estão as etapas gerais a serem seguidas para treinar um modelo Rekognition Custom Labels em nível de produção:

  1. Revisar taxonomia – Isso define a lista de atributos/itens que você deseja identificar em uma imagem.
  2. Colete dados relevantes – Esta é a etapa mais importante, onde você precisa coletar imagens relevantes que devem se assemelhar ao que você veria em um ambiente de produção. Isso pode envolver imagens de objetos com planos de fundo, iluminação ou ângulos de câmera variados. Em seguida, você cria conjuntos de dados de treinamento e teste dividindo as imagens coletadas. Você só deve incluir imagens do mundo real como parte do conjunto de dados de teste e não deve incluir imagens geradas sinteticamente. As anotações dos dados coletados são cruciais para o desempenho do modelo. Certifique-se de que as caixas delimitadoras estejam apertadas ao redor dos objetos e que os rótulos estejam corretos. Discutimos algumas dicas que você pode considerar ao criar um conjunto de dados apropriado posteriormente nesta postagem.
  3. Revise as métricas de treinamento – Use os conjuntos de dados anteriores para treinar um modelo e revisar as métricas de treinamento para pontuação F1, precisão e recuperação. Discutiremos em detalhes sobre como analisar as métricas de treinamento posteriormente neste post.
  4. Avalie o modelo treinado – Use um conjunto de imagens não vistas (não usadas para treinar o modelo) com rótulos conhecidos para avaliar as previsões. Essa etapa sempre deve ser executada para garantir que o modelo funcione conforme o esperado em um ambiente de produção.
  5. Retreinamento (opcional) – Em geral, treinar qualquer modelo de aprendizado de máquina é um processo iterativo para alcançar os resultados desejados, um modelo de visão computacional não é diferente. Revise os resultados na Etapa 4, para ver se mais imagens precisam ser adicionadas aos dados de treinamento e repita as Etapas 3 a 5 acima.

Neste post, focamos nas práticas recomendadas para coletar dados relevantes (Etapa 2) e avaliar suas métricas treinadas (Etapa 3) para melhorar o desempenho do seu modelo.

Colete dados relevantes

Este é o estágio mais crítico do treinamento de um modelo de Rekognition Custom Labels de nível de produção. Especificamente, existem dois conjuntos de dados: treinamento e teste. Os dados de treinamento são usados ​​para treinar o modelo e você precisa se esforçar para criar um conjunto de treinamento apropriado. Os modelos de etiquetas personalizadas do Rekognition são otimizados para Pontuação F1 no conjunto de dados de teste para selecionar o modelo mais preciso para seu projeto. Portanto, é essencial selecionar um conjunto de dados de teste que se assemelhe ao mundo real.

Número de imagens

Recomendamos ter um mínimo de 15 a 20 imagens por etiqueta. Ter mais imagens com mais variações que reflitam seu caso de uso melhorará o desempenho do modelo.

Conjunto de dados balanceado

Idealmente, cada rótulo no conjunto de dados deve ter um número semelhante de amostras. Não deve haver uma grande disparidade no número de imagens por rótulo. Por exemplo, um conjunto de dados em que o número mais alto de imagens para um rótulo é 1,000 versus 50 imagens para outro rótulo se assemelha a um conjunto de dados desequilibrado. Recomendamos evitar cenários com proporção desigual de 1:50 entre o rótulo com o menor número de imagens e o rótulo com o maior número de imagens.

Vários tipos de imagens

Inclua imagens no conjunto de dados de treinamento e teste que se assemelhem ao que você usará no mundo real. Por exemplo, se você deseja classificar imagens de salas de estar versus quartos, deve incluir imagens vazias e mobiliadas de ambos os cômodos.

A seguir está uma imagem de exemplo de uma sala de estar mobiliada.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Em contraste, o seguinte é um exemplo de uma sala de estar sem mobília.

O seguinte é uma imagem de exemplo de um quarto mobiliado.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

O seguinte é uma imagem de exemplo de um quarto sem mobília.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Planos de fundo variados

Inclua imagens com fundos diferentes. Imagens com contexto natural podem fornecer melhores resultados do que o plano de fundo simples.

O seguinte é uma imagem de exemplo do jardim da frente de uma casa.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

O seguinte é uma imagem de exemplo do jardim da frente de uma casa diferente com um fundo diferente.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Variando as condições de iluminação

Inclua imagens com iluminação variável para cobrir as diferentes condições de iluminação que ocorrem durante a inferência (por exemplo, com e sem flash). Você também pode incluir imagens com saturação, matiz e brilho variados.

O seguinte é uma imagem de exemplo de uma flor sob luz normal.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Em contraste, a imagem a seguir é da mesma flor sob luz forte.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Ângulos variados

Inclua imagens tiradas de vários ângulos do objeto. Isso ajuda o modelo a aprender diferentes características dos objetos.

As imagens a seguir são do mesmo quarto de diferentes ângulos.

 Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.   Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Pode haver ocasiões em que não seja possível adquirir imagens de vários tipos. Nesses cenários, as imagens sintéticas podem ser geradas como parte do conjunto de dados de treinamento. Para obter mais informações sobre técnicas comuns de aumento de imagem, consulte Aumento de dados.

Adicionar rótulos negativos

Para classificação de imagens, adicionar rótulos negativos pode ajudar a aumentar a precisão do modelo. Por exemplo, você pode adicionar um rótulo negativo, que não corresponde a nenhum dos rótulos necessários. A imagem a seguir representa os diferentes rótulos usados ​​para identificar flores totalmente crescidas.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Adicionando o rótulo negativo not_fully_grown ajuda o modelo a aprender características que não fazem parte do fully_grown rótulo.

Lidando com a confusão de rótulos

Analise os resultados no conjunto de dados de teste para reconhecer quaisquer padrões perdidos no conjunto de dados de treinamento ou teste. Às vezes é fácil identificar esses padrões examinando visualmente as imagens. Na imagem a seguir, o modelo está lutando para resolver entre um rótulo de quintal vs. pátio.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.

Nesse cenário, adicionar mais imagens a esses rótulos no conjunto de dados e também redefinir os rótulos para que cada rótulo seja distinto pode ajudar a aumentar a precisão do modelo.

Aumento de dados

Dentro do Rekognition Custom Labels, realizamos vários aumentos de dados para treinamento de modelos, incluindo corte aleatório da imagem, instabilidade de cores, ruídos gaussianos aleatórios e muito mais. Com base em seus casos de uso específicos, também pode ser benéfico adicionar aumentos de dados mais explícitos aos seus dados de treinamento. Por exemplo, se você estiver interessado em detectar animais em imagens coloridas e em preto e branco, poderá obter uma precisão melhor adicionando versões em preto e branco e coloridas das mesmas imagens aos dados de treinamento.

Não recomendamos aumentos nos dados de teste, a menos que os aumentos reflitam seus casos de uso de produção.

Revise as métricas de treinamento

Pontuação F1, precisão, recall e limiar assumido são os métrica que são gerados como uma saída do treinamento de um modelo usando os Rótulos personalizados do Rekognition. Os modelos são otimizados para a melhor pontuação F1 com base no conjunto de dados de teste fornecido. O limite assumido também é gerado com base no conjunto de dados de teste. Você pode ajustar o limite com base em seus requisitos de negócios em termos de precisão ou recall.

Como os limites assumidos são definidos no conjunto de dados de teste, um conjunto de teste apropriado deve refletir o caso de uso de produção do mundo real. Se o conjunto de dados de teste não for representativo do caso de uso, você poderá ver pontuações F1 artificialmente altas e um desempenho insatisfatório do modelo em suas imagens do mundo real.

Essas métricas são úteis ao realizar uma avaliação inicial do modelo. Para um sistema de nível de produção, recomendamos avaliar o modelo em relação a um conjunto de dados externo (500–1,000 imagens não vistas) representativo do mundo real. Isso ajuda a avaliar como o modelo funcionaria em um sistema de produção e também identificar quaisquer padrões ausentes e corrigi-los por meio do retreinamento do modelo. Se você observar uma incompatibilidade entre as pontuações da F1 e a avaliação externa, sugerimos que você examine se os dados do seu teste estão refletindo o caso de uso do mundo real.

Conclusão

Nesta postagem, apresentamos as práticas recomendadas para melhorar os modelos de rótulos personalizados do Rekognition. Nós encorajamos você a aprender mais sobre Etiquetas personalizadas de reconhecimento e experimentá-lo para seus conjuntos de dados específicos de negócios.


Sobre os autores

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.Amit Gupta é arquiteto sênior de soluções de serviços de IA na AWS. Ele é apaixonado por capacitar os clientes com soluções de aprendizado de máquina bem arquitetadas em escala.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.Yogesh Chaturvedi é Arquiteto de Soluções na AWS com foco em visão computacional. Ele trabalha com clientes para enfrentar seus desafios de negócios usando tecnologias de nuvem. Fora do trabalho, ele gosta de caminhar, viajar e assistir a esportes.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.Hao Yang é um Cientista Aplicado Sênior da equipe Amazon Rekognition Custom Labels. Seus principais interesses de pesquisa são detecção de objetos e aprendizado com anotações limitadas. Fora dos trabalhos, Hao gosta de assistir a filmes, fotografia e atividades ao ar livre.

Dicas para melhorar seu modelo PlatoBlockchain Data Intelligence do Amazon Rekognition Custom Labels. Pesquisa vertical. Ai.Mistério Pashmeen é gerente de produto sênior para rótulos personalizados do Amazon Rekognition. Fora do trabalho, Pashmeen gosta de caminhadas de aventura, fotografia e passar tempo com sua família.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS