Préparer les données d'entraînement

Cette page explique comment préparer vos données d'entraînement et de test afin que la classification AutoML Video Intelligence puisse créer un modèle d'annotation vidéo.

Préparer des vidéos

  • La classification AutoML Video Intelligence accepte les formats vidéo suivants (indiqués ci-dessous) pour l'entraînement de votre modèle ou une requête de prédiction (annotation d'une vidéo). La taille maximale du fichier est de 50 Go (durée maximale de 3 heures). Tous les fichiers vidéo dont les horodatages sont incorrects ou vides dans le conteneur ne sont pas acceptés.

    • .MOV
    • .MPEG4
    • .MP4
    • .AVI
  • Les données d'entraînement doivent être aussi proches que possible des données sur lesquelles les prédictions sont fondées. Par exemple, si votre cas pratique implique des vidéos floues en basse résolution (comme celles d'une caméra de sécurité), vos données d'entraînement doivent être composées de vidéos floues à basse résolution. En général, il est également recommandé de fournir différents types d'angles, de résolutions et d'arrière-plans pour les vidéos d'entraînement.

  • Les modèles AutoML Video ne sont généralement pas capables de prédire les étiquettes qu'un humain ne serait pas en mesure d'attribuer. Ainsi, si un humain ne peut pas apprendre à attribuer des étiquettes en regardant la vidéo pendant 1 à 2 secondes, le modèle ne pourra probablement pas être entraîné à le faire non plus.

  • Nous recommandons environ 1000 vidéos ou séquences vidéo par étiquette. Le nombre minimum par étiquette est de 10. En général, l'entraînement de modèles avec plusieurs étiquettes par vidéo nécessite davantage d'exemples par étiquette, et les résultats sont plus difficiles à interpréter.

  • Le modèle fonctionne mieux lorsqu'il existe au maximum 100 fois plus de vidéos pour l'étiquette la plus courante que pour celle la moins courante. Nous recommandons de supprimer les libellés les moins fréquents.

  • Vous pouvez inclure une étiquette None_of_the_above et des vidéos qui ne correspondent à aucune des étiquettes définies. Par exemple, pour un ensemble de données sur les animaux, incluez des vidéos d'animaux ne faisant pas partie des variétés étiquetées, et ajoutez-leur l'étiquette None_of_the_above. Cela peut améliorer la précision du modèle. Notez que, même si n'importe quel nom d'étiquette peut fonctionner, l'étiquette None_of_the_above est traitée de manière spécifique par le système.

Ensembles de données d'entraînement, de validation et de test

Lors de l'entraînement d'un modèle, les données d'un ensemble de données sont divisées en trois ensembles : un ensemble de données d'entraînement, un ensemble de données de validation et un ensemble de données de test.

  • Un ensemble de données d'entraînement est utilisé pour construire un modèle. Lorsque vous recherchez des schémas dans les données d'entraînement, plusieurs algorithmes et paramètres sont tentés.
  • Lorsque des schémas sont identifiés, l'ensemble de données de validation est utilisé pour tester les algorithmes et les schémas. Les algorithmes et les schémas les plus performants sont choisis parmi ceux identifiés lors de la phase d’entraînement.
  • Une fois que les algorithmes et les schémas les plus performants ont été identifiés, leur taux d'erreur, leur qualité et leur justesse sont testés à l'aide de l'ensemble de données de test.

Afin d'éviter les biais dans le modèle, un ensemble de données de validation ainsi qu'un ensemble de données de test sont utilisés. Au cours de la phase de validation, des paramètres de modèle optimaux sont utilisés, ce qui peut produire des statistiques biaisées. L'utilisation de l'ensemble de données de test pour évaluer la qualité du modèle après l'étape de validation permet d'obtenir une évaluation non biaisée de la qualité du modèle.

Pour identifier les données d'entraînement, de test et de validation, utilisez les fichiers CSV comme décrit dans la section suivante.

Créer des fichiers CSV avec des URI et des libellés de vidéos

Une fois vos fichiers importés dans Google Cloud Storage, vous pouvez créer des fichiers CSV répertoriant toutes les données d'entraînement ainsi que les étiquettes de catégorie correspondant à ces données. Les fichiers CSV peuvent avoir n'importe quel nom de fichier, mais doivent se trouver dans le même bucket que vos fichiers vidéo, être encodés en UTF-8 et se terminer par une extension .csv.

Vous pouvez utiliser trois fichiers pour entraîner et vérifier votre modèle :

Fichier Description
Liste des fichiers d'entraînement du modèle

Contient les chemins d'accès aux fichiers CSV d'entraînement, de test et de validation.

Ce fichier est utilisé pour identifier les emplacements de trois fichiers CSV distincts au maximum, décrivant les données d'entraînement et de test.

Voici quelques exemples du contenu du fichier CSV de la liste de fichiers :

Exemple 1 :


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

