Étiqueter les objets pour le Deep Learning

Disponible avec une licence Image Analyst.

Disponible avec une licence Spatial Analyst.

Toutes les tâches de Deep Learning supervisées dépendent de jeux de données étiquetés. En d’autres termes, les utilisateurs doivent appliquer leurs connaissances pour entraîner le réseau neuronal sur les éléments sur ce qu’il s’efforce d’identifier. Les objets étiquetés sont utilisés par le réseau neuronal pour entraîner un modèle, lui-même utilisé pour procéder à l’inférence des données.

L’annotation des images, ou étiquetage, est crucial pour les tâches de Deep Learning telles que la vision par ordinateur et l’apprentissage. Un gros volume de données étiquetées est nécessaire pour entraîner correctement un modèle de Deep Learning. Lorsque les données d’entraînement adéquates sont disponibles, les systèmes de Deep Learning peuvent être d’une grande précision lors de l’extraction des entités, de la reconnaissance des modèles et de la résolution de problèmes complexes. La fenêtre Label objects for Deep Learning (Étiqueter les objets pour le Deep Learning) permet d’effectuer un étiquetage rapide et exact des données.

Le bouton Label Objects for Deep Learning (Étiqueter les objets pour le Deep Learning) Étiqueter les objets pour le Deep Learning se trouve dans le menu déroulant Classification Tools (Outils de classification) dans le groupe Image Classification (Classification d’images) dans l’onglet Imagery (Imagerie). La fenêtre est divisée en deux parties. La partie supérieure de la fenêtre sert à gérer les classes et la partie inférieure à gérer la collection des échantillons d’entraînement et exporter les données d’entraînement pour les structures de Deep Learning.

Créer des classes et étiqueter des objets

La partie supérieure de la fenêtre permet de gérer les classes d’objets et de créer manuellement les objets utilisés dans le cadre de l’entraînement du modèle de Deep Learning. De nombreux outils sont disponibles pour vous aider à créer des objets étiquetés.

OutilFonction
New Rectangle

Créer un objet étiqueté en traçant un rectangle autour d’une entité ou d’un objet dans le raster.

New Polygon

Créer un objet étiqueté en traçant un polygone autour d’une entité ou d’un objet dans le raster.

New Circle

Créer un objet étiqueté en traçant un cercle autour d’une entité ou d’un objet dans le raster.

New Lasso Area

Créer un objet étiqueté en traçant une forme à main levée autour d’une entité ou d’un objet dans le raster.

Détection automatique

Détecter et étiqueter automatiquement l’entité ou l’objet. Un polygone sera tracé autour de l’entité ou de l’objet.

Cet outil est disponible uniquement si les bibliothèques de structures de Deep Learning sont installées.

Sélectionner par polygone

Créer une entité en sélectionnant un segment à partir d’une couche segmentée. Cette option est seulement disponible s’il existe une couche segmentée dans la fenêtre Contents (Contenu). Activer Segment Picker (Sélecteur de segment) en mettant en surbrillance la couche segmentée dans la fenêtre Contents (Contenu), puis sélectionner la couche dans la liste déroulante Segment Picker (Sélecteur de segment).

Étiqueter l’image

Attribuer la classe sélectionnée à l’image actuelle.

Cette option est seulement disponible en mode de collection d’images.

Mettre à jour

Sélectionner et mettre à jour un objet étiqueté.

Nouveau modèle

Créer une structure de classification.

Parcourir

Sélectionner une option relative à la structure de classification.

  • Accéder à une structure existante.
  • Générer une structure à partir d’une classe d’entités contenant des échantillons d’entraînement existants.
  • Générer une structure à partir d’un raster classé existant.
  • Utiliser la structure par défaut, 2011 National Land Cover Database.

Enregistrer

Enregistrer les modifications apportées à la structure.

Enregistrer les mises à jour

Enregistrer une copie de la structure.

Addition

Ajouter une catégorie de classe à la structure. Sélectionner le nom de la structure pour créer une classe parent au niveau le plus élevé. Sélectionner le nom d’une classe existante pour créer une sous-classe.

Supprimer les éléments sélectionnés

