Mettre en forme un fichier CSV de données d'entraînement

Après avoir préparé des données d'entraînement suffisamment représentatives et importé ces images dans Google Cloud Storage, vous êtes prêt à créer un fichier CSV avec des cadres de délimitation et des libellés pour importer des images dans un ensemble de données.

Cette page décrit comment mettre en forme le fichier CSV.

Consignes pour la mise en forme du fichier CSV

Pour utiliser la méthode importData, le fichier CSV et les images qu'il désigne doivent tous se trouver dans un bucket Google Cloud Storage.

En outre, le fichier CSV doit également répondre aux exigences suivantes :

  • Le fichier peut avoir n'importe quel nom de fichier, mais doit se trouver dans le même bucket que votre fichier image.
  • Le fichier doit être encodé au format UTF-8.
  • Le fichier doit se terminer par une extension .csv.
  • Le fichier comporte une ligne pour chaque cadre de délimitation de l'ensemble que vous importez ou une ligne pour chaque image sans cadre de délimitation (comme la ligne 4 ci-dessous).
  • Le fichier contient une image par ligne ; une image comportant plusieurs cadres de délimitation sera répétée sur autant de lignes qu'il y a de cadres de délimitation.

    Par exemple, les lignes 1 et 2 font référence à la même image qui comporte deux annotations (car,0.1,0.1,,,0.3,0.3,, et bike,.7,.6,,,.8,.9,,). La ligne 3 fait référence à une image ne comportant qu'une seule annotation (car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3), tandis que la ligne 4 fait référence à une image sans annotations.

Quatre exemples de lignes :

 TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
 TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
 UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
 TEST,gs://folder/im3.png,,,,,,,,,

Chaque ligne comporte les colonnes suivantes :

  1. L'ensemble auquel assigner le contenu de cette ligne. Ce champ est obligatoire et peut contenir l'une des valeurs suivantes :

    • TRAIN : l'image est utilisée pour entraîner le modèle. Cet ensemble doit être le plus grand, car ces images seront utilisées pour créer votre modèle.
    • VALIDATION : l'image est utilisée pour valider les résultats renvoyés par le modèle pendant l'entraînement (également appelés "ensembles de données de développement"). Ces images seront utilisées par la détection d'objets AutoML Vision pour déterminer quand arrêter le processus d'entraînement des modèles.
    • TEST : l'image est utilisée pour quantifier les résultats du modèle après l'entraînement du modèle (également appelés "données exclues"). Ces images sont utilisées pour l'évaluation après la création d'un modèle à l'aide des deux ensembles précédents.
    • UNASSIGNED : ces images sont attribuées à l'un des trois ensembles ci-dessus par la détection d'objets AutoML Vision. Utilisez ce tag d'ensemble si vous n'avez aucune préférence concernant l'ensemble où les images sont placées.
  2. Le contenu à annoter. Ce champ contient l'URI Google Cloud Storage pour l'image. Les URI Google Cloud Storage sont sensibles à la casse.

  3. Un libellé qui identifie le mode de classification de l'objet. Les libellés doivent commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement. AutoML Vision Object Detection vous permet également d'utiliser des libellés comportant des espaces blancs.

    Après l'importation de l'image d'entraînement, vous pouvez également ajouter manuellement un libellé dans l'interface utilisateur ou utiliser le service Ajout manuel de libellés de Google pour ajouter des libellés aux images d'entraînement.

  4. Un cadre de délimitation pour un objet dans l'image. Le cadre de délimitation d'un objet peut être spécifié de deux manières :

    • soit avec seulement deux sommets (composés d'un ensemble de coordonnées x et y) s'ils correspondent à des points diagonalement opposés du rectangle (x_relative_min, y_relative_min, x_relative_max, y_relative_max) ;
    • ou avec les quatre sommets (x_relative_min,y_relative_min,x_relative_max,y_relative_min,x_relative_max,y_relative_max,x_relative_min,y_relative_max).

    Chaque vertex est spécifié par les valeurs des coordonnées x et y. Ces coordonnées doivent être des valeurs flottantes comprises entre 0 et 1, où 0 représente la valeur minimale de x ou de y et où 1 représente leur valeur maximale.

    Par exemple, si (0,0) correspond à l'angle supérieur gauche et (1,1) à l'angle inférieur droit, les coordonnées du cadre de sélection englobant l'image entière peuvent être les suivantes : (0,0,,,1,1,,) ou (0,0,1,0,1,1,0,1).

    L'API AutoML Vision ne nécessite pas de classement spécifique des sommets. En outre, si quatre sommets spécifiés ne forment pas un rectangle parallèle aux bords de l'image, l'API AutoML Vision calcule et utilise les sommets qui forment un tel rectangle.

Exemple :

  • Non attribué à un ensemble : UNASSIGNED,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,
  • Attribué à un ensemble : TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,

    Les lignes ci-dessus utilisent le format suivant, car l'API suppose que deux points correspondent exactement aux sommets diagonalement opposés d'un rectangle (sommet supérieur gauche, sommet inférieur droit) :

    set,path,label,x_min,y_min,,,x_max,y_max,,

    Le format suivant est également valide, car il indique les mêmes informations :

    set,path,label,x_min,y_min,x_max,y_min,x_max,y_max,x_min,y_max

    Cela signifie que la ligne "Attribué à un ensemble" ci-dessus peut également être exprimée en indiquant les quatre sommets :

    TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,0.97,0.25,0.97,0.50,0.56,0.50

options de coordonnées de l'image

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 libellés. Par exemple, les caractères japonais ne sont pas compatibles.
  • Utilisation de caractères non alphanumériques dans les libellés.
  • Lignes vides.
  • Mise en majuscule incorrecte des chemins d'accès aux images de Cloud Storage.
  • Contrôle d'accès configuré de manière incorrecte pour vos fichiers image. Votre compte de service AutoML qui a été créé lorsque vous avez activé l'API doit avoir un accès en lecture, ou un accès plus étendu.
  • Références à des fichiers autres que des fichiers image (fichiers PDF ou PSD, par exemple). De même, les fichiers qui ne sont pas des fichiers image (JPEG, PNG, GIF, BMP ou ICO), mais qui ont été renommés avec une extension d'image, généreront une erreur.
  • Fichiers non CSV