Mit der Spatial Analyst-Lizenz verfügbar.
Mit der Image Analyst-Lizenz verfügbar.
Zusammenfassung
Verwendet ein Fernerkundungsbild zum Konvertieren von beschrifteten Vektor- oder Raster-Daten in Training-Datasets für Deep Learning. Die Ausgabe ist ein Ordner mit Bildschnipseln und ein Ordner mit Metadaten-Dateien im angegebenen Format.
Verwendung
Mit diesem Werkzeug lassen sich Training-Datasets für die Unterstützung von Deep-Learning-Anwendungen von Drittanbietern erstellen, z. B. Google TensorFlow, Keras, PyTorch oder Microsoft CNTK.
Deep-Learning-Class-Trainingsgebiete setzen sich aus kleinen Sub-Bildern mit dem Feature oder der Klasse von Interesse zusammen. Man nennt sie Bildschnipsel.
Verwenden Sie vorhandene Klassifizierungs-Trainingsgebiet- oder GIS-Feature-Class-Daten wie Gebäude-Footprint-Layer, um Bildschnipsel zu erzeugen, die die Klassenstichprobe aus Ihrem Quellbild enthalten. Die Abmessungen von Bildschnipseln betragen in der Regel 256 x 256 Pixel, es sei denn, das Trainingsgebiet ist größer. Ein Bildschnipsel kann ein oder mehrere Objekte enthalten. Bei Verwendung des Metadatenformats Beschriftete Kacheln ist nur ein Objekt je Bildschnipsel zulässig.
Mit dem Bezugssystem können Trainingsdaten in den Kartenraum oder Pixelabstand (roher Bildraum) exportiert werden, die dem Training des Deep-Learning-Modells dienen.
Dieses Werkzeug unterstützt den Export von Trainingsdaten aus einer Sammlung vom Bildern. Als Eingabe-Raster können Sie einen Bildordner festlegen. Wenn es sich bei dem Eingabe-Raster um ein Mosaik-Dataset oder einen Image-Service handelt, können Sie auch einen Verarbeitungsmodus festlegen und angeben, ob das Mosaik als eine Eingabe oder ob jedes Raster-Element einzeln verarbeitet werden soll.
Die Zellengröße und -ausdehnung kann in den Einstellungen der Geoverarbeitungsumgebung angepasst werden.
Weitere Informationen zu den Voraussetzungen für die Ausführung dieses Werkzeugs und eventuell dabei auftretenden Problemen finden Sie unter Häufig gestellte Fragen zu Deep Learning.
Syntax
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})
Parameter | Erklärung | Datentyp |
in_raster | Die Eingabe-Quellbilddaten, in der Regel multispektrale Bilddaten. Beispiele für Eingabe-Quellbilddaten sind Multispektralsatellit-, Drohnen-, Luft- oder NAIP-Bilder (National Agriculture Imagery Program). Bei der Eingabe kann es sich um einen Ordner mit Bildern handeln. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder |
out_folder | Der Ordner für die ausgegebenen Bildschnipsel und Metadaten. Dies kann auch die URL des Ordners sein, die eine Verbindungsdatei für den Cloud-Speicher (*.acs) verwendet. | Folder |
in_class_data | Die Daten zum Trainingsgebiet in Vektor- oder Raster-Form. Vektoreingaben sollten einem Trainingsgebiet-Format entsprechen, das mit dem Trainingsgebiet-Manager erstellt wurde. Raster-Eingaben sollten einem klassifizierten Raster-Format entsprechen, das mit dem Werkzeug Raster klassifizieren erstellt wurde. Wenn das richtige Trainingsgebiet-Format verwendet wird, liefern die statistischen Informationen optimale Ergebnisse; allerdings kann die Eingabe auch eine Point-Feature-Class ohne Klassenwertefeld oder ein Integer-Raster ohne Klasseninformationen sein. | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service |
image_chip_format | Gibt das Raster-Format für die ausgegebenen Bildschnipsel an. PNG und JPEG unterstützen bis zu 3 Bänder.
| String |
tile_size_x (optional) | Größe der Bildschnipsel (X-Dimension). | Long |
tile_size_y (optional) | Größe der Bildschnipsel (Y-Dimension). | Long |
stride_x (optional) | Verschiebung in X-Richtung bei Erstellung der nächsten Bildschnipsel. Wenn der Schritt der Kachelgröße entspricht, gibt es keine Überlappung. Wenn der Schritt der halben Kachelgröße entspricht, gibt es eine Überlappung von 50 Prozent | Long |
stride_y (optional) | Verschiebung in Y-Richtung bei Erstellung der nächsten Bildschnipsel. Wenn der Schritt der Kachelgröße entspricht, gibt es keine Überlappung. Wenn der Schritt der halben Kachelgröße entspricht, gibt es eine Überlappung von 50 Prozent | Long |
output_nofeature_tiles (optional) | Gibt an, ob Bildschnipsel, die keine Trainingsgebiete erfassen, exportiert werden.
| Boolean |
metadata_format (optional) | Gibt das Ausgabeformat für Metadatenbeschriftungen an. Es gibt fünf Optionen der Ausgabe-Metadaten-Beschriftungen für die Trainingsdaten: KITTI-Rechtecke, PASCAL VOC-Rechtecke, Klassifizierte Kacheln (eine Class-Karte), RCNN-Masken sowie Beschriftete Kacheln. Wenn es sich bei den Eingabedaten für das Trainingsgebiet um einen Feature-Class-Layer handelt, wie zum Beispiel eine Gebäude-Layer- oder Standardklassifizierungs-Trainingsgebiet-Datei, verwenden Sie KITTI- oder PASCAL VOC-Rechtecke. Die Ausgabe-Metadaten sind eine .txt-Datei oder .xml-Datei mit den Daten für das Trainingsgebiet, die im kleinsten umgebenden Rechteck enthalten sind. Der Name der Metadatendatei stimmt mit dem Namen des Eingabequellbildes überein. Wenn es sich bei den Eingabedaten für das Trainingsgebiet um eine Class-Karte handelt, verwenden Sie als Format für die Ausgabe-Metadaten die Option "Klassifizierte Kacheln".
Beim KITTI-Metadatenformat werden 15 Spalten erstellt, jedoch nur 5 davon im Werkzeug verwendet. Die erste Spalte ist der Klassenwert. Die nächsten 3 Spalten werden übersprungen. In den Spalten 5-8 wird das kleinste umgebende Rechteck definiert, das aus 4 Bildkoordinatenpositionen besteht. Diese sind die entsprechenden Pixel links, oben, rechts und unten. Das kleinste umgebende Rechteck umfasst den im Deep-Learning-Klassifikator verwendeten Training-Schnipsel. Die verbleibenden Spalten werden nicht verwendet. Nachfolgend finden Sie ein Beispiel für die PASCAL VOC-Option: Weitere Informationen finden Sie unter PASCAL Visual Object Classes. | String |
start_index (optional) | Ältere Versionen:Dieser Parameter ist veraltet. Verwenden Sie in Python den Wert 0 oder #. | Long |
class_value_field (optional) | Das Feld, das die Klassenwerte enthält. Wird kein Feld angegeben, sucht das System nach einem Feld des Typs value oder classvalue. Wenn das Feature kein Klassenwerte-Feld enthält, wird vom System festgelegt, dass alle Datensätze zu einer Klasse gehören. | Field |
buffer_radius (optional) | Der Radius eines Puffers um die einzelnen Trainingsgebiete zur Abgrenzung einer Trainingsgebiet-Fläche. Auf diese Weise können Sie kreisförmige Polygon-Trainingsgebiete aus Punkten erstellen. Die lineare Einheit des Raumbezugs für in_class_data wird verwendet. | Double |
in_mask_polygons (optional) | Eine Polygon-Feature-Class zur Abgrenzung der Fläche, in der Bildschnipsel erstellt werden. Es werden nur Bildschnipsel erstellt, die vollständig in die Polygone fallen. | Feature Layer |
rotation_angle (optional) | Der Drehwinkel, der für die Generierung weiterer Bildschnipsel verwendet wird. Ein Bildschnipsel wird mit dem Drehwinkel 0 und somit ohne Drehung erstellt. Danach wird er um den angegebenen Winkel gedreht, um einen weiteren Bildschnipsel zu erstellen. Zur Datenerweiterung werden dieselben Trainingsgebiete mit mehreren Winkeln in mehreren Bildschnipseln erfasst. Der Standard-Drehwinkel beträgt 0 Grad. | Double |
reference_system (optional) | Gibt den Typ von Bezugssystem an, mit dem das Eingabebild interpretiert wird. Das angegebene Bezugssystem muss mit dem Bezugssystem übereinstimmen, das für das Training des Deep-Learning-Modells verwendet wurde.
| String |
processing_mode (optional) |
Legt fest, wie alle Raster-Elemente in einem Mosaik-Dataset oder Image-Service verarbeitet werden. Dieser Parameter findet Anwendung, wenn es sich beim Eingabe-Raster um ein Mosaik-Dataset oder einen Image-Service handelt.
| String |
blacken_around_feature (optional) | Gibt an, ob die Pixel um die einzelnen Objekte oder Features in den Bildkacheln geschwärzt werden sollen. Dieser Parameter findet nur Anwendung, wenn das Format auf Labeled_Tiles eingestellt ist und eine Eingabe-Feature-Class oder ein klassifiziertes Raster angegeben wurde.
| Boolean |
crop_mode (optional) | Gibt an, ob die exportierten Kacheln auf dieselbe Größe zugeschnitten werden sollen. Dieser Parameter findet nur Anwendung, wenn das Format auf Labeled_Tiles eingestellt ist und eine Eingabe-Feature-Class oder ein klassifiziertes Raster angegeben wurde.
| String |
Codebeispiel
In diesem Beispiel werden Trainingsgebiete für Deep Learning erstellt.
# 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")
In diesem Beispiel werden Trainingsgebiete für Deep Learning erstellt.
# 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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Image Analyst oder Spatial Analyst
- Standard: Erfordert Image Analyst oder Spatial Analyst
- Advanced: Erfordert Image Analyst oder Spatial Analyst
Verwandte Themen
- Überblick über das Toolset "Deep Learning"
- Installieren von Deep-Learning-Frameworks für ArcGIS
- Deep-Learning-Modell trainieren
- Objekte mit Deep Learning klassifizieren
- Pixel mit Deep Learning klassifizieren
- Objekte mit Deep Learning ermitteln
- Überblick über das Toolset "Segmentierung und Klassifizierung" in Image Analyst
- Suchen eines Geoverarbeitungswerkzeugs