Objekte mithilfe des trainierten Modells in Punktwolke erkennen (3D Analyst)

Zusammenfassung

Erkennt in einer Punktwolke erfasste Objekte mithilfe eines Deep-Learning-Modells.

Abbildung

Abbildung des Werkzeugs "Objekte mithilfe des trainierten Modells in Punktwolke erkennen"

Verwendung

  • Für dieses Werkzeug muss Deep Learning Essentials installiert sein. Darin werden mehrere Lösungen für neuronale Netzwerke bereitgestellt, zu denen neurale Architekturen zum Klassifizieren von Punktwolken gehören.

    Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS AllSource finden Sie unter Installieren von Deep-Learning-Frameworks for ArcGIS.

  • Für Modelle zur Objekterkennung muss die Eingabepunktwolke nicht klassifiziert werden. Allerdings sollte die Punktwolke, die ausgewertet wird, ähnliche Eigenschaften wie die Punktwolkendaten aufweisen, mit denen das Modell trainiert wird. Beispielsweise wäre ein Objekterkennungsmodell, das mit einer terrestrischen Punktwolke trainiert wird, um Autos zu klassifizieren, für eine andere terrestrische Punktwolke geeignet. Für eine Punktwolke, die aus einer LIDAR-Luftbildvermessung erfasst wurde, ist es dagegen möglicherweise nicht gut geeignet.

  • Das Modell identifiziert eine Vielzahl von Objekten, die teilweise überlappen können. Um diese Erkennungen zu optimieren, werden zwei wichtige Schwellenwerte verwendet: der Schwellenwert für den Konfidenzwert und der Überlappungsschwellenwert. Der Konfidenzwert ist ein numerischer Wert zwischen 0,0 und 1,0, der angibt, wie wahrscheinlich eine richtige Identifikation des Objekts ist. Ein höherer Wert kennzeichnet eine größere Sicherheit. Ein Schwellenwert kann festgelegt werden, um Erkennungen unter einem bestimmten Konfidenzniveau herauszufiltern.

    In Fällen, in denen mehrere ähnliche Objekte überlappende Rahmen aufweisen, wird der Überlappungsschwellenwert noch wichtiger. Dieser Messwert verwendet das IoU-Verhältnis (Intersection Over Union). Es wird berechnet, indem für die überlappenden Rahmen das Volumen der Überschneidung durch das Volumen der Vereinigung geteilt wird. Bei Objekten, deren IoU über dem Überlappungsschwellenwert liegt, bleibt nur das Objekt mit dem höchsten Konfidenzwert erhalten. Mit dem NMS-Algorithmus (Non Maximum Suppression) wird sichergestellt, dass nur die relevantesten Erkennungen Teil der endgültigen Ausgabe werden.

  • Der Parameter Bezugsfläche muss angegeben werden, wenn das Eingabemodell mit relativen Höhenattributen trainiert wurde. Die Raster-Oberfläche dient als Referenzhöhe, von der relative Höhen für jeden Punkt interpoliert werden. Das Modell erhält auf diese Weise weitere Informationen, mit denen sich Objekte besser unterscheiden lassen. Die für diesen Parameter bereitgestellte Raster-Oberfläche sollte denselben Datentyp wie das Raster aufweisen, das in den Trainingsdaten zum Erstellen des Modells verwendet wurde. In den meisten Fällen handelt es sich hierbei um ein Raster, das aus Punkten mit Bodenklassifizierung erstellt wurde. Aus den Punkten mit Bodenklassifizierung im LAS-Dataset kann mit dem Werkzeug LAS-Dataset in Raster eine Raster-Oberfläche generiert werden, indem ein Bodenfilter angewendet wird. Mit dem Werkzeug Punktwolke in Raster kann auch eine Bodenoberfläche aus einem Punktwolken-Szenen-Layer erstellt werden. Raster-Oberflächen, die nicht aus der Eingabepunktwolke stammen, können ebenfalls verwendet werden. Allerdings müssen Sie sicherstellen, dass die Z-Werte im Raster mit den Z-Werten in der Punktwolke übereinstimmen.

  • Wenn das Eingabemodell mit Punkten aus bestimmten Klassen trainiert und diese aus den Trainingsdaten ausgeschlossen wurden, stellen Sie mithilfe des Parameters Ausgeschlossene Klassencodes sicher, dass diese Punkte aus der Gruppe von Punkten ausgeschlossen werden, die von diesem Modell evaluiert werden. Durch den Ausschluss von Klassen, die keinen nützlichen Kontext für die Ziele eines bestimmten Modells bieten, reduziert sich die Anzahl der ausgewerteten Punkte. Auf diese Weise kann das Modell schneller trainiert und angewendet werden. So haben Punkte, die Gebäude darstellen, normalerweise keine Relevanz für Punkte, die Objekte wie Ampeln, Stromleitungen oder Autos darstellen. Gebäudepunkte können auch zuverlässig mit dem Werkzeug Gebäude aus LAS klassifizieren klassifiziert werden. Wenn Punkte der Klasse 6, die Gebäude darstellt, in den Trainingsdaten für die Erstellung des Modells ausgeschlossen wurden, müssen von der Eingabepunktwolke ebenfalls die Gebäudepunkte klassifiziert und in diesem Werkzeug ausgeschlossen werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabepunktwolke

