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

  • Dieses Werkzeug erfordert die Installation von Deep Learning Essentials, das mehrere neuronale Netzwerklösungen mit neuronalen Architekturen für die Klassifizierung von Punktwolken bietet.

    Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS Pro 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 Bezugsoberfläche ist erforderlich, wenn das Eingabemodell mit relativen Höhenattributen trainiert wurde. Die Raster-Oberfläche wird als Referenzhöhe verwendet, von der aus die relativen Höhen für jeden Punkt interpoliert werden. Dadurch erhält das Modell zusätzliche Informationen, die zur besseren Unterscheidung der Objekte verwendet werden können. Die für diesen Parameter angegebene Raster-Oberfläche sollte denselben Datentyp repräsentieren wie das Raster, das in den Trainingsdaten verwendet wurde, mit denen das Modell erstellt wurde. In den meisten Fällen handelt es sich um ein Raster, das aus klassifizierten Bodenpunkten erstellt wird. Aus den klassifizierten Bodenpunkten im LAS-Dataset kann eine Raster-Oberfläche generiert werden, indem ein Bodenfilter angewendet und das Werkzeug LAS-Dataset in Raster verwendet wird. Eine Bodenoberfläche kann auch mit dem Werkzeug Punktwolke in Raster aus einem Punktwolken-Szenen-Layer generiert werden. Raster-Oberflächen, die nicht aus der Eingabe-Punktwolke generiert wurden, können auch verwendet werden. In diesem Fall müssen Sie aber sicherstellen, dass die Z-Werte im Raster mit den richtigen Z-Werten in der Punktwolke korrespondieren.

  • Wenn das Eingabemodell mit Punkten aus bestimmten Klassen trainiert wurde, die aus den Trainingsdaten ausgeschlossen wurden, verwenden Sie den Parameter Ausgeschlossene Klassencodes, um sicherzustellen, dass diese Punkte nicht in den für dieses Modell ausgewerteten Punkten enthalten sind. Durch den Ausschluss von Klassen, die keinen nützlichen Kontext für die Ziele eines bestimmten Modells bieten, wird die Anzahl der auszuwertenden Punkte verringert, was die Geschwindigkeit des Trainings und der Anwendung des Modells erhöht. So sind beispielsweise Punkte, die Gebäude darstellen, in der Regel für Punkte irrelevant, die Objekte wie Ampeln, Stromleitungen oder Autos repräsentieren. Gebäudepunkte können auch mit dem Werkzeug Gebäude aus LAS klassifizieren zuverlässig klassifiziert werden. Wenn Punkte mit der Klasse 6, die Gebäude darstellt, in den Trainingsdaten, die zur Erstellung des Modells verwendet wurden, ausgeschlossen wurden, muss die Eingabe-Punktwolke auch Gebäudepunkte klassifizieren und von diesem Werkzeug ausschließen.

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

Das oder die Polygon-Features, die den zu verarbeitenden Bereich definieren.

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

Das oder die Polygon-Features, die den zu verarbeitenden Bereich definieren.

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])

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen