Punktwolken-Klassifizierungsmodell evaluieren (3D Analyst)

Zusammenfassung

Wertet die Qualität eines oder mehrerer Punktwolken-Klassifizierungsmodelle aus, wobei eine gut klassifizierte Punktwolke als Basislinie für den Vergleich der Klassifizierungsergebnisse der einzelnen Modelle verwendet wird.

Verwendung

  • Um optimale Auswertungsergebnisse zu erhalten, muss die Referenzpunktwolke richtig für die relevanten Objekte, die ausgewertet werden, klassifiziert sein.

  • Alle Eingabemodelle, die ausgewertet werden, müssen dieselben Klassifizierungscodes aufweisen. Wenn die Referenzpunktwolke keine Klassencodes aufweist, deren Werte oder Bedeutung mit den Klassen in den ausgewerteten Modellen übereinstimmen, verwenden Sie den Parameter Punktwolkenklassen-Neuzuordnung, um der Klassifizierung der Referenzpunktwolke die in den trainierten Modellen enthaltenen Codes zuzuweisen.

  • Die Deep-Learning-Architektur "PointCNN" dient zum Erstellen des Punktwolken-Klassifizierungsmodells. Diese Architektur führt beim Verarbeiten derselben Eingabedaten möglicherweise zu geringfügig anderen Ergebnissen. Sie können dasselbe Modell mehr als einmal als Eingabe festlegen, um die Konsistenz des Klassifizierungsergebnisses aus der Punktwolke zu evaluieren. Weitere Informationen zur möglichen Variabilität in den Klassifizierungsergebnissen finden Sie unter PointCNN: Convolution On X-Transformed Points.

  • Der Auswertungsprozess erstellt mehrere Ausgabedateien für den Parameter Zielordner. Die einzelnen Dateinamen beginnen mit dem für den Parameter Basisname angegebenen Wert.

    • <Basisname>_ModelStatistics.csv: Eine Tabelle, die für jedes Modell Gesamtgenauigkeit, Genauigkeit, Recall und F-Maß enthält.
    • <Basisname>_ClassCodeStatistics.csv: Eine Tabelle, in der die Auswertungsergebnisse für Genauigkeit, Präzision, Recall und F-Maß für jeden Klassencode zusammengefasst werden.
    • <Basisname>_ConfusionMatrices.csv: Eine Tabelle, in der zusammengefasst wird, wie die einzelnen Punkte aus jedem Klassencode in der Referenzpunktwolke von den Eingabemodellen klassifiziert wurden. Diese Tabelle enthält neben der Anzahl der True Positives und False Positives die Klassen, in denen die False Positives aufgetreten sind.
    • <Basisname>_ConfusionMatrix_<model number>.png: Ein Bild, das ein Diagramm mit einer verständlichen Darstellung der Konfusionsmatrix für ein bestimmtes Modell zeigt.
  • 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
Eingabe-Modelldefinition

Die Punktwolken-Klassifizierungsmodelle und Batch-Größen, die während des Evaluierungsprozesses verwendet werden.

Value Table
Referenzpunktwolke

Die Punktwolke die für die Auswertung der Klassifizierungsmodelle verwendet wird.

LAS Dataset Layer; File
Zielordner

Das Verzeichnis, in dem die Dateien mit den Evaluierungsergebnissen gespeichert werden.

Folder
Basisname

Das Präfix des Dateinamens, das für die Ausgabedateien mit den Evaluierungsergebnissen verwendet wird.

String
Verarbeitungsbegrenzung
(optional)

Das Polygon-Feature, das die Teile der zum Auswerten der Klassifizierungsmodelle verwendeten Referenzpunktwolke darstellt.

Feature Layer
Punktwolkenklassen-Neuzuordnung
(optional)

Die Klassencodes aus der Bezugspunktwolke müssen mit den Klassencodes in den zu evaluierenden Modellen übereinstimmen. Wenn die Klassencodes nicht übereinstimmen, verwenden Sie diesen Parameter, um die abweichenden Klassencodes in der Punktwolke mit den Klassen zu verknüpfen, die in den zu evaluierenden Modellen unterstützt werden.

Value Table
Bezugsoberfläche
(optional)