Die Punktwolke, die zum Erkennen von Objekten verwendet wird.

LAS Dataset Layer
Eingabe-Modelldefinition

Das Objekterkennungsmodell, das verwendet wird. Eine Esri Modelldefinitionsdatei (.emd), ein Deep-Learning-Paket (.dlpk) oder ein veröffentlichtes Objekterkennungsmodell aus ArcGIS Online oder Portal for ArcGIS kann angegeben werden.

File; String
Zielobjekte

Die Objekte, die in der Eingabepunktwolke identifiziert werden, sowie die Konfidenz- und Überlappungsschwellenwerte, die beim Akzeptieren der erkannten Objekte herangezogen werden.

  • Objektcode: Die Codes, die die Objekte darstellen, für deren Identifizierung das Modell trainiert wurde.
  • Konfidenz: Der Konfidenzschwellenwert für die Objekterkennung liegt im Bereich von 0,0 bis 1,0. Ein höherer Wert bedeutet, dass weniger Objekte die Kriterien für eine positive Identifikation erfüllen. Durch Festlegen des Schwellenwertes auf 1,0 ist eine Sicherheit von 100 Prozent erforderlich. Dadurch ist es im Grunde unmöglich, dass ein Objekt erkannt wird. Wenn Sie ein bestimmtes Objekt aus der Ausgabe ausschließen möchten, legen Sie dessen Konfidenzschwellenwert auf 1,0 fest.
  • Überlappung: Der Überlappungsschwellenwert bietet eine Möglichkeit, das Objekt auszuwählen, das erhalten bleibt, wenn mehrere überlappende Objekte identifiziert wurden. Der Überlappungsschwellenwert beschreibt das Verhältnis zwischen Überschneidung und Vereinigung überlappender Rahmen. Wenn mehrere Objekte überlappen und über dem Überlappungsschwellenwert liegen, bleibt das Objekt mit dem höchsten Konfidenzwert erhalten.

Value Table
Ausgabeobjekt-Features

Die Ausgabe-Multipatch-Features, die die Rahmen enthalten, die die in der Eingabepunktwolke erkannten Objekte umgeben.

Feature Class
Batch-Größe
(optional)

Die Anzahl von Blöcken der Eingabepunktwolke, die gleichzeitig verarbeitet werden. Wenn kein Wert angegeben wird, wird immer nur ein Block zurzeit verarbeitet.

Long
Verarbeitungsbegrenzung

Ein Polygon-Feature, das den Interessenbereich definiert, der verarbeitet werden soll.

Feature Layer
Bezugsoberfläche

Die Raster-Oberfläche, die zum Berechnen der relativen Höhen für jeden Punkt verwendet wird. Der Parameter ist erforderlich, wenn das Eingabemodell relative Höhenattribute enthält. Dadurch wird angegeben, dass es mit einer Bezugshöhen-Raster-Oberfläche trainiert wurde.

Raster Layer
Ausgeschlossene Klassen

