Skip to main content

É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 à identifier ou à détecter les objets qui vous intéressent. 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’étiquetage n’est autre que le processus de sélection d’exemples représentatifs d’un objet qui vous intéresse. Les objets sélectionnés pour étiquetage doivent décrire précisément des caractéristiques spatiales, spectrales, d’orientation, de taille et de condition des objets qui vous intéressent. Plus les objets étiquetés représentent l’entité qui vous intéresse, plus l’entraînement du modèle Deep Learning sera optimal et plus la classification et la détection de l’inférence seront précises.

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. Vous pouvez utiliser la fenêtre Label Objects for Deep Learning (Étiqueter les objets pour le Deep Learning) pour étiqueter les données.

Accéder au bouton Label Objects for Deep Learning (Étiqueter les objets pour le Deep Learning) depuis le menu déroulant Deep Learning Tools (Outils de Deep Learning) dans le groupe Image Classification (Classification d’images) de l’onglet Imagery (Imagerie). Une fois que l’outil est ouvert, choisissez d’utiliser une Existing imagery layer (Couche d’imagerie existante), une New image collection layer (Nouvelle couche de collection d’images) ou une New video layer (Nouvelle couche vidéo). Pour une nouvelle collection d’images, accédez à l’emplacement du dossier d’imagerie et une couche sera créée avec la collection. Pour une nouvelle couche vidéo, spécifiez également l’intervalle d’images ; de la sorte, les images sont extraites et une collection d’images à étiqueter est créée.

Une fois la valeur du paramètre Images/Collection d’images spécifiée, la fenêtre Étiqueter les objets s’affiche. La fenêtre est divisée en deux parties. La partie supérieure de la fenêtre permet de gérer les classes et la partie inférieure, de gérer la collecte des échantillons et d’exporter les données d’entraînement des structures de Deep Learning.

Fenêtre Label Objects (Étiqueter les objets)

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 les objets utilisés dans le cadre de l’entraînement du modèle de Deep Learning. Les outils de construction suivants ainsi que les outils d’IA sont disponibles pour créer des objets étiquetés :

Icône

Outil

Description

Raccourci clavier

New Point (Nouveau point)

Point

Créer un objet étiqueté en traçant un point sur l’entité ou l’objet dans l’image.

X

New Line (Nouvelle ligne)

Ligne

Créer un objet étiqueté en traçant une ligne sur l’entité ou l’objet dans l’image.

L

New Rectangle (Nouveau rectangle)

Rectangle

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

R

New Polygon (Nouveau polygone)

Polygone

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

P

New Circle (Nouveau cercle)

Cercle

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

O

New Lasso Area (Nouvelle zone de lasso)

Dessin à main levée

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

F

Auto detect (Détection automatique)

Détection automatique

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

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

D

Segment using AI (Segmenter à l’aide de l’IA)

Exécuter la détection automatique à l’aide d’une classe d’entités

Permet de détecter automatiquement les entités. La classe d’entités ponctuelles spécifiée permet de segmenter les entités à chaque localisation ponctuelle.

Maj+D

Label Image (Étiqueter l’image)

Étiqueter l’image

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

Cet outil est seulement disponible en mode de collection d’images.

Enter (Entrée)

Edit (Mettre à jour)

Select and Edit (Sélectionner et modifier)

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

V

Select By Polygon (Sélectionner par polygone)

Segment Picker (Sélecteur de segment)

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 le 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).

G

New Template (Nouveau modèle)

Create New Schema (Créer une nouvelle structure)

Créer une structure de classification.

W

Browse (Parcourir)

Browse Schema (Rechercher la structure)

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.

  • Générer une nouvelle structure avec la structure par défaut, 2011 National Land Cover Database.

B

Save (Enregistrer)

Save Schema (Enregistrer la structure)

Enregistrer les modifications apportées à la structure.

G

Save Edits (Enregistrer les mises à jour)

Save as schema (Enregistrer en tant que structure)

Enregistrer une copie de la structure.

Maj+G

Add (Ajouter)

Ajouter une nouvelle classe

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.

C

Delete Selected Item(s) (Supprimer les éléments sélectionnés)

Delete Class (Supprimer la classe)

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

Z

Scatterplot (Nuage de points)

Scatter Plot Matrix (Matrice de nuage de points)

Afficher la matrice de nuages de points des échantillons d’entraînement sélectionnés.

M

Histogram (Histogramme)

Histogramme

Afficher l’histogramme des échantillons d’entraînement sélectionnés.

Q

Objets étiquetés

La partie inférieure du panneau vous permet de gérer les objets étiquetés qui ont été créés.

Icône

Outil

Description

Raccourci clavier

Browse (Parcourir)

Load Training Samples (Charger des échantillons d’entraînement)

Chargez des échantillons d’entraînement à partir d’une table.

Ctrl + L

Save (Enregistrer)

Enregistrer

