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 eine erforderliche Eingabe bei der Verwendung eines Klassifizierungsmodells, das mit Informationen zur Bezugshöhe trainiert wurde. Das für diesen Parameter angegebene Raster wird verwendet, um für jeden überlappenden Punkt das Attribut für die relative Höhe abzuleiten. Das Attribut wird berechnet, indem die durch bilineare Interpolation aus dem Raster ermittelte Höhe vom Z-Wert subtrahiert wird. Diese Informationen können bei der Unterscheidung von Objekten helfen, die mit Klassen verknüpft sind, die einen bestimmten Bereich relativer Höhen von der Raster-Oberfläche aufweisen. Wenn das Modell mit Informationen zur relativen Höhe trainiert wird, sollte die als Eingabe für die Klassifizierung angegebene Raster-Oberfläche auf demselben Punkttyp basieren. Wenn das Raster, das für die Einbeziehung der relativen Höhe während des Trainings verwendet wurde, auf Punkten mit Bodenklassifizierung basierte, geben Sie denselben Raster-Typ für dieses Werkzeug an. Für LAS-Datasets, die Vermessungen im Freien darstellen, sind Punkte mit Bodenklassifizierung aus derselben Punktwolke die üblichste Quelle für Informationen zur relativen Höhe. Aus den Punkten mit Bodenklassifizierung kann eine Raster-Oberfläche erstellt werden, indem das LAS-Dataset aus den Layer-Eigenschaften gefiltert und das Werkzeug LAS-Dataset in Raster verwendet wird. Wenn das Werkzeug in Python verwendet wird, kann vor der Erstellung des Rasters das Werkzeug LAS-Dataset-Layer erstellen zum Filtern nach den gewünschten Punkten verwendet werden. 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 Sie ein Klassifizierungsmodell verwenden, das mit bestimmten Klassen trainiert wurde, die aus dem Modell ausgeschlossen wurden, stellen Sie mithilfe des Parameters Ausgeschlossene Klassencodes sicher, dass dieselben Punkte aus der Gruppe von Punkten ausgeschlossen werden, die vom Modell evaluiert werden. Das bedeutet, dass die ausgeschlossenen Punkte vor der Ausführung dieses Werkzeugs für die zu klassifizierende oder zu evaluierende Punktwolke klassifiziert sein sollten. Das Ausschließen von Klassen, die keinen nützlichen Kontext für das Ableiten der Klassifizierung von relevanten Objekten liefern, bietet den Vorteil, dass das Trainingstempo und der Inferenzprozess verbessert werden können, da weniger Punkte evaluiert werden müssen. So spielen zum Beispiel als Gebäude klassifizierte Punkte normalerweise keine Rolle für das Training eines Klassifizierungsmodells für Objekte wie Verkehrsampeln, Stromleitungen oder verschiedene Eisenbahnanlagen. Gebäudepunkte können auch mit dem Werkzeug Gebäude aus LAS klassifizieren klassifiziert werden. Wenn Punkte der Klasse 6, die Gebäude darstellt, beim Training des Modells ausgeschlossen wurden, müssen Sie Gebäudepunkte in den Punktwolken klassifizieren, die dieses Modell verwenden, um andere relevante Objekte zu klassifizieren.

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 jeden Punkt in den Punktwolkendaten verwendet wird. Punkte, die nicht mit dem Raster überlappen, werden bei der Analyse nicht berücksichtigt.

Raster Layer
Ausgeschlossene Klassencodes
(optional)

Die von der Verarbeitung ausgeschlossenen Klassencodes. Es 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 jeden Punkt in den Punktwolkendaten verwendet wird. Punkte, die nicht mit dem Raster überlappen, werden bei der Analyse nicht berücksichtigt.

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

Die von der Verarbeitung ausgeschlossenen Klassencodes. Es 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)

Anhand des folgenden Beispiels 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