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

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

Verwandte Themen