Skip To Content

Trainingsdaten für Deep Learning exportieren

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.

  • Die Zellengröße und -ausdehnung kann in den Einstellungen der Geoverarbeitungsumgebung angepasst werden.

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})
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
out_folder

Der Ordner für die ausgegebenen Bildschnipsel und Metadaten.

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.

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 Beschriftende 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. Dies ist die Standardeinstellung.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.
  • 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.

Weitere Information finden Sie unter KITTI-Metadatenformat KITTI-Metadaten.

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)

Der Startindex für die Abfolge von Bildschnipseln. Damit haben Sie die Möglichkeit, mehr Bildschnipsel an eine vorhandene Sequenz anzuhängen. Der Standardwert ist 0.

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 Class; 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

Codebeispiel

ExportTrainingDataForDeepLearning – Beispiel 1 (Python-Fenster)

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

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", "NO", "KITTI_rectangles", 
                                 0, "Classvalue", 1)
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("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="KITTI_rectangles"
start_index = 0
classvalue_field = "Classvalue"
buffer_radius = 3
in_mask_polygons = "MaskPolygon"
rotation_angle = 45

# 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)

Lizenzinformationen

  • Basic: Erfordert Image Analyst or Spatial Analyst
  • Standard: Erfordert Image Analyst or Spatial Analyst
  • Advanced: Erfordert Image Analyst or Spatial Analyst

Verwandte Themen