Beschriftung | Erläuterung | Datentyp |
Von Raster | Das Eingabe-Raster vor der Veränderung. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
In Raster | Das Eingabe-Raster nach der Veränderung. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
Klassifiziertes Ausgabe-Raster | Das klassifizierte Ausgabe-Raster, das die Veränderung zeigt. | Raster Dataset |
Modelldefinition | Bei dem Parameterwert für die Modelldefinition kann es sich um eine Esri Modelldefinitionsdatei als JSON (.emd), eine JSON-Zeichenfolge oder ein Deep-Learning-Modellpaket (.dlpk) handeln. Eine JSON-Zeichenfolge ist nützlich, wenn Sie dieses Werkzeug auf dem Server verwenden, sodass Sie die JSON-Zeichenfolge einfügen können, statt die .emd-Datei hochzuladen. Die .dlpk-Datei muss lokal gespeichert werden. Sie enthält den Pfad zur binären Datei des Deep-Learning-Modells, den Pfad zu der zu verwendenden Python-Raster-Funktion sowie andere Parameter wie etwa die bevorzugte Kachelgröße oder den bevorzugten Abstand. | File; String |
Argumente (optional) | Die Informationen aus dem Parameter Modelldefinition werden zum Füllen dieses Parameters verwendet. Diese Argumente variieren je nach Modellarchitektur. Für in ArcGIS trainierte Modelle werden die folgenden Modellargumente unterstützt. Vortrainierte ArcGIS-Modelle und benutzerdefinierte Deep-Learning-Modelle enthalten ggf. zusätzliche von dem Werkzeug unterstützte Argumente.
| Value Table |
Mit der Image Analyst-Lizenz verfügbar.
Zusammenfassung
Führt ein trainiertes Deep-Learning-Modell zur Erkennung von Veränderungen zwischen zwei Rastern aus.
Dieses Werkzeug erfordert eine Modelldefinitionsdatei, die Informationen zum trainierten Modell enthält. Bei der Modelldefinitionsdatei kann es sich um eine Esri Modelldefinitionsdatei als JSON (.emd) oder ein Deep-Learning-Modellpaket handeln. Sie muss den Pfad zur Python-Raster-Funktion, die zur Verarbeitung der einzelnen Objekte aufgerufen werden soll, sowie den Pfad zur binären Datei des trainierten Deep-Learning-Modells enthalten.
Verwendung
Eingabe für dieses Werkzeug sind zwei Bilder: ein Bild eines früheren Zeitpunktes und ein Bild eines späteren Zeitpunktes. Die Ausgabe ist ein klassifiziertes Raster-Dataset, das die Veränderung zwischen den beiden Raster-Eingaben zeigt.
Sie müssen die dem jeweiligen Deep-Learning-Framework entsprechende Python-API (z. B. TensorFlow oder PyTorch) in der Python-Umgebung von ArcGIS Pro installieren, da sonst beim Hinzufügen der Esri Model Definition-Datei zum Werkzeug ein Fehler auftritt. Fordern Sie die entsprechenden Framework-Informationen vom Ersteller der Esri Model Definition-Datei an.
Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS Pro finden Sie unter Installieren von Deep-Learning-Frameworks for ArcGIS.
Mit diesem Werkzeug wird eine Deep-Learning-Python-API eines Drittanbieters (wie TensorFlow, PyTorch oder Keras) aufgerufen und die angegebene Python-Raster-Funktion zum Verarbeiten der einzelnen Objekte verwendet.
Bei dem Parameterwert für die Modelldefinition kann es sich um eine Esri Modelldefinitionsdatei als JSON (.emd), eine JSON-Zeichenfolge oder ein Deep-Learning-Modellpaket (.dlpk) handeln. Eine JSON-Zeichenfolge ist nützlich, wenn Sie dieses Werkzeug auf dem Server verwenden, sodass Sie die JSON-Zeichenfolge einfügen können, statt die .emd-Datei hochzuladen. Die .dlpk-Datei muss lokal gespeichert werden.
Gegebenenfalls sind zusätzliche Eingabeparameter wie minimale Batch-Größe, Padding-Größe usw. erforderlich.
Unten finden Sie ein Beispiel für eine JSON-Modelldefinitionsdatei (.emd).
Beispiel für eine JSON-Modelldefinitionsdatei
{ "Framework": "", "ModelConfiguration":" ", "ModelFile":"", "InferenceFunction":"", "ModelType":"", "ImageHeight":256, "ImageWidth":256, "ExtractBands":[0,1,2], "CropSizeFixed": 1, "BlackenAroundFeature": 1, "Classes": [ { "Value": 0, "Name": "Building", "Color": [255, 0, 0] } ] }
Durch größere Batches kann die Leistung des Werkzeugs erhöht werden. Aber größere Batches belegen mehr Arbeitsspeicher. Wird die Fehlermeldung "Nicht genügend Arbeitsspeicher" angezeigt, verwenden Sie kleinere Batches. Der Wert batch_size kann über den Parameter Argumente angepasst werden.
Batch-Größen sind quadratische Zahlen, z. B. 1, 4, 9, 16, 25, 64 und so weiter. Wenn der Eingabewert kein perfektes Quadrat ist, wird der höchstmögliche quadratische Wert verwendet. Wird beispielsweise ein Wert von 6 angegeben, wird die Batch-Größe auf 4 festgelegt.
Dieses Werkzeug kann mehrere verfügbare GPUs unterstützen und verwenden. Um eine bestimmte GPU zu verwenden, geben Sie die GPU-ID-Umgebung an. Wenn die GPU-ID nicht festgelegt wurde, dann verwendet das Werkzeug alle verfügbaren GPUs. Dies ist die Standardeinstellung.
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.
Weitere Informationen zu Deep Learning finden Sie unter Deep Learning in der Erweiterung ArcGIS Image Analyst
Parameter
DetectChangeUsingDeepLearning(from_raster, to_raster, out_classified_raster, in_model_definition, {arguments})
Name | Erläuterung | Datentyp |
from_raster | Das Eingabe-Raster vor der Veränderung. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
to_raster | Das Eingabe-Raster nach der Veränderung. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; Map Server; Map Server Layer; Internet Tiled Layer |
out_classified_raster | Das klassifizierte Ausgabe-Raster, das die Veränderung zeigt. | Raster Dataset |
in_model_definition | Bei dem Parameterwert für in_model_definition kann es sich um eine Esri Modelldefinitionsdatei als JSON (.emd), eine JSON-Zeichenfolge oder ein Deep-Learning-Modellpaket (.dlpk) handeln. Eine JSON-Zeichenfolge ist nützlich, wenn Sie dieses Werkzeug auf dem Server verwenden, sodass Sie die JSON-Zeichenfolge einfügen können, statt die .emd-Datei hochzuladen. Die .dlpk-Datei muss lokal gespeichert werden. Sie enthält den Pfad zur binären Datei des Deep-Learning-Modells, den Pfad zu der zu verwendenden Python-Raster-Funktion sowie andere Parameter wie etwa die bevorzugte Kachelgröße oder den bevorzugten Abstand. | File; String |
arguments [arguments,...] (optional) | Die Informationen aus dem Parameter in_model_definition werden zum Festlegen der Standardwerte für diesen Parameter verwendet. Diese Argumente variieren je nach Modellarchitektur. Für in ArcGIS trainierte Modelle werden die folgenden Modellargumente unterstützt. Vortrainierte ArcGIS-Modelle und benutzerdefinierte Deep-Learning-Modelle enthalten ggf. zusätzliche von dem Werkzeug unterstützte Argumente.
| Value Table |
Codebeispiel
In diesem Beispiel wird ein Deep-Learning-Modell zur Erkennung des Unterschieds zwischen zwei Bildern ausgeführt.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
DetectChangeUsingDeepLearning("c://detectchange//input_image1.tif",
"c://detectchange//input_image2.tif", "c://detectchange//output_difference.tif",
"c://detectchange/detectBuilding.emd", "padding 0;score_threshold 0.6;batch_size 4")
In diesem Beispiel wird ein Deep-Learning-Modell zur Erkennung des Unterschieds zwischen zwei Bildern ausgeführt.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: DetectObjectsUsingDeepLearning(from_raster, to_raster, out_classified_raster,
in_model_definition, {model_arguments})
"""
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Set local variable
from_raster = r"c:/detectchange/input_image1.tif"
to_raster = r"c:/detectchange/input_image2.tif"
out_classified_raster = r"c:/detectchange/output_difference.tif"
in_model_definition = r"c:/ detectchange/detectbuilding.emd"
# arcpy.env.processorType = "GPU"
# arcpy.env.gpuId = 0
# Execute
DetectChangeUsingDeepLearning(from_raster, to_raster, out_classified_raster,
in_model_definition, "padding 0;score_threshold 0.6;batch_size 4")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Image Analyst
- Standard: Erfordert Image Analyst
- Advanced: Erfordert Image Analyst