Die Klassencodes aus der Eingabepunktwolke, die von den Punkten ausgeschlossen werden, die zum Erkennen von Objekten verarbeitet werden. Wenn das Modell mit Punkten aus bestimmten ausgelassenen Klassencodes trainiert wurde, sollten die Punkte in der Eingabepunktwolke die gleiche Klasse von Objekten identifizieren und ausschließen, um die besten Ergebnisse zu erhalten.

Long

arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, target_objects, out_features, {batch_size}, boundary, reference_height, excluded_class_codes)
NameErläuterungDatentyp
in_point_cloud

Die Punktwolke, die zum Erkennen von Objekten verwendet wird.

LAS Dataset Layer
in_trained_model

Das Objekterkennungsmodell, das verwendet wird. Eine Esri Modelldefinitionsdatei (.emd), ein Deep-Learning-Paket (.dlpk) oder ein veröffentlichtes Objekterkennungsmodell aus ArcGIS Online oder Portal for ArcGIS kann angegeben werden.

File; String
target_objects
[target_objects,...]

Die Objekte, die in der Eingabepunktwolke identifiziert werden, sowie die Konfidenz- und Überlappungsschwellenwerte, die beim Akzeptieren der erkannten Objekte herangezogen werden.

  • Objektcode: Die Codes, die die Objekte darstellen, für deren Identifizierung das Modell trainiert wurde.
  • Konfidenz: Der Konfidenzschwellenwert für die Objekterkennung liegt im Bereich von 0,0 bis 1,0. Ein höherer Wert bedeutet, dass weniger Objekte die Kriterien für eine positive Identifikation erfüllen. Durch Festlegen des Schwellenwertes auf 1,0 ist eine Sicherheit von 100 Prozent erforderlich. Dadurch ist es im Grunde unmöglich, dass ein Objekt erkannt wird. Wenn Sie ein bestimmtes Objekt aus der Ausgabe ausschließen möchten, legen Sie dessen Konfidenzschwellenwert auf 1,0 fest.
  • Überlappung: Der Überlappungsschwellenwert bietet eine Möglichkeit, das Objekt auszuwählen, das erhalten bleibt, wenn mehrere überlappende Objekte identifiziert wurden. Der Überlappungsschwellenwert beschreibt das Verhältnis zwischen Überschneidung und Vereinigung überlappender Rahmen. Wenn mehrere Objekte überlappen und über dem Überlappungsschwellenwert liegen, bleibt das Objekt mit dem höchsten Konfidenzwert erhalten.

Value Table
out_features

Die Ausgabe-Multipatch-Features, die die Rahmen enthalten, die die in der Eingabepunktwolke erkannten Objekte umgeben.

Feature Class
batch_size
(optional)

Die Anzahl von Blöcken der Eingabepunktwolke, die gleichzeitig verarbeitet werden. Wenn kein Wert angegeben wird, wird immer nur ein Block zurzeit verarbeitet.

Long
boundary

Ein Polygon-Feature, das den Interessenbereich definiert, der verarbeitet werden soll.

Feature Layer
reference_height

Die Raster-Oberfläche, die zum Berechnen der relativen Höhen für jeden Punkt verwendet wird. Der Parameter ist erforderlich, wenn das Eingabemodell relative Höhenattribute enthält. Dadurch wird angegeben, dass es mit einer Bezugshöhen-Raster-Oberfläche trainiert wurde.

Raster Layer
excluded_class_codes
[excluded_class_codes,...]

Die Klassencodes aus der Eingabepunktwolke, die von den Punkten ausgeschlossen werden, die zum Erkennen von Objekten verarbeitet werden. Wenn das Modell mit Punkten aus bestimmten ausgelassenen Klassencodes trainiert wurde, sollten die Punkte in der Eingabepunktwolke die gleiche Klasse von Objekten identifizieren und ausschließen, um die besten Ergebnisse zu erhalten.

Long

Codebeispiel

DetectObjectsFromPointCloudUsingTrainedModel: Beispiel (Python-Fenster)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

import arcpy
arcpy.env.workspace = 'C:/data/detect_cars'
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel('2018_survey.lasd', 'cars.emd',
                                                       [(1, 0.7, 0.4)], 'Cars_in_Point_Cloud.shp',
                                                       10, 'study_area_boundary.shp',
                                                       'dem.tif', [2, 6, 7, 18])