Como preparar os dados de treinamento

Como preparar suas imagens

  • As imagens precisam usar um tipo de arquivo compatível (veja a lista abaixo).

  • Os modelos do AutoML Vision são otimizados para fotografias de objetos reais.

  • Os dados de treinamento precisam estar o mais próximo possível dos dados que serão previstos. Por exemplo, se o caso de uso envolver imagens borradas e de baixa resolução (como de uma câmera de segurança), seus dados de treinamento precisarão ser compostos por imagens borradas de baixa resolução. Em geral, pense também em fornecer vários ângulos, resoluções e planos de fundo para suas imagens de treinamento.

  • Os modelos do AutoML Vision não podem prever rótulos que seres humanos não são capazes de atribuir. Então, se um humano não puder ser treinado para atribuir rótulos olhando a imagem por 1 ou 2 segundos, o modelo provavelmente não poderá ser treinado para fazer isso também.

  • Recomendamos cerca de 1.000 imagens de treinamento por rótulo. O mínimo por rótulo é 10, ou 50 para modelos avançados. Em geral, são necessários mais exemplos por rótulo para treinar modelos com vários rótulos por imagem, e os resultados são mais difíceis de interpretar.

  • É possível enviar os formatos de arquivo a seguir ao treinar seus modelos. O tamanho máximo do arquivo é de 30 MB.

    • JPEG
    • PNG
    • GIF
    • BMP
    • ICO

    É possível enviar os formatos de arquivo a seguir na solicitação de previsão do seu modelo (consulta). O tamanho máximo do arquivo é de 1,5 MB.

    • JPEG
    • PNG
    • GIF
  • O modelo funciona melhor quando há no máximo 100 vezes mais imagens para o rótulo mais comum do que para o menos comum. Recomendamos remover rótulos de frequência muito baixa.

  • Considere a inclusão de um rótulo None_of_the_above e imagens que não correspondam a nenhum dos rótulos definidos. Por exemplo, para um conjunto de dados de flor, inclua imagens de flores fora das suas variedades rotuladas e rotule-as como None_of_the_above. Isso melhora a precisão do modelo. Observe que, enquanto qualquer nome de rótulo funciona, None_of_the_above é tratado especialmente pelo sistema e sempre aparecerá por último na lista de rótulos na IU.

Conjuntos de dados de treinamento e de avaliação

Os dados em um conjunto são divididos em três ao treinar um modelo: um conjunto de dados de treinamento, um de validação e outro de teste.

Um conjunto de dados de treinamento é usado para criar um modelo. O modelo testa vários algoritmos e parâmetros enquanto procura padrões nos dados de treinamento. À medida que o modelo identifica padrões, ele usa o conjunto de dados de validação para testar os algoritmos e padrões. Aqueles que tiverem melhor desempenho são escolhidos entre os identificados durante o estágio de treinamento.

Depois que os algoritmos e padrões de melhor desempenho forem identificados, eles serão testados quanto à taxa de erros, qualidade e acurácia usando o conjunto de dados de teste.

Tanto um conjunto de dados de validação quanto um de teste são usados para evitar vieses no modelo. Durante o estágio de validação, são usados os parâmetros ideais do modelo, o que pode resultar em métricas tendenciosas. Usar o conjunto de dados de teste para avaliar a qualidade do modelo após o estágio de validação fornece uma avaliação imparcial da qualidade.

Por padrão, o AutoML Vision divide seu conjunto de dados aleatoriamente em três conjuntos separados:

  • 80% das imagens são usadas para treinamento.
  • 10% das imagens são usadas para o ajuste de hiperparâmetros e/ou para decidir quando parar o treinamento.
  • 10% das imagens são usadas para avaliar o modelo. Essas imagens não são usadas no treinamento.

Se você quiser especificar o conjunto de dados de cada imagem no arquivo CSV, use um arquivo .csv conforme descrito na próxima seção.

Criar um arquivo CSV com rótulos e URIs de imagem

Depois que seus arquivos forem enviados ao Google Cloud Storage, será possível criar um arquivo CSV com todos os seus dados de treinamento e os rótulos de categoria para esses dados. O arquivo .csv pode ter qualquer nome de arquivo, estar no mesmo bucket dos arquivos de imagem, estar codificado em UTF-8 e terminar com uma extensão .csv. O arquivo tem uma linha para cada imagem no conjunto que você está enviando, com essas colunas em cada linha:

  1. A que conjunto atribuir o conteúdo da linha. Esse campo é opcional e pode ter um destes valores:

    • TRAIN: use o image para treinar o modelo.
    • VALIDATION: use o image para validar os resultados que o modelo retorna durante o treinamento.
    • TEST: use o image para verificar os resultados do modelo após ele ter sido treinado.

    Se você não especificar um conjunto para a imagem em uma linha, o AutoML Vision automaticamente o colocará em um dos três conjuntos para garantir que exista conteúdo suficiente para treinamento, validação e teste. O AutoML Vision usa 80% dos documentos de conteúdo para treinamento, 10% para validação e 10% para testes. O tamanho máximo de um conjunto de dados de teste é de 50.000 imagens, mesmo que 10% do conjunto de dados total exceda esse máximo.

  2. O conteúdo a ser categorizado. Este campo contém o URI do Google Cloud Storage para a imagem. Os URIs do Google Cloud Storage diferenciam maiúsculas de minúsculas.

  3. Uma lista separada por vírgulas de rótulos que identificam como a imagem é categorizada. Os rótulos precisam começar com uma letra e conter apenas letras, números e sublinhado. É possível incluir até 20 rótulos para cada imagem. Também é possível deixar os rótulos em branco para rotulagem manual por meio da IU ou do serviço de rotulagem humana.

Exemplo:

  • Com rótulo: gs://my-storage-bucket-vcm/flowers/images/img100.jpg,daisy
  • Não classificado: gs://my-storage-bucket-vcm/flowers/images/img403.jpg
  • Vários rótulos: gs://my-storage-bucket-vcm/flowers/images/img384.jpg,dandelion,tulip,rose
  • Atribuído a um conjunto: TEST,gs://my-storage-bucket-vcm/flowers/images/img805.jpg,daisy

Salve o conteúdo como um arquivo CSV no seu intervalo do Google Cloud Storage.

Erros comuns com o CSV

  • Uso de caracteres unicode em rótulos. Por exemplo, caracteres japoneses não são compatíveis.
  • Uso de espaços e caracteres não alfanuméricos em rótulos.
  • Linhas vazias.
  • Colunas vazias (linhas com duas vírgulas sucessivas).
  • Capitalização incorreta dos caminhos da imagem do Cloud Storage.
  • Controle de acesso incorreto configurado para seus arquivos de imagem. Sua conta de serviço precisa ter acesso de leitura ou maior ou os arquivos precisam ser legíveis publicamente.
  • Referências a arquivos sem imagem (como arquivos PDF ou PSD). Da mesma forma, arquivos que não são arquivos de imagem, mas que foram renomeados com uma extensão de imagem, causarão um erro.
  • URI de pontos de imagem para um bucket diferente do projeto atual. Apenas imagens no intervalo do projeto podem ser acessadas.
  • Arquivos não formatados em CSV.