Enregistrez les étiquettes.

Ctrl + S

Save Edits (Enregistrer les mises à jour)

Enregistrer sous

Enregistrez une copie des étiquettes.

Ctrl+Maj+S

Edit Class Properties (Modifier les propriétés de classe)

Modifier les propriétés de classe

Mettez à jour les propriétés de la classe sélectionnée.

Ctrl + Entrée

Delete Selected Item(s) (Supprimer les éléments sélectionnés)

Suppr

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

Sup

Edit Label (Modifier l’étiquette)

Modifiez l’étiquette sélectionnée.

E

Outils d’étiquetage assistés par l’IA

Il existe trois types d’outils d’IA pour étiqueter les objets : Auto Detect (Détection automatique), Text Prompt (Instruction textuelle) et Segment using AI (Segmenter à l’aide de l’IA).

Outil de détection automatique

L’outil Détection automatique trace automatiquement un rectangle autour d’une entité. Cliquez sur l’entité ; une emprise rectangle contenant l’entité est tracée. Si vous souhaitez une limite surfacique de l’entité, appuyez sur la touche Maj tout en cliquant sur l’entité et un périmètre est 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 Auto Detect (Détection automatique) fonctionne bien sur des entités distinctes caractérisées par des formes distinctes, des contours nets et un contraste élevé. Il n’est pas recommandé pour les entités continues très proches les unes des autres.

Remarque :

Les structures des modèles de Deep Learning pour ArcGIS doivent être installées pour utiliser cette fonctionnalité.

Vous trouverez ci-après une liste des raccourcis clavier disponibles avec Auto Detect (Détection automatique)

Raccourci clavier

Opération

Description

Maj+M

Activer le traitement à clics multiples

Autorisez les clics multiples sur des entités adjacentes pour créer une entité unique.

Tout en appuyant sur les touches Maj+Z, cliquez sur la première entité.

Maj+S

Arrêter le traitement à clics multiples

Désactivez la fusion des entités adjacentes.

Tout en appuyant sur les touches Maj+S, cliquez sur la dernière entité.

D

Undo last feature (Annuler la dernière fonctionnalité)

Annulez la dernière entité adjacente.

Tout en appuyant sur la touche D, cliquez sur la dernière entité adjacente.

F

Terminer l’entité

L’entité est terminée.

Tout en appuyant sur la touche F, cliquez sur le dernier segment de l’entité à ajouter.

A

Ajouter une entité

Ajoutez l’entité créée à l’entité adjacente.

Tout en appuyant sur la touche A, cliquez sur l’entité à ajouter.

Cela est utile si le mode clics multiples n’est pas activé.

L

Supprimer l’entité

Supprimez l’entité créée de l’entité adjacente.

Tout en appuyant sur la touche L, cliquez sur l’entité à supprimer.

K + A

Créer une isoligne autour d’une entité

Créez un polygone en isoligne autour de l’entité sous-jacente.

Tout en appuyant sur les touches K + A, cliquez sur l’entité. La géométrie autour de l’entité est créée à la place d’une emprise.

K + L

Supprimer une isoligne autour d’une entité

Supprimez une isoligne autour d’une entité.

Tout en appuyant sur les touches Maj+L, cliquez sur l’entité en isoligne pour supprimer l’isoligne.

K + D

Undo last contour (Annuler le dernier contour)

Annulez la dernière isoligne adjacente.

En appuyant sur les touches K + D, cliquez sur la dernière isoligne adjacente.

Outil d’invite de texte

Avec l’outil Invite de texte, utilisez l’entité de détection pour contribuer à l’étiquetage. Saisissez le nom d’un ou deux objets dans la zone de texte Class Name (Nom de classe) et cliquez sur le bouton Detect (Détecter). Il est recommandé d’utiliser une GPU haut de gamme avec une mémoire RAM minimale de 12 Go pour cette entité. Pour exécuter automatiquement l’entité d’invite de texte sur une collection d’images, utilisez le raccourci Maj+O.

Pour améliorer les résultats, définissez les valeurs Seuil de la zone et Seuil de texte dans les options Configurer :

  • Seuil de la zone : cette valeur est utilisée pour la détection d’objets dans l’image. Une valeur supérieure rend le modèle encore plus sélectif, n’identifiant que les instances d’objet les plus fiables, entraînant moins de détections globales. Une valeur inférieure rend le modèle plus tolérant, entraînant davantage de détections, notamment des détections potentiellement moins fiables. Les valeurs du seuil sont comprises entre 0 et 1.

  • Seuil de texte : cette valeur est utilisée pour associer les objets détectés à l’invite de texte fournie. Une valeur plus élevée exige une association plus forte entre l’objet et l’invite de texte, entraînant des associations plus précises, mais potentiellement moindres. Une valeur plus basse permet des associations plus faibles, ce qui peut accroître le nombre d’associations, mais également présenter des correspondances à la précision moindre. Les valeurs du seuil sont comprises entre 0 et 1.

  • Remove Anomalies (Supprimer les anomalies) : cette option supprime toutes les entités qui ne sont pas dans la plage médiane en termes de distribution de surface de forme. La valeur par défaut est False.