Supprimer la classe sélectionnée ou la catégorie de sous-classe de la structure.

  1. Cliquez sur l’un des outils de construction tels que Rectangle, Polygon (Polygone), Circle (Cercle) ou Freehand (À main levée) pour commencer à collecter vos échantillons d’objets.
  2. À l’aide d’un outil de construction, délimitez l’entité image représentant l’objet sur la carte.
    1. Si vous créez une entité sans qu’une classe soit spécifiée, la boîte de dialogueDefine Class (Définir une classe) apparaît. Pour en savoir plus sur cette boîte de dialogue, reportez-vous à la section Définir une classe.
  3. Continuez à créer et étiqueter des objets comme indiqué dans les étapes ci-dessus.
  4. Vous pouvez utiliser l’onglet Labeled Objects (Objets étiquetés) (en bas de la fenêtre) pour supprimer et organiser les échantillons d’objets étiquetés.
  5. Lorsque vous êtes satisfait de vos objets étiquetés, enregistrez vos échantillons en cliquant sur le bouton Save (Enregistrer) Enregistrer sous l’onglet Labeled Objects (Objets étiquetés).

Vous avez désormais étiqueté un échantillon représentatif d’objets et pouvez les utiliser pour exporter vos données d’entraînement.

Détection automatique

L’outil Détection automatique Détection automatique est utilisé pour dessiner automatiquement un rectangle autour d’une entité. Cliquez sur l’entité pour qu’une emprise rectangulaire soit tracée. Si vous voulez dessiner la limite surfacique de l’entité, maintenez la touche Maj enfoncée, puis cliquez sur l’entité. Un périmètre sera tracé autour de la forme de l’entité. Pour que l’outil fonctionne correctement, un nombre significatif de pixels de l’entité doit être affiché sur la carte, ce qui nécessite de zoomer sur les entités.

L’outil Détection automatique convient à divers types d’entité. Il n’est pas recommandé si plusieurs entités continues sont très proches les unes des autres.

Définir une classe

La boîte de dialogue Define Class (Définir une classe) permet de créer une classe ou de définir une classe existante. Si vous choisissez Use Existing Class (Utiliser la classe existante), sélectionnez l’option Class Name (Nom de la classe) qui convient pour cet objet. Si vous choisissez Add New Class (Ajouter une nouvelle classe), vous pouvez également mettre à jour les informations et cliquer sur OK pour créer la classe.

Étiqueter les collections d’images

Si vous disposez d’une collection d’images et voulez les étiquetez, vous devez d’abord créer un jeu de données mosaïque ou une couche mosaïque à l’aide de la fonction de mosaïquage de rasters. Ensuite, utilisez le jeu de données mosaïque ou la couche mosaïque pour étiqueter chaque image. L’onglet Image Collection (Collection d’images) affiche la liste déroulante d’images. L’image sélectionnée s’affiche dans la carte. Vous pouvez ensuite étiqueter l’image selon la classe appropriée. Utilisez les boutons fléchés pour sélectionner l’image suivante à afficher et étiqueter.

Lorsque votre image se trouve dans un système de coordonnées d’image, l’image peut être orientée de façon inhabituelle, en particulier lors du traitement d’une imagerie oblique ou en perspective. Pour voir votre image dans l’espace pixel, cochez la case Label in pixel space (Étiquette en espace pixel). Cela affiche l’image dans une orientation plus propice à une interprétation intuitive.

Étiqueter l’intégralité de l’image

Dans les situations où vous ne voulez pas dessiner une limite autour d’un objet, vous pouvez utiliser le bouton Label Image (Étiqueter l’image) Étiqueter l’image pour étiqueter l’image entière selon la classe sélectionnée, quel que soit l’aspect spatial de l’objet.

Objets étiquetés

L’onglet Labeled Objects (Objets étiquetés) se trouve dans la partie inférieure de la fenêtre et gère les échantillons d’entraînement que vous avez collectés pour chaque classe. Collectez des sites représentatifs, ou échantillons d’entraînement, pour chaque classe dans l’image. Un échantillon d’entraînement possède des informations de localisation (polygone) et une classe associée. L’algorithme de classification d’image utilise les échantillons d’entraînement, enregistrés sous forme d’une classe d’entités, pour identifier les classes d’occupation du sol dans l’intégralité de l’image.

Vous pouvez voir et gérer les échantillons d’entraînement en les ajoutant, en les regroupant ou en les supprimant. Lorsque vous sélectionnez un échantillon d’entraînement, il est sélectionné sur la carte. Double-cliquez sur un échantillon d’entraînement dans la table pour zoomer dessus sur la carte.

OutilFonction
Parcourir

Ouvrir une classe d’entités d’échantillons d’entraînement existante.

Enregistrer

Enregistrer les mises à jour apportées à la classe d’entités d’objets étiquetés courants.

Enregistrer les mises à jour

Enregistrer les objets étiquetés courants sous forme d’une nouvelle classe d’entités.

