Trainingsdaten für Deep Learning exportieren (Spatial Analyst)

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 LearningPDF mit FAQ 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})
ParameterErklärungDatentyp
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.

  • TIFFTIFF-Format
  • PNGPNG-Format
  • JPEGJPEG-Format
  • MRFMRF (Meta-Raster-Format)
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.

  • ALL_TILESAlle Bildschnipsel einschließlich solcher, die keine Trainingsgebiete erfassen, werden exportiert.
  • ONLY_TILES_WITH_FEATURESNur Bildschnipsel, die Trainingsgebiete erfassen, werden exportiert. Dies ist die Standardeinstellung.
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".

  • KITTI_rectanglesDie Metadaten weisen dasselbe Format auf wie das Object Detection Evaluation Dataset, das vom Karlsruher Institut für Technologie gemeinsam mit dem Toyota Technological Institute (KITTI) entwickelt wurde. Das KITTI-Dataset ist eine Vision Benchmark Suite. Bei den Beschriftungsdateien handelt es sich um Nur-Text-Dateien. Numerische Werte und Zeichenfolgenwerte werden durch Leerzeichen getrennt, und jede Zeile entspricht einem Objekt.
  • PASCAL_VOC_rectanglesDie Metadaten weisen dasselbe Format auf wie das PASCAL_VOC-Dataset (Pattern Analysis, Statistical Modeling and Computational Learning, Visual Object Classes). Das PASCAL_VOC-Dataset ist ein standardisiertes Bild-Dataset für die Erkennung von Objektklassen. Die Beschriftungsdateien (XML-Dateien) enthalten Informationen zu Bildnamen, Klassenwerten und umgebenden Rechtecken.Dies ist die Standardeinstellung.
  • Classified_TilesDie Ausgabe besteht aus einem klassifizierten Bildschnipsel für jeden Eingabebildschnipsel. Für die einzelnen Bildschnipsel werden keine weiteren Metadaten verwendet. Weitere Informationen zu den Klassen (Klassennamen, Klassenwerte und Ausgabestatistiken) können den ausgegebenen Statistiken entnommen werden.
  • RCNN_MasksDie Ausgabe sind Bildschnipsel mit Maskierung in Bereichen mit vorhandener Stichprobe. Das Modell generiert umgebende Rechtecke und Segmentierungsmasken für jede Instanz eines Objekts im Bild. Es basiert auf dem Feature Pyramid Network (FPN) und einem ResNet101-Backbone im Deep-Learning-Framework-Modell.
  • Labeled_TilesJede Ausgabekachel wird mit einer spezifischen Klasse beschriftet.

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:

<?xml version=”1.0”?>
- <layout>
      <image>000000000</image>
      <object>1</object>
    - <part>
         <class>1</class>
       - <bndbox>
            <xmin>31.85</xmin>
            <ymin>101.52</ymin>
            <xmax>256.00</xmax>
            <ymax>256.00</ymax>
         </bndbox>
      </part>
  </layout>

Weitere Informationen finden Sie unter PASCAL Visual Object ClassesPASCAL 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.

  • MAP_SPACEEs wird ein kartenbasiertes Koordinatensystem verwendet. Dies ist die Standardeinstellung.
  • PIXEL_SPACEEs wird Bildraum ohne Drehung oder Verzerrung verwendet.
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.

  • PROCESS_AS_MOSAICKED_IMAGEAlle Raster-Elemente im Mosaik-Dataset oder Image-Service werden zusammen mosaikiert und verarbeitet. Dies ist die Standardeinstellung.
  • PROCESS_ITEMS_SEPARATELYAlle Raster-Elemente im Mosaik-Dataset oder Image-Service werden als separate Bilder verarbeitet.
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.

  • NO_BLACKENDie die Objekte oder Features umgebenden Pixel werden nicht geschwärzt. Dies ist die Standardeinstellung.
  • BLACKEN_AROUND_FEATUREDie die Objekte oder Features umgebenden Pixel werden geschwärzt.
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.

  • FIXED_SIZEDie exportierten Kacheln sind gleich groß und befinden sich in der Mitte des Features. Dies ist die Standardeinstellung.
  • BOUNDING_BOXDie exportierten Kacheln werden zugeschnitten, sodass die angrenzende Geometrie nur das Feature in der Kachel umgibt.
String

Codebeispiel

ExportTrainingDataForDeepLearning – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden Trainingsgebiete für Deep Learning erstellt.

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("spatialAnalyst")

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")
ExportTrainingDataForDeepLearning – Beispiel 2 (eigenständiges Skript)

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("SpatialAnalyst")
from arcpy.sa 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 = "MAP_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 Spatial Analyst oder Image Analyst
  • Standard: Erfordert Spatial Analyst oder Image Analyst
  • Advanced: Erfordert Spatial Analyst oder Image Analyst

Verwandte Themen