Disponible avec une licence Spatial Analyst.
Disponible avec une licence Image Analyst.
Résumé
Convertit des données vectorielles ou raster étiquetées en jeux de données d’entraînement pour l’apprentissage profond via une image télédétectée. La sortie est un dossier de fragments d’images et un dossier de fichiers de métadonnées au format spécifié.
Utilisation
Cet outil crée des jeux de données d’apprentissage en vue de prendre en charge les applications d’apprentissage profond tierces, telles que Google TensorFlow, Keras, PyTorch et Microsoft CNTK.
Les échantillons d’entraînement de cours d’apprentissage profond reposent sur de petites images secondaires contenant l’entité ou la classe présentant un intérêt, nommée fragments d’image.
Utilisez vos données d’échantillon d’apprentissage de classification existantes, ou vos données de classes d’entités SIG telles qu’une couche d’emprise de bâtiment, pour gérer les fragments d’image contenant l’échantillon de classe de l’image source. Les fragments d’image sont souvent composés de lignes de 256 pixels et de colonnes de 256 pixels, sauf si la taille de l’échantillon d’entraînement est plus importante. Chaque fragment d’image peut contenir un ou plusieurs objets. Si le format de métadonnées Labeled Tiles (Tuiles étiquetées) est employé, il ne peut exister qu’un seul objet par fragment d’image.
Vous pouvez indiquer le paramètre Reference System (Système de référence) pour exporter les données d’entraînement dans l’espace cartographique ou l’espace pixel (espace image brut) à utiliser pour l’entraînement du modèle d’apprentissage profond.
Cet outil prend en charge l’exportation des données d’entraînement à partir d’une collection d’images. Vous pouvez ajouter un dossier d’images dans Input Raster (Raster en entrée). Si l’option Input Raster (Raster en entrée) est un jeu de données mosaïque ou un service d’imagerie, vous pouvez également préciser que le paramètre Processing Mode (Mode de traitement) traite la mosaïque en tant qu’entrée ou chaque élément du raster séparément.
La taille de cellule et l’étendue peuvent être ajustées à l’aide des paramètres d’environnement de géotraitement.
Pour en savoir plus sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes que vous pouvez rencontrer, consultez les rubriques FAQ Apprentissage profond.
Syntaxe
ExportTrainingDataForDeepLearning(in_raster, out_folder, in_class_data, image_chip_format, {tile_size_x}, {tile_size_y}, {stride_x}, {stride_y}, {output_nofeature_tiles}, {metadata_format}, {start_index}, {class_value_field}, {buffer_radius}, {in_mask_polygons}, {rotation_angle}, {reference_system}, {processing_mode}, {blacken_around_feature}, {crop_mode})
Paramètre | Explication | Type de données |
in_raster | Imagerie source en entrée, généralement une imagerie multispectrale. Parmi les exemples de type d’imagerie source en entrée figurent l’imagerie satellite multispectrale, l’imagerie issue de drones, les images aériennes ou l’imagerie NAIP (National Agriculture Imagery Program). L’entrée peut être un dossier d’images. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder |
out_folder | Le dossier dans lequel stocker les fragments d’image et les métadonnées en sortie. Le dossier peut aussi être une URL de dossier qui utilise un fichier de connexion au stockage cloud (*.acs). | Folder |
in_class_data | Données d’échantillon d’entraînement sous forme vectorielle ou raster. Les entrées vectorielles doivent respecter un format d’échantillon d’entraînement, tel que celui généré par le Gestionnaire d’échantillons d’entraînement. Les entrées raster doivent suivre un format raster classé, tel que celui généré par l’outil Classer le raster. Le respect du format de l’échantillon d’entraînement permet de générer des résultats optimisés avec les informations statistiques ; l’entrée peut cependant également être une classe d’entités ponctuelles sans champ de valeur de classe ; ou un raster de type entier sans informations de classe. | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service |
image_chip_format | Spécifie le format raster qui sera utilisé pour les fragments d’images en sortie. PNG et JPEG prennent en charge jusqu’à trois canaux.
| String |
tile_size_x (Facultatif) | Taille des fragments d’images pour la dimension x. | Long |
tile_size_y (Facultatif) | Taille des fragments d’images pour la dimension y. | Long |
stride_x (Facultatif) | 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 %. | Long |
stride_y (Facultatif) | 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 %. | Long |
output_nofeature_tiles (Facultatif) | Indique si les fragments d’image qui ne capturent pas d’échantillons d’entraînement sont exportés.
| Boolean |
metadata_format (Facultatif) | Spécifié le format des étiquettes de métadonnées en sortie. Les options des étiquettes de métadonnées en sortie pour les données d’entraînement sont les suivantes : KITTI rectangles (Rectangles KITTI), PASCAL VOC rectangles (Rectangles PASCAL VOC), Classified Tiles (a class map) (Tuiles classées (carte de classe)), RCNN Masks (Masques RCNN), Labeled Tiles (Tuiles étiquetées), Multi-labeled Tiles (Tuiles à plusieurs étiquettes) et Export Tiles (Exporter des tuiles). Si les données d’échantillons d’entraînement 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’entraînement de classification standard, utilisez l’option de rectangles KITTI ou PASCAL VOC. Les métadonnées en sortie sont un fichier .txt ou un fichier .xml comportant les données d’échantillon 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’échantillon d’entraînement en entrée sont une carte de classe, utilisez l’option Classified Tiles (Tuiles classées) comme format de métadonnées en sortie.
Pour le format de métadonnées KITTI, 15 colonnes sont créées, mais seules 5 d’entre elles sont utilisées dans l’outil. La première colonne est la valeur de la 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. Vous trouverez ci-dessous un exemple avec l’option PASCAL VOC : Pour plus d’informations, consultez PASCAL Visual Object Classes. | String |
start_index (Facultatif) | Héritage :Ce paramètre est désormais obsolète. Utilisez une valeur 0 ou # dans Python. | Long |
class_value_field (Facultatif) | Champ contenant les valeurs de la classe. Si aucun champ n’est spécifié, le système recherche un champ value ou classvalue. Si l’entité ne contient pas de champ de classe, le système considère que tous les enregistrements appartiennent à une même classe. | Field |
buffer_radius (Facultatif) | Le rayon d’une zone tampon autour d’un échantillon d’entraînement permettant de délimiter une zone d’échantillon d’entraînement. Cette option permet de créer des échantillons d’entraînement sous forme de polygones circulaires à partir de points. L’unité linéaire de la référence spatiale pour in_class_data est utilisée. | Double |
in_mask_polygons (Facultatif) | Classe d’entités surfaciques qui délimite la zone dans laquelle les fragments d’image sont créés. Seuls les fragments d’image qui se trouvent entièrement à l’intérieur des polygones sont créés. | Feature Layer |
rotation_angle (Facultatif) | 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. | Double |
reference_system (Facultatif) | 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.
| String |
processing_mode (Facultatif) |
Spécifie comment tous les éléments raster figurant dans un jeu de données mosaïque ou un service d’imagerie seront traités. Ce paramètre est appliqué lorsqu’un raster en entrée est un jeu de données mosaïque ou service d’imagerie.
| String |
blacken_around_feature (Facultatif) | Indique si les pixels autour de chaque objet ou entité de chaque tuile d’images sont masqués. Ce paramètre s’applique uniquement lorsque le format de métadonnées est défini sur Labeled_Tiles et qu’une classe d’entités ou un raster classé en entrée a été spécifié.
| Boolean |
crop_mode (Facultatif) | Spécifie si les tuiles exportées sont rognées de telle sorte qu’elles fassent toutes la même taille. Ce paramètre s’applique uniquement lorsque le format de métadonnées est défini sur Labeled_Tiles et qu’une classe d’entités ou un raster classé en entrée a été spécifié.
| String |
Exemple de code
Cet exemple permet de créer des échantillons d’apprentissage pour la formation en profondeur.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
ExportTrainingDataForDeepLearning("c:/test/image.tif", "c:/test/outfolder",
"c:/test/training.shp", "TIFF", "256", "256", "128", "128",
"ONLY_TILES_WITH_FEATURES", "Labeled_Tiles", 0, "Classvalue",
0, None, 0, "MAP_SPACE", "PROCESS_AS_MOSAICKED_IMAGE", "NO_BLACKEN", "FIXED_SIZE")
Cet exemple permet de créer des échantillons d’apprentissage pour la formation en profondeur.
# Import system modules and check out ArcGIS Image Analyst extension license
import arcpy
arcpy.CheckOutExtension("ImageAnalyst")
from arcpy.ia import *
# Set local variables
inRaster = "c:/test/InputRaster.tif"
out_folder = "c:/test/OutputFolder"
in_training = "c:/test/TrainingData.shp"
image_chip_format = "TIFF"
tile_size_x = "256"
tile_size_y = "256"
stride_x= "128"
stride_y= "128"
output_nofeature_tiles= "ONLY_TILES_WITH_FEATURES"
metadata_format= "Labeled_Tiles"
start_index = 0
classvalue_field = "Classvalue"
buffer_radius = 0
in_mask_polygons = "MaskPolygon"
rotation_angle = 0
reference_system = "PIXEL_SPACE"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
blacken_around_feature = "NO_BLACKEN"
crop_mode = “FIXED_SIZE”
# Execute
ExportTrainingDataForDeepLearning(inRaster, out_folder, in_training,
image_chip_format,tile_size_x, tile_size_y, stride_x,
stride_y,output_nofeature_tiles, metadata_format, start_index,
classvalue_field, buffer_radius, in_mask_polygons, rotation_angle,
reference_system, processing_mode, blacken_around_feature, crop_mode)
Environnements
Informations de licence
- Basic: Requiert Image Analyst or Spatial Analyst
- Standard: Requiert Image Analyst or Spatial Analyst
- Advanced: Requiert Image Analyst or Spatial Analyst
Rubriques connexes
- An overview of the Deep Learning toolset
- GUID-3193C25B-78BB-4BFF-986C-23071BA1F76B
- Train Deep Learning Model
- Rechercher un outil de géotraitement
- Classify Objects Using Deep Learning
- Classify Pixels Using Deep Learning
- Detect Objects Using Deep Learning
- An overview of the Segmentation and Classification toolset in Image Analyst
Vous avez un commentaire à formuler concernant cette rubrique ?