Skip To Content

Objekte mit Deep Learning ermitteln

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.

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_ra (inputRaster, inputModel, outputName, {modelArguments}, {runNMS}, {confidenceScoreField}, {classValueField}, {maxOverlapRatio})
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; 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 maximale 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)

Das Klassenwertefeld im Feature-Service. Wenn dieses Feld nicht festgelegt wird, verwendet das Werkzeug die Standard-Klassenwertefelder Classvalue und Value. Wenn diese Felder nicht vorhanden sind, werden alle Features wie eine Objektklasse behandelt.

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

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