Supprimer les éléments sélectionnés

Supprimer les objets étiquetés sélectionnés.

Exporter des données d’entraînement

Lorsque vous avez terminé de collecter les échantillons, vous pouvez les exporter dans les données d’entraînement en cliquant sur l’onglet Export Training Data (Exporter des données d’entraînement). Les données d’entraînement peuvent ensuite être utilisées dans un modèle de Deep Learning. Lorsque les paramètres ont été renseignés, cliquez sur Run (Exécuter) pour créer les données d’entraînement.

ParamètreDescription

Dossier en sortie

Choisissez le dossier en sortie dans lequel les données d’entraînement sont enregistrées.

Masquer les entités surfaciques

Classe d’entités surfaciques qui délimite la zone de création des fragments d’images.

Seuls les fragments d’images totalement inclus dans les polygones seront créés.

Format de l’image

Spécifie le format raster des fragments d’images en sortie.

  • TIFF. Il s’agit de l’option par défaut.
  • MRF (Meta Raster Format).
  • PNG.
  • JPEG.

Les formats PNG et JPEG prennent en charge jusqu’à trois canaux.

Taille de tuile X

Taille des fragments d’images pour la dimension x.

Taille de tuile Y

Taille des fragments d’images pour la dimension y.

Pas en X

Distance de déplacement sur la direction x lors de la création des fragments d’image suivants.

Si le pas est égal à la taille de tuile, il n’y a pas de superposition. Si le pas est égal à la moitié de la taille de tuile, il y a une superposition de 50 %.

Pas en Y

Distance de déplacement sur la direction y lors de la création des fragments d’image suivants.

Si le pas est égal à la taille de tuile, il n’y a pas de superposition. Si le pas est égal à la moitié de la taille de tuile, il y a une superposition de 50 %.

Angle de rotation

L’angle de rotation est utilisé pour générer des fragments d’image supplémentaires. Un fragment d’image est généré avec un angle de rotation égal à 0, c’est-à-dire qu’aucune rotation n’est appliquée. Il subit ensuite une rotation selon l’angle spécifié pour créer un fragment d’image supplémentaire. Les mêmes échantillons d’entraînement sont capturés selon différents angles dans différents fragments d’image à des fins d’augmentation des données. L’angle de rotation par défaut est égal à 0.

Aucune tuile d’entités en sortie

Spécifie si les fragments d’images qui ne capturent pas d’échantillons d’apprentissage seront exportés.

  • Désactivé : seuls les fragments d’image qui capturent des échantillons d’entraînement sont exportés. Il s’agit de l’option par défaut.
  • Activé : tous les fragments d’image, y compris ceux qui ne capturent pas d’échantillons d’entraînement, sont exportés.

Format des métadonnées

Indique le format utilisé pour les étiquettes de métadonnées en sortie.

