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

Préparer vos images

Conditions générales requises pour les images
Types de fichiers compatibles
  • JPEG
  • PNG
  • GIF
  • BMP
  • ICO
Types d'images

Les modèles AutoML Vision Object Detection sont optimisés pour les photographies d'objets dans le monde réel.

Taille du fichier image d'entraînement (Mo) Taille maximale : 30 Mo
Taille du fichier image de prédiction* (Mo) Taille maximale : 1,5 Mo
Taille de l'image (pixels)

Résolution maximale suggérée : 1 024 pixels par 1 024 pixels

Les images dont la résolution est largement supérieure à 1 024 pixels par 1 024 pixels peuvent perdre en qualité lors du processus de normalisation des images d'AutoML Vision Object Detection.

Conditions requises pour les étiquettes et le cadre de délimitation
Instances d'étiquettes pour l'entraînement

10 annotations (instances) au minimum

Conditions requises pour les annotations

Vous devez au moins disposer de 10 images par étiquette, chacune contenant au minimum une annotation (cadre de délimitation et étiquette).

Cependant, il est recommandé d'utiliser environ 1 000 annotations par étiquette pour l'entraînement de modèle. En général, plus le nombre d'images par étiquette est élevé, plus le modèle est performant.

Ratio d'étiquettes (étiquette la plus courante par rapport à l'étiquette la plus rare) :

Le modèle fonctionne mieux lorsqu'il existe au maximum 100 fois plus d'images pour l'étiquette la plus courante que pour la plus rare.

Pour optimiser les performances du modèle, nous vous recommandons de supprimer les étiquettes les moins fréquentes.

Longueur des bords du cadre de délimitation Au moins 0,01 x longueur d'un côté d'une image. Par exemple, une image de 1 000 x 900 pixels nécessite des cadres de délimitation d'au minimum 10 x 9 pixels.
Taille du cadre de délimitation (pixels) 8 pixels par 8 pixels au minimum
Cadres de délimitation par image 500 au maximum
Cadres de délimitation renvoyés par une requête de prédiction

100 (par défaut), 500 au maximum

Vous pouvez spécifier cette valeur dans le champ params.max_bounding_box_count de la requête predict.

Conditions requises pour les données et l'ensemble de données d'entraînement
Caractéristiques des images d'entraînement

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 d'utilisation implique des images floues en basse résolution (comme celles d'une caméra de sécurité), vos données d'entraînement doivent être composées d'images floues à basse résolution. En général, il est recommandé de fournir également différents angles, résolutions et arrière-plans pour vos images d'entraînement.

Les modèles AutoML Vision Object Detection 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 l'image pendant 1 à 2 secondes, le modèle ne pourra probablement pas être entraîné à le faire non plus.

Images dans chaque ensemble de données 150 000 au maximum
Nombre total de cadres de délimitation annotés dans chaque ensemble de données 1 000 000 au maximum
Nombre d'étiquettes dans chaque ensemble de données 2 au minimum, 1 000 au maximum

Guide des bonnes pratiques

Quels types de données d'image pouvez-vous utiliser ?

  • Formats de fichiers image acceptés : JPEG, PNG, GIF, BMP ou ICO.
  • 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 d'utilisation implique des images en basse résolution issues de l'appareil photo d'un téléphone portable, vos données d'entraînement doivent être composées d'images à basse résolution. En général, il est recommandé de fournir également différents angles, résolutions et arrière-plans pour vos images d'entraînement. Autre exemple : si vous souhaitez détecter des régions dans des images haute résolution, n'entraînez pas le modèle avec des images recadrées.

Quelles sont les conditions minimales requises pour les données ?

  • Les étiquettes que vous utilisez doivent être des chaînes valides (sans virgule). La virgule pose problème pour les importations au format CSV. Voici un moyen de le résoudre : "file_comma,path","label,comma",0,0,,,1,1,,.
  • Dans tous les cas, les cadres de délimitation doivent avoir une résolution supérieure à 8 par 8 pixels. Ceux dont la résolution est inférieure seront filtrés.
  • Les images peuvent avoir une résolution supérieure à 1 024 x 1 024 pixels, mais elles seront automatiquement réduites, entraînant ainsi une perte de la qualité d'image. C'est la raison pour laquelle nous vous recommandons une taille d'image maximale de 1 024 x 1 024 pixels. Les images dont les dimensions sont plus petites ne seront pas mises à l'échelle.
  • Tous les cadres de délimitation doivent se trouver à l'intérieur des images.
  • Les cadres de délimitation doivent présenter autant d'étiquettes que nécessaire : si deux voitures figurent sur une image, elles doivent toutes deux porter une étiquette.