Die Raster-Oberfläche, die zum Angeben der relativen Höhe für die einzelnen Punkte in den Punktwolkendaten verwendet werden soll. Punkte, die sich mit dem Raster nicht überlappen, werden bei der Analyse weggelassen.

Raster Layer
Ausgeschlossene Klassencodes
(optional)

Die Klassencodes, die von der Verarbeitung ausgeschlossen werden sollen. Hier kann ein beliebiger Wert im Bereich von 0 bis 255 angegeben werden.

Long

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabe-Konfusionsmatrizen

Die Tabelle im CSV-Format, in der die Konfusionsmatrix für die einzelnen Klassencodes in jedem Eingabemodell gespeichert wird.

Text File
Ausgabe-Modellstatistiken

Die Tabelle im CSV-Format, in der die Gesamtstatistiken der Eingabemodelle zusammengefasst werden.

Text File
Ausgabe-Klassencode-Statistiken

Die Tabelle im CSV-Format, in der die Statistiken für die einzelnen Klassencodes in jedem Eingabemodell zusammengefasst werden.

Text File

arcpy.ddd.EvaluatePointCloudClassificationModel(in_trained_model, in_point_cloud, target_folder, base_name, {boundary}, {class_remap}, {reference_height}, {excluded_class_codes})
NameErläuterungDatentyp
in_trained_model
[in_trained_model,...]

Die Punktwolken-Klassifizierungsmodelle und Batch-Größen, die während des Evaluierungsprozesses verwendet werden.

Value Table
in_point_cloud

Die Punktwolke die für die Auswertung der Klassifizierungsmodelle verwendet wird.

LAS Dataset Layer; File
target_folder

Das Verzeichnis, in dem die Dateien mit den Evaluierungsergebnissen gespeichert werden.

Folder
base_name

Das Präfix des Dateinamens, das für die Ausgabedateien mit den Evaluierungsergebnissen verwendet wird.

String
boundary
(optional)

Das Polygon-Feature, das die Teile der zum Auswerten der Klassifizierungsmodelle verwendeten Referenzpunktwolke darstellt.

Feature Layer
class_remap
[class_remap,...]
(optional)

Die Klassencodes aus der Bezugspunktwolke müssen mit den Klassencodes in den zu evaluierenden Modellen übereinstimmen. Wenn die Klassencodes nicht übereinstimmen, verwenden Sie diesen Parameter, um die abweichenden Klassencodes in der Punktwolke mit den Klassen zu verknüpfen, die in den zu evaluierenden Modellen unterstützt werden.

Value Table
reference_height
(optional)

Die Raster-Oberfläche, die zum Angeben der relativen Höhe für die einzelnen Punkte in den Punktwolkendaten verwendet werden soll. Punkte, die sich mit dem Raster nicht überlappen, werden bei der Analyse weggelassen.

Raster Layer
excluded_class_codes
[excluded_class_codes,...]
(optional)

Die Klassencodes, die von der Verarbeitung ausgeschlossen werden sollen. Hier kann ein beliebiger Wert im Bereich von 0 bis 255 angegeben werden.

Long

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_confusion_matrices

Die Tabelle im CSV-Format, in der die Konfusionsmatrix für die einzelnen Klassencodes in jedem Eingabemodell gespeichert wird.

Text File
out_model_statistics

Die Tabelle im CSV-Format, in der die Gesamtstatistiken der Eingabemodelle zusammengefasst werden.

Text File
out_class_code_statistics

Die Tabelle im CSV-Format, in der die Statistiken für die einzelnen Klassencodes in jedem Eingabemodell zusammengefasst werden.

Text File

Codebeispiel

EvaluatePointCloudUsingTrainedModel: Beispiel (Python-Fenster)

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

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.EvaluatePointCloudUsingTrainedModel(
        ['Transmission_Power_Lines.dlpk', 'Distribution_Power_Lines.dlpk'], 
        'Classified_Power_Lines.lasd', 'D:/Evaluate_PointCNN_Models', 
        'Power_Line_Results_', 'test_boundary.shp', [[18, 14], [20, 14]])

Lizenzinformationen

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

Verwandte Themen