Como preparar dados de treinamento

Nesta página, descrevemos como preparar os dados de treinamento e teste para que a classificação do AutoML Video Intelligence crie um modelo de anotação de vídeo.

Como preparar os vídeos

  • A classificação do AutoML Video Intelligence aceita os formatos de vídeo mostrados abaixo para treinar seu modelo ou solicitar uma predição (anotação de um vídeo). O tamanho máximo do arquivo é de 50 GB (até 3 horas de duração). Arquivos de vídeo individuais com registros de data e hora inválidos ou vazios no contêiner não são aceitos.

    • .MOV
    • .MPEG4
    • .MP4
    • .AVI
  • 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 incluir vídeos desfocados e de baixa resolução (como de uma câmera de segurança), seus dados de treinamento precisarão ser compostos por vídeos desfocados e de baixa resolução. Em geral, pense também em fornecer vários ângulos, resoluções e planos de fundo nos vídeos de treinamento.

  • Geralmente, os modelos do AutoML Video não preveem rótulos que pessoas não possam atribuir. Portanto, se uma pessoa não puder ser treinada para atribuir rótulos olhando o vídeo por 1 ou 2 segundos, o modelo provavelmente não poderá ser treinado para fazer isso também.

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

  • O modelo funciona melhor quando há no máximo 100 vezes mais vídeos 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 videos que não correspondam a nenhum dos rótulos definidos. Por exemplo, em um conjunto de dados de animais, inclua vídeos de animais fora de suas variedades rotuladas e identifique-os como None_of_the_above. Isso melhora a precisão do modelo. Qualquer nome de rótulo funcionará, mas None_of_the_above recebe um tratamento especial do sistema.

Conjuntos de dados de treinamento, validação e teste

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.

  • O conjunto de dados de treinamento é usado para criar um modelo, Ao pesquisar por padrões nos dados de treinamento, vários algoritmos e parâmetros são tentados.
  • Os padrões são identificados, e o conjunto de dados de validação é usado 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.

Para identificar seus dados de treinamento, teste e validação, use arquivos CSV conforme descrito na próxima seção.

Criar arquivos CSV com URIs e rótulos de vídeo

Depois que seus arquivos forem enviados ao Google Cloud Storage, você poderá criar arquivos CSV que listem todos os seus dados de treinamento e os rótulos de categoria para esses dados. Os arquivos CSV podem ter qualquer nome de arquivo, precisam estar no mesmo bucket que seus arquivos de vídeo, precisam ser codificados em UTF-8 e terminar com uma extensão .csv.

Há três arquivos que podem ser usados para treinar e verificar seu modelo:

File Descrição
Lista de arquivos de treinamento de modelo

Contém caminhos para os arquivos CSV de treinamento, teste e validação.

Este arquivo é usado para identificar os locais de até três arquivos CSV separados que descrevem seus dados de treinamento e teste.

Aqui estão alguns exemplos do conteúdo do arquivo CSV da lista de arquivos:

Exemplo 1:


      TRAIN,gs://automl-video-demo-data/hmdb_split1_5classes_train.csv
      TEST,gs://automl-video-demo-data/hmdb_split1_5classes_test.csv
      

Exemplo 2:


      UNASSIGNED,gs://automl-video-demo-data/hmdb_split1_5classes_all.csv
      
Dados de treinamento

Usado para treinar o modelo. Contém caminhos para arquivos de vídeo, horários de início e término de segmentos de vídeo e rótulos que identificam o assunto do segmento de vídeo.

Se você especificar um arquivo CSV de dados de treinamento, especifique também um arquivo CSV de dados de teste.

Dados de teste

Usado para testar o modelo durante a fase de treinamento. Contém caminhos para arquivos de vídeo, horários de início e término de segmentos de vídeo e rótulos que identificam o assunto do segmento de vídeo.

Se você especificar um arquivo CSV de dados de teste, especifique também um arquivo CSV de dados de treinamento.

Dados não atribuídos

Usado para treinar e testar o modelo. Contém caminhos para arquivos de vídeo, horários de início e término de segmentos de vídeo e rótulos que identificam o assunto do segmento de vídeo. As linhas no arquivo não atribuído são automaticamente divididas em dados de treinamento e de teste. 80% para treinamento e 20% para testes.

Você pode especificar apenas um arquivo CSV de dados não atribuído sem treinar e testar arquivos CSV de dados. Também é possível especificar apenas os arquivos CSV de dados de treinamento e teste sem um arquivo CSV de dados não atribuído.

Os arquivos de treinamento, teste e não atribuídos têm uma linha para cada vídeo no conjunto enviado por upload, com estas colunas em cada linha:

  1. O conteúdo a ser categorizado ou anotado. Esse campo contém o URI do Google Cloud Storage para o vídeo. Esses URIs diferenciam maiúsculas de minúsculas.

  2. Um rótulo que identifica como o vídeo é categorizado. . Os rótulos precisam começar com uma letra e conter apenas letras, números e sublinhado. É possível especificar vários rótulos para um vídeo adicionando muitas linhas no arquivo CSV que identificam o mesmo trecho de vídeo, com um rótulo diferente para cada linha.

  3. Horário de início e de término do segmento de vídeo. Esses dois campos separados por vírgula identificam o horário de início e de término do trecho de vídeo para análise, em segundos. O horário de início precisa ser menor que o de término. Os dois valores não podem ser negativos e precisam estar dentro do período do vídeo. Por exemplo, 0.09845,1.3600555. Para usar o conteúdo inteiro do vídeo, especifique o horário de início como 0 e o horário de término como a duração total do vídeo ou "inf". Por exemplo, 0,inf.

Veja a seguir algumas linhas de exemplo para os arquivos CSV de dados:

Rótulo único:

gs://<your-video-path>/vehicle.mp4,u-turn,0,5.4

Vários rótulos no mesmo segmento de vídeo:

gs://<your-video-path>/vehicle.mp4,right-turn,0,8.285
gs://<your-video-path>/vehicle.mp4,left-turn,0,8.285
gs://<your-video-path>/vehicle.mp4,u-turn,0,8.285

Usando inf para indicar o final de um vídeo:

gs://<your-video-path>/vehicle.mp4,right-turn,0,inf

Para ter melhores resultados, inclua pelo menos várias centenas de segmentos de vídeo de treinamento por rótulo para criar um modelo preciso. Esse número pode variar dependendo da complexidade dos seus dados.

Também é possível fornecer vídeos no arquivo de dados CSV sem especificar rótulos. Em seguida, use a interface de usuário do AutoML Video para aplicar rótulos aos seus dados antes de treinar o modelo. Para fazer isso, basta fornecer o URI do Cloud Storage para o vídeo seguido por três vírgulas, conforme mostrado no exemplo a seguir.

gs://<your-video-path>/vehicle.mp4,,,

Não é necessário especificar os dados de validação para verificar os resultados do seu modelo de treinamento. A classificação do AutoML Video divide automaticamente as linhas identificadas para treinamento em dados de treinamento e validação. 70% para treinamento e 30% para validação.

Salve o conteúdo como um arquivo CSV no seu bucket 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).
  • Uso incorreto de maiúsculas e minúsculas dos caminhos de vídeo do Cloud Storage.
  • Controle de acesso incorreto configurado para os arquivos de vídeo. 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 vídeo (como arquivos PDF ou PSD). Da mesma forma, arquivos que não são de vídeo, mas que forem renomeados com uma extensão de vídeo, causarão um erro.
  • URI de pontos de vídeo para um bucket diferente do projeto atual. Somente vídeos no bucket do projeto podem ser acessados.
  • Arquivos não formatados em CSV.