Quelle doit être la taille de l'ensemble de données ?

  • Plus l'ensemble de données est grand, plus il est pertinent. C'est presque toujours le cas. Cette recommandation ne s'applique pas si l'ajout d'autres échantillons entraîne un déséquilibre ou une fuite des données (consultez la section ci-dessous).
  • La quantité de données nécessaire pour entraîner un bon modèle dépend de différents facteurs :
    • Le nombre de classes. Plus vous disposez de classes distinctes, plus vous avez besoin d'échantillons pour chaque classe.
    • La complexité ou la diversité des classes. Le comportement est semblable à celui d'un humain : un humain peut très vite apprendre à faire la distinction entre la bière et le vin, en disposant seulement de quelques échantillons. Cependant, il doit fréquemment goûter plusieurs vins afin de distinguer cinq à six vins rouges différents… Et pour de nombreuses personnes, il est difficile d'apprendre à en distinguer 50. À moins de beaucoup s'entraîner. De même, les réseaux de neurones peuvent rapidement distinguer les éléphants des chats, mais ils doivent disposer de beaucoup plus d'échantillons pour classifier 30 animaux différents.
  • En règle générale, nous vous recommandons d'avoir au moins 100 échantillons d'entraînement par classe si vous avez des classes distinctes et peu nombreuses, et plus de 200 échantillons si vos classes sont plus nuancées ou si vous en avez plus de 50 différentes.

Ensembles de données d'entraînement et d'évaluation

Lorsque vous entraînez des modèles de machine learning, vous divisez généralement l'ensemble de données en trois sous-ensembles :

  1. Un ensemble de données d'entraînement
  2. Un ensemble de données de validation
  3. Un ensemble de données de test

Un ensemble de données d'entraînement est utilisé pour construire un modèle. Le modèle en cours d'entraînement essaie plusieurs hyperparamètres lors de la recherche de schémas dans les données d'entraînement. Au cours du processus d'identification des schémas, AutoML Vision Object Detection teste les hyperparamètres du modèle à l'aide de l'ensemble de données de validation. AutoML Vision Object Detection choisit les algorithmes et les schémas les plus performants 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 précision sont testés à l'aide de l'ensemble de données de test. Les clients doivent disposer d'un ensemble de données de test distinct qu'ils peuvent utiliser pour tester le modèle de manière indépendante. Cet ensemble de données de test est soit spécifié dans l'ensemble d'entraînement de l'utilisateur, soit automatiquement sélectionné au moment de l'entraînement.

Afin d'éviter la présence de 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 lors du processus d'entraînement.

Si vous choisissez manuellement des échantillons d'ensembles de données, vous devez structurer les ensembles de données de manière à représenter la même population. De même, vous devez créer des fractionnements d'ensemble de données présentant des images semblables dont les étiquettes sont réparties de la même façon.

Fractionnement manuel et automatique des ensembles de données

Vous pouvez spécifier manuellement le fractionnement de l'entraînement, de la validation et du test lorsque vous importez des ensembles de données dans un fichier CSV.

Si vous ne le spécifiez pas, AutoML Vision Object Detection fractionne vos données de manière aléatoire. Les fractionnements sont créés de la manière suivante :

  • 80 % des images sont utilisées pour l'entraînement.
  • 10 % des images sont utilisées pour le réglage des hyperparamètres et/ou pour décider à quel moment il convient d'arrêter l'entraînement.
  • 10 % des images sont utilisées pour évaluer le modèle. Ces images ne sont pas exploitées à l'étape d'entraînement.

Problèmes courants

  • Données déséquilibrées : le nombre d'échantillons par classe (étiquette) est souvent inégal. Les déséquilibres mineurs ne créent généralement pas de problèmes, contrairement aux écarts plus importants entre les classes. Un déséquilibre plus important, par exemple si certaines classes apparaissent plus de 10 fois plus souvent que d'autres, devient problématique pour l'élaboration du modèle. Bien qu'il existe des approches pour corriger ces déséquilibres de classe, cette configuration n'est pas idéale pour l'entraînement d'un modèle. Si possible, essayez d'éviter d'entraîner un modèle avec des données très déséquilibrées.

    En règle générale, conservez un rapport inférieur à 2 pour 1 entre les classes les plus courantes et les plus rares.

  • Fractionnement incorrect : lorsque vous fournissez des données, AutoML Vision Object Detection peut automatiquement les scinder en ensembles de données d'entraînement, de validation et de test. Vous pouvez également attribuer vous-même les étiquettes de fractionnement pour l'entraînement.

    Rien ne garantit que vous obteniez le même fractionnement si vous importez plusieurs fois les mêmes données.

    Les données d'entraînement, de validation et de test ne doivent pas présenter de forte corrélation. Par exemple, il arrive souvent que les images provenant de vidéos soient très semblables les unes aux autres. Si vous autorisez le système à fractionner l'ensemble de données de manière aléatoire, il est très probable que vous obteniez des images très semblables dans les données d'entraînement et de validation/test. Les données de test obtenues ont alors une précision élevée qui s'avère incorrecte.

  • Fuite de données : la fuite de données est un problème majeur pouvant biaiser les modèles. Une fuite de données survient lorsque l'algorithme utilise, pendant l'entraînement du modèle, des informations qu'il ne devrait pas utiliser et qui ne seront pas disponibles lors des prédictions futures. Cela peut générer des résultats trop optimistes avec les ensembles de données d'entraînement, de validation et potentiellement de test. Toutefois, ces performances risquent de ne pas être aussi bonnes sur d'autres données futures. Cela se produit souvent de manière involontaire et nécessite une attention particulière lors de la préparation des données.

    Exemples de fuites : positifs et négatifs provenant de différentes sources d'image ou de différents angles.