Exemple 2 :


      UNASSIGNED,gs://automl-video-demo-data/hmdb_split1_5classes_all.csv
      
Données d'entraînement

Utilisé pour entraîner le modèle. Contient les chemins d'accès aux fichiers vidéo, les heures de début et de fin des séquences vidéo et les libellés identifiant le sujet de la séquence vidéo.

Si vous spécifiez un fichier CSV de données d'entraînement, vous devez également spécifier un fichier CSV de données de test.

Données de test

Utilisé pour tester le modèle pendant la phase d'entraînement. Contient les chemins d'accès aux fichiers vidéo, les heures de début et de fin des séquences vidéo et les libellés identifiant le sujet de la séquence vidéo.

Si vous spécifiez un fichier CSV de données de test, vous devez également spécifier un fichier CSV de données d'entraînement.

Données non attribuées

Utilisé à la fois pour entraîner et pour tester le modèle. Contient les chemins d'accès aux fichiers vidéo, les heures de début et de fin des séquences vidéo et les libellés identifiant le sujet de la séquence vidéo. Les lignes du fichier de données non attribuées sont automatiquement divisées en données d'entraînement et de test. 80 % sont réservées à l'entraînement et 20 % au test.

Vous pouvez uniquement spécifier un fichier CSV de données non attribuées sans fichiers CSV de données d'entraînement ou de test. Vous pouvez également spécifier uniquement les fichiers CSV d'entraînement et de test sans fichier CSV de données non attribuées.

Les fichiers d'entraînement, de test et de données non attribuées comportent une ligne pour chaque vidéo de l'ensemble que vous importez, avec les colonnes suivantes :

  1. Le contenu à classifier ou annoter. Ce champ contient l'URI Google Cloud Storage pour la vidéo. Les URI Google Cloud Storage sont sensibles à la casse.

  2. Une étiquette qui identifie le mode de classification de la vidéo. . Les étiquettes doivent commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement. Vous pouvez spécifier plusieurs étiquettes pour une vidéo en ajoutant plusieurs lignes dans le fichier CSV, chacune identifiant la même séquence vidéo, avec une étiquette différente pour chaque ligne.

  3. Heure de début et de fin de la séquence vidéo. Ces deux champs, séparés par une virgule, identifient les heures de début et de fin de la séquence vidéo à analyser, en secondes. L'heure de début doit être inférieure à l'heure de fin. Les deux valeurs doivent être positives et comprises dans la plage de temps de la vidéo. Par exemple, 0.09845,1.3600555. Pour utiliser l'intégralité du contenu de la vidéo, spécifiez une heure de début de 0 et une heure de fin égale à la durée totale de la vidéo ou "inf". Exemple : 0,inf.

Voici quelques exemples de lignes pour les fichiers de données CSV :

Libellé unique :

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

Plusieurs libellés sur la même séquence vidéo :

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

Utilisation de inf pour indiquer la fin d'une vidéo :

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

Pour optimiser les résultats, nous vous recommandons d'inclure au moins plusieurs centaines de séquences vidéo d'entraînement par étiquette afin de créer un modèle précis. Ce nombre peut varier en fonction de la complexité des données.

Vous pouvez également fournir des vidéos dans le fichier de données CSV sans spécifier d'étiquette. Vous devez ensuite utiliser l'interface utilisateur d'AutoML Video pour appliquer des étiquettes à vos données avant d'entraîner votre modèle. Pour ce faire, vous devez uniquement fournir l'URI Cloud Storage de la vidéo, suivi de trois virgules, comme indiqué dans l'exemple suivant.

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

Il n'est pas nécessaire de spécifier des données de validation pour valider les résultats du modèle entraîné. AutoML Video divise automatiquement les lignes identifiées pour l'entraînement en données d'entraînement et de validation. 70 % sont réservées à l'entraînement et 30 % à la validation.

Enregistrez le contenu sous forme de fichier CSV dans votre bucket Google Cloud Storage.

Erreurs courantes relatives aux fichiers CSV

  • Utilisation de caractères Unicode dans les étiquettes. Par exemple, les caractères japonais ne sont pas acceptés.
  • Utilisation d'espaces et de caractères non alphanumériques dans les étiquettes.
  • Lignes vides.
  • Colonnes vides (lignes avec deux virgules successives).
  • Mise en majuscule incorrecte des chemins des vidéos dans Cloud Storage.
  • Contrôle d'accès incorrect configuré pour les fichiers vidéo. Votre compte de service doit avoir un accès en lecture ou plus étendu, ou les fichiers doivent être accessibles publiquement.
  • Références à des fichiers non vidéo (tels que des fichiers PDF ou PSD). De même, les fichiers qui ne sont pas des fichiers vidéo, mais qui ont été renommés avec une extension vidéo provoquent une erreur.
  • L'URI de la vidéo pointe vers un bucket différent de celui du projet actuel. Seules les vidéos du bucket de projet sont accessibles.
  • Fichiers non CSV