Objekte mit Deep Learning ermitteln (Raster Analysis)

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

Darstellung des Werkzeugs "Objekte mit Deep Learning ermitteln"

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

  • NO_NMSAlle erkannten Objekte sind in der Ausgabe-Feature-Class enthalten. Dies ist die Standardeinstellung.
  • NMSErkannte doppelte Objekte werden entfernt.
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.

  • 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

Abgeleitete Ausgabe

NameErklärungDatentyp
outObjects

Der Ausgabe-Feature-Service.

Feature-Class

Codebeispiel

DetectObjectsUsingDeepLearning_ra – Beispiel 1 (Python-Fenster)

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

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)

Lizenzinformationen

  • Basic: Erfordert ArcGIS Image Server
  • Standard: Erfordert ArcGIS Image Server
  • Advanced: Erfordert ArcGIS Image Server

Verwandte Themen