Beschriftung | Erläuterung | Datentyp |
Eingabe-Raster | Die Eingabe-Quellbilddaten, in der Regel multispektrale Bilddaten. Beispiele für Eingabe-Quellbilddaten sind Multispektralsatellit-, Drohnen-, Luft- und 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; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
Ausgabeordner | Der Ordner für die ausgegebenen Bildschnipsel und Metadaten. Dies kann auch eine Ordner-URL sein, die eine Verbindungsdatei für den Cloud-Speicher (*.acs) verwendet. | Folder |
Eingabe-Feature-Class oder klassifiziertes Eingabe-Raster oder Eingabetabelle | Die Daten zum Trainingsgebiet in Vektor- oder Raster-Form. Vektoreingaben sollten dem Trainingsgebiet-Format entsprechen, das im Bereich Trainingsgebiet-Manager erstellt wurde. Raster-Eingaben sollten einem klassifizierten Raster-Format entsprechen, das mit dem Werkzeug Raster klassifizieren erstellt wurde. Die Raster-Eingabe kann auch aus einem Ordner mit klassifizierten Rastern stammen. Eingabetabellen sollten einem Trainingsgebiet-Format entsprechen, das mit dem Werkzeug Objekte für Deep Learning beschriften im Bereich Trainingsgebiet-Manager 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; Table; Folder |
Bildformat | Gibt das Raster-Format für die ausgegebenen Bildschnipsel an. Die Formate PNG und JPEG unterstützen bis zu drei Bänder.
| String |
Kachelgröße X (optional) | Größe der Bildschnipsel (X-Dimension). | Long |
Kachelgröße Y (optional) | Größe der Bildschnipsel (Y-Dimension). | Long |
Schritt 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 |
Schritt 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 |
NoFeature-Kacheln ausgeben (optional) | Gibt an, ob Bildschnipsel, die keine Trainingsgebiete erfassen, exportiert werden.
Ist diese Option aktiviert, werden auch Bildschnipsel, die keine Beschriftungsdaten erfassen, exportiert. Bei deaktivierter Option werden diese nicht exportiert. | Boolean |
Metadatenformat (optional) | Gibt das Ausgabeformat für Metadatenbeschriftungen an. 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 die Option KITTI-Beschriftungen oder PASCAL Visual Object Classes (KITTI_rectangles oder PASCAL_VOC_rectangles in Python). Die Ausgabe-Metadaten sind eine .txt-Datei oder eine .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 Klassenkarte handelt, verwenden Sie als Format für die Ausgabe-Metadaten die Option Klassifizierte Kacheln (Classified_Tiles in Python). 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 bis 8 wird das kleinste umgebende Rechteck definiert, das aus vier Bildkoordinatenpositionen besteht. Diese sind die 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.
| String |
Startindex (optional) | Vorversion:Dieser Parameter ist veraltet. | Long |
Klassenwertefeld (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 |
Pufferradius (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 Eingabe-Feature-Class oder klassifiziertes Raster wird verwendet. | Double |
Eingabe-Maskenpolygone (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 |
Drehwinkel (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 |
Bezugssystem (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 |
Verarbeitungsmodus (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 |
Feature schwärzen (optional) | Gibt an, ob die Pixel um die einzelnen Objekte oder Features in den Bildkacheln maskiert werden sollen. Dieser Parameter findet nur Anwendung, wenn das Format auf Beschriftete Kacheln eingestellt ist und eine Eingabe-Feature-Class oder ein klassifiziertes Raster angegeben wurde.
| Boolean |
Zuschneide-Modus (optional) | Gibt an, ob die exportierten Kacheln auf die gleiche Größe zugeschnitten werden sollen. Dieser Parameter findet nur Anwendung, wenn das Format auf Beschriftete Kacheln eingestellt ist und eine Eingabe-Feature-Class oder ein klassifiziertes Raster angegeben wurde.
| String |
Zusätzliches Eingabe-Raster (optional) | Eine zusätzliche Eingabequelle aus Bilddaten für Bild-zu-Bild-Übersetzungsmethoden. Dieser Parameter ist gültig, wenn der Parameter Metadatenformat auf Klassifizierte Kacheln, Kacheln exportieren oder CycleGAN festgelegt wurde. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
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 und Microsoft CNTK.
Deep-Learning-Class-Trainingsgebiete basieren auf kleinen Sub-Bildern mit dem relevanten Feature oder der relevanten Klasse. Diese Sub-Bilder werden Bildschnipsel genannt.
Verwenden Sie vorhandene Klassifizierungs-Trainingsgebietdaten oder GIS-Feature-Class-Daten wie Gebäude-Footprint-Layer, um Bildschnipsel zu erzeugen, die das Klassenbeispiel aus dem 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 Pixelraum (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 Wert für Eingabe-Raster können Sie einen Bildordner festlegen. Wenn es sich bei dem Wert für Eingabe-Raster um ein Mosaik-Dataset oder einen Image-Service handelt, können Sie auch angeben, dass der Parameter Verarbeitungsmodus das Mosaik entweder als eine einzige Eingabe oder jedes Raster-Element einzeln verarbeitet.
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.
Parameter
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}, {in_raster2})
Name | Erläuterung | Datentyp |
in_raster | Die Eingabe-Quellbilddaten, in der Regel multispektrale Bilddaten. Beispiele für Eingabe-Quellbilddaten sind Multispektralsatellit-, Drohnen-, Luft- und 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; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
out_folder | Der Ordner für die ausgegebenen Bildschnipsel und Metadaten. Dies kann auch eine Ordner-URL 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 dem Trainingsgebiet-Format entsprechen, das im Bereich Trainingsgebiet-Manager erstellt wurde. Raster-Eingaben sollten einem klassifizierten Raster-Format entsprechen, das mit dem Werkzeug Raster klassifizieren erstellt wurde. Die Raster-Eingabe kann auch aus einem Ordner mit klassifizierten Rastern stammen. Eingabetabellen sollten einem Trainingsgebiet-Format entsprechen, das mit dem Werkzeug Objekte für Deep Learning beschriften im Bereich Trainingsgebiet-Manager 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; Table; Folder |
image_chip_format | Gibt das Raster-Format für die ausgegebenen Bildschnipsel an. Die Formate PNG und JPEG unterstützen bis zu drei 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. 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 die Option KITTI-Beschriftungen oder PASCAL Visual Object Classes (KITTI_rectangles oder PASCAL_VOC_rectangles in Python). Die Ausgabe-Metadaten sind eine .txt-Datei oder eine .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 Klassenkarte handelt, verwenden Sie als Format für die Ausgabe-Metadaten die Option Klassifizierte Kacheln (Classified_Tiles in Python).
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 bis 8 wird das kleinste umgebende Rechteck definiert, das aus vier Bildkoordinatenpositionen besteht. Diese sind die 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 Option PASCAL_VOC_rectangles: Weitere Informationen finden Sie unter PASCAL Visual Object Classes. | String |
start_index (optional) | Vorversion: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 maskiert werden sollen. Dieser Parameter findet nur Anwendung, wenn das Format auf Labeled_Tiles festgelegt ist und eine Eingabe-Feature-Class oder ein klassifiziertes Raster angegeben wurde.
| Boolean |
crop_mode (optional) | Gibt an, ob die exportierten Kacheln auf die gleiche Größe zugeschnitten werden sollen. Dieser Parameter findet nur Anwendung, wenn das Format auf Labeled_Tiles festgelegt ist und eine Eingabe-Feature-Class oder ein klassifiziertes Raster angegeben wurde.
| String |
in_raster2 (optional) | Eine zusätzliche Eingabequelle aus Bilddaten für Bild-zu-Bild-Übersetzungsmethoden. Dieser Parameter ist gültig, wenn der Parameter metadata_format auf Classified_Tiles, Export_Tiles oder CycleGAN festgelegt wurde. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer; Folder |
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)
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 "Klassifizierung und Mustererkennung"
- Suchen eines Geoverarbeitungswerkzeugs
- Ü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 erkennen