Remarque :

Les structures des modèles de Deep Learning pour ArcGIS doivent être installées pour utiliser cette fonctionnalité.

Exécuter la détection automatique à l’aide d’une classe d’entités

L’outil Auto-detect using feature class (Exécuter la détection automatique à l’aide d’une classe d’entités) Segment using AI (Segmenter à l’aide de l’IA) permet de détecter automatiquement les entités, si vous disposez d’une classe d’entités ponctuelles de ces entités. Chaque point de la classe d’entités ponctuelles en entrée marque l’entité à segmenter.

Boîte de dialogue 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 mettre à jour les informations et cliquer sur OK pour créer la classe.

Onglet Objets étiquetés

L’onglet Labeled Objects (Objets étiquetés) se trouve dans la partie inférieure de la fenêtre Label Objects (Objets étiquetés) et permet de gérer 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 cliquez sur 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.

Les outils de l’onglet Objets étiquetés sont décrits dans le tableau suivant :

Outil

Description

Browse (Parcourir)

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

Save (Enregistrer)

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

Save Edits (Enregistrer les mises à jour)

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

Delete Selected Item(s) (Supprimer les éléments sélectionnés)

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

Onglet Export Training Data (Exporter les 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 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. Une fois les valeurs de paramètre décrites ci-dessous établies, cliquez sur Exécuter pour créer les données d’entraînement.

Le paramètre

Description

Output Folder (Dossier en sortie)

Dossier en sortie où les données d’entraînement seront enregistrées.

Mask Polygon Features (Masquer les entités surfaciques)

Classe d’entités surfaciques qui délimite la zone dans laquelle les fragments d’image sont créés.

Seuls les fragments d’image se trouvant intégralement dans les polygones sont créés.

Image Format (Format de l’image)

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

  • TIFF : format par défaut.

  • MRF (Meta Raster Format)

  • PNG

  • JPEG

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

Tile Size X (Taille de tuile X)

Taille des fragments d’image pour la dimension x.

Tile Size Y (Taille de tuile Y)

Taille des fragments d’image pour la dimension y.

Stride X (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 %.

Stride Y (Pas en X)

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 %.

Rotation Angle (Angle de rotation)

Angle de rotation pour générer les fragments d’image.

Un fragment d’image est généré au préalable sans rotation. Il subit ensuite une rotation selon l’angle spécifié pour créer des fragments d’image supplémentaires. L’image est pivotée et un fragment est créé jusqu’à ce que la rotation soit complète. Par exemple, si vous spécifiez un angle de rotation de 45 degrés, l’outil crée huit fragments d’image. Ces huit fragments d’image sont créés aux angles suivants : 0, 45, 90, 135, 180, 255, 270 et 315.

Output No Feature Tiles (Aucune tuile d’entités en sortie)

Indique si les fragments d’image qui ne capturent pas d’échantillon d’apprentissage sont 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.

Collecter des fragments d’image qui ne contiennent pas d’échantillons d’entraînement permet d’aider le modèle à identifier les objets qui ne doivent pas être considérés comme faisant partie des résultats. C’est le cas des objets de type faux positifs par exemple. Cela permet de réduire le sur-ajustement.

Meta Data Format (Format des métadonnées)

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

Si les données d’échantillon d’apprentissage en entrée constituent une couche de classe d’entités, telle qu’une couche de bâtiments ou un fichier d’échantillons d’apprentissage de classification standard, utilisez l’option KITTI Labels (É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 .xml comportant les données d’échantillon d’apprentissage qui se trouvent 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’échantillon d’apprentissage en entrée constituent une carte de classe, utilisez l’option Classified Tiles (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 de l’image, 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 si 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 seules cinq d’entre elles sont utilisées dans l’outil. La première colonne contient la valeur de la classe. Les trois 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, supérieur, de droite et inférieur. Le rectangle d’emprise minimale englobe le fragment d’apprentissage utilisé dans le classificateur de Deep Learning. Les autres colonnes ne sont pas utilisées.

Blacken Around Feature (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 si le paramètre Metadata Format (Format des métadonnées) est défini sur Labeled Tiles (Tuiles étiquetées) et qu’une classe d’entités ou un raster classé en entrée a été spécifié.

Crop Mode (Mode de rognage)

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

  • Fixed size (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 si le paramètre Metadata Format (Format des métadonnées) est défini sur Labeled Tiles (Tuiles étiquetées) ou Imagenet et qu’une classe d’entités ou un raster classé en entrée a été spécifié.

Reference System (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.

Additional Input Raster (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 si le paramètre Meta Data 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.