Si les données d’échantillons d’apprentissage en entrée sont une couche de classe d’entités, telle qu’une couche d’emprise de bâtiment ou un fichier d’échantillon d’apprentissage de classification standard, utilisez l’option Étiquettes KITTI ou PASCAL Visual Object Classes (KITTI_rectangles ou PASCAL_VOC_rectangles dans Python). Les métadonnées en sortie sont un fichier .txt ou un fichier .xml comportant les données d’échantillons d’apprentissage contenues dans le rectangle d’emprise minimale. Le nom du fichier de métadonnées correspond à celui de l’image source en entrée. Si les données d’échantillons d’apprentissage en entrée sont une carte de classe, utilisez l’option Tuiles classées (Classified_Tiles dans Python) comme format de métadonnées en sortie.

  • Étiquettes KITTI : les métadonnées ont le même format que celui du jeu de données de vérification de la détection d’objets du KITTI (Karlsruhe Institute of Technology and Toyota Technological Institute). Le jeu de données KITTI est une suite de référence en matière de conception. Les fichiers d’étiquettes sont des fichiers de texte brut. Toutes les valeurs, numériques ou de chaînes, sont séparées par des espaces et chaque ligne correspond à un objet.
  • PASCAL Visual Object Classes : les métadonnées ont le même format que le jeu de données PASCAL VOC (Pattern Analysis, Statistical Modeling and Computational Learning, Visual Object Classes). Le jeu de données PASCAL VOC est un jeu de données d’image standardisé pour la reconnaissance des classes d’objets. Les fichiers d’étiquettes sont au format XML et contiennent des informations sur le nom des images, la valeur de classe et les emprises. Il s’agit de l’option par défaut.
  • Tuiles classées : la sortie est un fragment d’image classé par fragment d’image en entrée. Aucun autre type de métadonnées pour chaque fragment d’image n’est utilisé. Seule la sortie statistique comporte plus d’informations sur les classes, telles que les noms des classes, les valeurs des classes et les statistiques en sortie.
  • Masques RCNN : la sortie correspond à des fragments d’image comportant un masque sur les zones dans lesquelles se trouve l’échantillon. Le modèle génère des emprises et des masques de segmentation pour chaque instance d’un objet dans l’image. Il repose sur le réseau pyramidal d’entités (Feature Pyramid Network ou FPN) et une architecture ResNet101 dans le modèle de structure d’apprentissage profond.
  • Tuiles étiquetées : chaque tuile en sortie est étiquetée selon une classe spécifique. Si vous choisissez ce format de métadonnées, vous pouvez affiner davantage les paramètres Blacken Around Feature (Assombrir autour de l’entité) et Crop Mode (Mode de rognage).
  • Tuiles à plusieurs étiquettes : chaque tuile en sortie est étiquetée selon une ou plusieurs classes. Par exemple, une tuile peut porter les étiquettes agriculture et nuageux. Ce format est utilisé pour la classification des objets.
  • Exporter des tuiles : la sortie consiste en des fragments d’image sans étiquette. Ce format est utilisé pour les techniques de conversion d’image, telles que Pix2Pix et Super Resolution (Super Résolution).
  • CycleGAN : la sortie consiste en des fragments d’image sans étiquette. Ce format est utilisé par la technique de conversion d’image CycleGAN visant à entraîner les images à ne pas se chevaucher.
  • Imagenet : chaque tuile en sortie est étiquetée selon une classe spécifique. Ce format est utilisé pour la classification des objets. Toutefois, il peut également être utilisé pour le suivi des objets lorsque le type de modèle Deep Sort est utilisé pendant l’entraînement.

Pour le format de métadonnées KITTI, 15 colonnes sont créées, mais seulement 5 d’entre elles sont utilisées dans l’outil. La première colonne est la valeur de classe. Les 3 colonnes suivantes sont ignorées. Les colonnes 5 à 8 définissent le rectangle d’emprise minimale comportant quatre emplacements de coordonnées d’image : pixels de gauche, en haut, de droite et en bas. Le rectangle d’emprise minimale englobe le fragment d’apprentissage utilisé dans le classificateur d’apprentissage en profondeur. Les autres colonnes ne sont pas utilisées.

Assombrir autour de l’entité

Indique si les pixels autour de chaque objet ou entité de chaque tuile d’images sont masqués.

  • Désactivé : les pixels entourant les objets ou les entités ne sont pas masqués. Il s’agit de l’option par défaut.
  • Activé : les pixels entourant les objets ou les entités sont masqués.

Ce paramètre s’applique uniquement lorsque le paramètre Format de métadonnées est défini sur Tuiles étiquetées et qu’une classe d’entités en entrée ou qu’un raster classé a été spécifié.

Mode de rognage

Spécifie si les tuiles exportées sont rognées de telle sorte qu’elles fassent toutes la même taille.

  • Taille fixe : les tuiles exportées font la même taille et sont centrées sur l’entité. Il s’agit de l’option par défaut.
  • Emprises : les tuiles exportées sont rognées de telle sorte que l’emprise géométrique entoure uniquement l’entité dans la tuile.

Ce paramètre s’applique uniquement lorsque le paramètre Format de métadonnées a pour valeur Tuiles étiquetées ou Imagenet et qu’une classe d’entités en entrée ou qu’un raster classé a été spécifié.

Système de référence

Indique le type de système de référence à utiliser pour interpréter l’image en entrée. Le système de référence spécifié doit correspondre au système de référence utilisé pour entraîner le modèle d’apprentissage profond.

  • Espace cartographique : l’image en entrée se trouve dans un système de coordonnées basé sur une carte. Il s’agit de l’option par défaut.
  • Espace image : l’image en entrée se trouve dans un espace image (lignes et colonnes), sans rotation ni distorsion.

Raster en entrée supplémentaire

Source d’imagerie en entrée supplémentaire pour les méthodes de conversion d’image.

Ce paramètre est valide lorsque le paramètre Metadata Format (Format des métadonnées) est défini sur Classified Tiles (Tuiles classées), Export Tiles (Exporter des tuiles) ou CycleGAN.

Les données d’entraînement exportées peuvent ensuite être utilisées dans un modèle de Deep Learning.

Rubriques connexes