Zusammenfassung
Führt ein trainiertes Deep-Learning-Modell in einem Eingabe-Raster und einer optionalen Feature-Class aus und erstellt eine Feature-Class oder Tabelle, in der jedem Eingabeobjekt oder -Feature eine Klassen- oder Kategoriebeschriftung zugewiesen ist.
Abbildung
Verwendung
Die Python-Umgebung des Raster-Analyse-Servers muss mit der passenden Deep-Learning-Python-API wie TensorFlow, CNTK oder einer vergleichbaren Anwendung konfiguriert werden.
Wenn dieses Werkzeug ausgeführt wird, ruft der Raster-Analyse-Server eine Deep-Learning-Python-API eines Drittanbieters (wie TensorFlow oder CNTK) auf und verwendet zum Verarbeiten der einzelnen Raster-Kacheln die angegebene Python-Raster-Funktion.
Das Eingabemodell dieses Werkzeugs übernimmt nur ein Deep-Learning-Paketelement (eine .dlpk-Datei) aus dem Portal.
Nachdem das Eingabemodell ausgewählt oder angegeben wurde, ruft das Werkzeug die Modellargumentinformationen vom Raster-Analyse-Server ab. Das Werkzeug kann diese Informationen möglicherweise nicht abrufen, wenn das Eingabemodell ungültig ist oder der Raster-Analyse-Server nicht ordnungsgemäß mit dem Deep-Learning-Framework konfiguriert wurde.
Syntax
arcpy.ra.ClassifyObjectsUsingDeepLearning(inputRaster, inputModel, outputName, {inputFeatures}, {modelArguments}, {classLabelField}, {processingMode})
Parameter | Erklärung | Datentyp |
inputRaster | Das zu klassifizierende Eingabebild. Bei dem Bild kann sich um die URL für einen Image-Service, einen Raster-Layer, einen Kartenserver-Layer oder einen gekachelten Internet-Layer handeln. | Raster Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; String |
inputModel | Das Deep-Learning-Modell, das für die Klassifizierung von Objekten im Eingabebild verwendet wird. Bei der Eingabe handelt es sich um die URL eines Deep-Learning-Paketelements (.dlpk), das den Pfad zur binären Datei des Deep-Learning-Modells, den Pfad der zu verwendenden Python-Raster-Funktion und sonstige Parameter wie die bevorzugte Kachelgröße oder den bevorzugten Abstand enthält. | File |
outputName | Der Name des Feature-Service, der die klassifizierten Objekte enthält. | String |
inputFeatures (optional) | Der Feature-Service, der die Position jedes zu klassifizierenden und zu beschriftenden Objekts oder Features identifiziert. Jede Zeile in dem Eingabe-Feature-Service repräsentiert ein einzelnes Objekt oder Feature. Wenn kein Eingabe-Feature angegeben ist, wird jedes Eingabebild als einzelnes Objekt klassifiziert. Wenn das Eingabebild oder die Eingabebilder einen Raumbezug verwenden, ist die Ausgabe des Werkzeugs eine Feature-Class, in der die Ausdehnung jedes Bildes als Begrenzungsgeometrie für jede beschriftete Feature-Class verwendet wird. Wenn das Eingabebild oder die Eingabebilder keinen Raumbezug verwenden, ist die Ausgabe des Werkzeugs eine Tabelle mit den Bild-ID-Werten und Klassenbeschriftungen für jedes Bild. | Feature Layer; Map Server Layer; String |
modelArguments [modelArguments,...] (optional) | Die für die Klassifizierung zu verwendenden Funktionsmodellargumente. Diese sind in der Python-Raster-Funktionsklasse definiert, die vom Eingabemodell referenziert wird. Hier geben Sie zusätzliche Deep-Learning-Parameter und Argumente für Experimente und Verfeinerungen wie den Konfidenzschwellenwert zur Anpassung der Empfindlichkeit an. Die Namen der Argumente werden vom Werkzeug durch das Python-Modul auf dem Raster-Analyse-Server ausgefüllt. | Value Table |
classLabelField (optional) | Der Name des Feldes für die Klassen- oder Kategoriebeschriftung in der Ausgabe-Feature-Class. Falls kein Feldname angegeben ist, wird das neue Feld ClassLabel in der Ausgabe-Feature-Class generiert. | String |
processingMode (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 |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
outObjects | Das Ausgabe-Feature-Set. | Feature-Set |
Codebeispiel
In diesem Beispiel werden Features in einem Raster basierend auf einem Klassifizierungsmodell mithilfe von Deep Learning in einer Raster-Analyse-Bereitstellung klassifiziert und das Raster als gehosteter Bilddaten-Layer im Portal veröffentlicht.
import arcpy
arcpy.ClassifyObjectsUsingDeepLearning_ra(
"https://myserver/rest/services/Buildings/ImageServer",
"https://myserver/rest/services/Hosted/BuildingFootprints/FeatureServer/0",
"https://myportal/sharing/rest/content/items/itemId", "BuildingDamage",
"batch_size 4", "ClassLabel","PROCESS_AS_MOSAICKED_IMAGE")
In diesem Beispiel werden Features in einem Raster basierend auf einem Klassifizierungsmodell mithilfe von Deep Learning in einer Raster-Analyse-Bereitstellung klassifiziert und das Raster als gehosteter Bilddaten-Layer im Portal veröffentlicht.
#---------------------------------------------------------------------------
# Name: ClassifyObjectsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputRaster = "https://myserver/rest/services/Buildings/ImageServer"
inputFeatures = "https://myserver/rest/services/Hosted/BuildingFootprints/FeatureServer/0"
inputModel = "https://myportal/sharing/rest/content/items/itemId"
outputName = "BuildingDamage"
modelArguments = "batch_size 4"
classLabelField = "ClassLabel"
processingMode = "PROCESS_AS_MOSAICKED_IMAGE"
# Execute Classify Objects Using Deep Learning
arcpy.ClassifyObjectsUsingDeepLearning_ra(inputRaster, inputFeatures,
inputModel, outputName, modelArguments, classLabelField , processingMode)
Lizenzinformationen
- Basic: Erfordert ArcGIS Image Server
- Standard: Erfordert ArcGIS Image Server
- Advanced: Erfordert ArcGIS Image Server