Zusammenfassung
Mit diesem Werkzeug wird in einer Raster-Analyse-Bereitstellung ein trainiertes Deep-Learning-Modell auf einem Eingabe-Raster zur Erstellung eines klassifizierten Rasters ausgeführt, das die identifizierten Objekte enthält. Die Feature-Class kann im Portal als gehosteter Feature-Layer freigegeben werden. Bei den Features kann es sich um Rahmen oder Polygone um die gefundenen Objekte oder um Punkte im Mittelpunkt der Objekte handeln.
Abbildung
Verwendung
Die Python-Umgebung des RA-Servers (Raster-Analyse) muss mit der passenden Deep-Learning-Python-API wie TensorFlow, CNTK oder einer vergleichbaren Anwendung konfiguriert werden.
Wenn das Werkzeug ausgeführt wird, ruft der RA-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.
Der Eingabemodell-Parameter verwendet nur ein Deep-Learning-Paketelement (.dlpk) 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.
Verwenden Sie den Parameter Non Maximum Suppression, um doppelte Features in der Objekterkennung zu identifizieren und entfernen.
Weitere Informationen zu Deep Learning finden Sie unter Deep Learning in ArcGIS Pro.
Syntax
DetectObjectsUsingDeepLearning(inputRaster, inputModel, outputName, {modelArguments}, {runNMS}, {confidenceScoreField}, {classValueField}, {maxOverlapRatio}, {processingMode})
Parameter | Erklärung | Datentyp |
inputRaster | Das Eingabebild für die Ermittlung von Objekten. Hierbei kann es 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; Feature Service Layer; MapServer; Map Server Layer; Internet Tiled Layer; String |
inputModel | Beim Eingabemodell kann es sich um eine Datei oder URL eines Paketelements (.dlpk) aus dem Portal handeln. | File; String |
outputName | Der Name des Ausgabe-Feature-Service von erkannten Objekten. | String |
modelArguments [modelArguments,...] (optional) | Die Funktionsmodellargumente werden 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 Feinabstimmung der Empfindlichkeit an. Die Namen der Argumente werden vom Werkzeug durch Lesen des Python-Moduls im RA-Server aufgefüllt. | Value Table |
runNMS (optional) | Gibt an, ob die Nicht-Maxima-Unterdrückung durchgeführt wird, wenn doppelte Objekte erkannt werden und das doppelte Feature mit einem niedrigeren Konfidenzwert entfernt wird.
| Boolean |
confidenceScoreField (optional) | Das Feld im Feature-Service, das die Konfidenzpunktzahlen enthält, die von der Objekterkennungsmethode als Ausgabe verwendet werden. Dieser Parameter wird benötigt, wenn das Schlüsselwort NMS für den Parameter runNMS verwendet wird. | String |
classValueField (optional) | Der Name des Klassenwertefeldes im Feature-Service. Wenn kein Feldname angegeben wurde, wird das Feld Classvalue oder Value verwendet. Wenn diese Felder nicht vorhanden sind, werden alle Datensätze als zu einer Klasse gehörend identifiziert. | String |
maxOverlapRatio (optional) | Die maximale Überlappungsrate für zwei überlappende Features, die als Verhältnis von Schnittfläche zu Vereinigungsfläche definiert ist. Die Standardeinstellung ist 0. | Double |
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 | Der Ausgabe-Feature-Service. | Feature-Class |
Codebeispiel
In diesem Beispiel wird basierend auf der Objekterkennung mithilfe des Werkzeugs DetectObjectsUsingDeepLearning im Portal ein gehosteter Feature-Layer erstellt.
import arcpy
arcpy.DetectObjectsUsingDeepLearning_ra(
"https://myserver/rest/services/Farm/ImageServer",
"https://myportal/sharing/rest/content/items/itemId", "detectedTrees",
"score_threshold 0.6;padding 0", "NO_NMS")
In diesem Beispiel wird basierend auf der Objekterkennung mithilfe des Werkzeugs DetectObjectsUsingDeepLearning im Portal ein gehosteter Feature-Layer erstellt.
#---------------------------------------------------------------------------
# Name: DetectObjectsUsingDeepLearning_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inImage = "https://myserver/rest/services/coconutFarmImage/ImageServer"
inModel = "https://myportal/sharing/rest/content/items/itemId"
outName = "detectedTrees"
modelArgs = "score_threshold 0.6;padding 0"
runNMS = "NMS"
confScoreField = "Confidence"
classVField = "Class"
maxOverlapRatio = 0.15
# Execute Detect Objects Using raster analysis tool
arcpy.DetectObjectsUsingDeepLearning_ra(inImage, inModel, outName, modelArgs,
runNMS, confScoreField, ClassVField, maxOverlapRatio)
Umgebungen
Lizenzinformationen
- Basic: Erfordert ArcGIS Image Server
- Standard: Erfordert ArcGIS Image Server
- Advanced: Erfordert ArcGIS Image Server