Skip to main content

Punktwolken-Klassifizierungsmodell trainieren (3D Analyst Tools)

Zusammenfassung

Trainiert ein Deep-Learning-Modell für die Punktwolkenklassifizierung.

Weitere Informationen zum Trainieren eines Punktwolken-Klassifizierungsmodells

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 für ArcGIS".

  • Das Punktwolken-Klassifizierungsmodell kann mit einer CUDA-fähigen NVIDIA-Grafikkarte oder der CPU trainiert werden. Bei Verwendung der GPU ergeben sich in der Regel kürzere Rechenzeiten als bei Verwendung der CPU. Verwenden Sie die CPU nur, wenn keine GPU verfügbar ist. Wenn Sie zum Training die CPU verwenden, verwenden Sie zunächst die RandLA-Net-Architektur, da diese weniger Speicher verwendet als PointCNN. Sie können auch mit dem kleinstmöglichen Trainingsgebiet experimentieren, um vor dem Training mit dem vollständigen Dataset den Zeitbedarf für die Verarbeitung der Daten zu schätzen.

  • Wenn Sie auf einem Computer mit mehreren Grafikkarten die GPU zum Trainieren eines Modells verwenden, wählt das Werkzeug die schnellste dieser Grafikkarten aus. Sie können die GPU auch mit der Umgebungseinstellung "GPU-ID" angeben. Wenn der Computer über mehrere Grafikkarten verfügt, können Sie die Trainings-Performance maximieren, indem Sie die Grafikkarte mit den meisten Datenverarbeitungsressourcen für das Training und die mit weniger Ressourcen für die Bildschirmanzeige auswählen. Wenn die ausgewählte GPU auch für die Bildschirmanzeige verwendet wird und während des Trainings das Betriebssystem oder Anwendungen den Bildschirm verwenden, verringert sich der verfügbare Speicher.

  • Der Einsatz eines vortrainierten Modells hat Vorteile. Dies gilt insbesondere, wenn Ihre Daten, Ihre Zeit oder Ihre Rechenressourcen beschränkt sind. Vortrainierte Modelle verringern die Notwendigkeit eines intensiven Trainings und bieten einen zuverlässigen Ausgangspunkt, mit dem die Erstellung eines nützlichen Modells beschleunigt werden kann. Zum Verwenden eines vortrainierten Modells müssen die neuen Trainingsdaten mit dem vortrainierten Modell kompatibel sein. Stellen Sie sicher, dass die neuen Trainingsdaten dieselben Attribute und Klassencodes wie die Trainingsdaten aufweisen, aus denen das vortrainierte Modell erstellt wurde. Wenn Klassencodes in den Trainingsdaten nicht mit den Klassen im vortrainierten Modell übereinstimmen, müssen die Klassen der Trainingsdaten entsprechend neu zugeordnet werden.

  • Bei Ausführung des Werkzeugs wird in der Fortschrittsmeldung die folgende Statistik der Trainingsergebnisse zurückgegeben, die in den einzelnen Epochen erreicht wurden:

    • Epoch—Die Nummer der Epoche, mit der das Ergebnis verknüpft ist

    • Training Loss—Das Ergebnis der Entropieverlustfunktion, deren Durchschnitt für die Trainingsdaten ermittelt wurde

    • Validation Loss—Das Ergebnis der Entropieverlustfunktion, die bei der Anwendung des in der Epoche mit den Validierungsdaten trainierten Modells bestimmt wurde

    • Accuracy—Der Anteil der Punkte in den Validierungsdaten, die von dem in der Epoche trainierten Modell richtig klassifiziert wurden (True Positives), im Verhältnis zu allen Punkten in den Validierungsdaten

    • Precision—Der Makrodurchschnitt der Precision für alle Klassencodes

    • Recall—Der Makrodurchschnitt des Recalls für alle Klassencodes

    • F1 Score—Das harmonische Mittel des Makrodurchschnitts der Precision- und Recall-Werte für alle Klassencodes

    Ein Modell mit geringem Trainingsverlust, jedoch hohem Validierungsverlust hat eine Überanpassung der Trainingsdaten zum Ergebnis. Dabei erkennt das Modell Muster aus Artefakten in den Trainingsdaten, sodass mit dem Modell keine guten Ergebnisse für die Validierungsdaten erzielt werden. Ein Modell mit hohem Trainingsverlust und hohem Validierungsverlust resultiert in einer Unteranpassung der Trainingsdaten. Dadurch werden im Grunde keine Muster erlernt, mit denen ein brauchbares Modell erzielt wird.

    Weitere Informationen zur Ergebnisauswertung beim Trainieren von Punktwolken

  • Es wird ein Ordner erstellt, in dem die Kontrollpunktmodelle gespeichert werden. Dabei handelt es sich um Modelle, die am Ende jeder Epoche erstellt werden. Der Name dieses Ordners entspricht dem des Modells mit dem Suffix .checkpoints. Er wird im Parameterwert Speicherort des Ausgabemodells gespeichert. Nach Abschluss des Trainings wird im Kontrollpunktordner eine CSV-Tabelle mit einem Namen erstellt, der mit dem Parameterwert Name des Ausgabemodells beginnt und mit _stats.csv endet. Diese Tabelle enthält die folgenden Felder, die sich auf die Ergebnisse beziehen, die für die einzelnen Klassencodes erhalten wurden:

    • Epoch—Die Nummer der Epoche, die mit den Ergebnissen in der Zeile verknüpft ist. Dieser Wert entspricht dem Modell, das im Verzeichnis für die Kontrollpunktmodelle erstellt wird. Die Ergebnisse werden erzielt, indem das in der Epoche trainierte Modell auf die Validierungsdaten angewendet wird.

    • Class_Code—Der Klassencode, für den die Ergebnisse aufgezeichnet werden.

    • Precision—Das Verhältnis von korrekt klassifizierten Punkten (True Positives) zu allen klassifizierten Punkten (True Positives und False Positives).

    • Recall—Das Verhältnis von korrekt klassifizierten Punkten (True Positives) zu allen Punkten, die mit diesem Wert hätten klassifiziert werden sollen (True Positives und False Negatives).

    • F1_Score—Das harmonische Mittel des Precision- und des Recall-Wertes.

  • Der für das Training verwendete dedizierte Speicher ergibt sich aus dem Speicher, der vom Deep-Learning-Framework zugewiesen wurde, plus dem Umfang der Daten, die in jedem Batch einer Iteration für eine Epoche verarbeitet werden. Die Größe der Daten in jedem Batch hängt von mehreren Faktoren ab: der Anzahl an zusätzlichen Punktattributen, die im Parameter Attributauswahl angegeben sind, der Gesamtanzahl von Punkten in einem Block sowie die im Parameter Batch-Größe angegebene Anzahl an Blocks, die in jedem Batch verarbeitet werden. Die maximale Anzahl an Punkten pro Block wird beim Export der Trainingsdaten bestimmt. Beim Einschätzen des Speicherbedarfs für den Trainingsvorgang sollte für diesen Wert ein Schätzwert verwendet werden.

  • Die Option Relative Höhe des Parameters Attributauswahl ist ein Attribut, das die Höhe eines Punktes von einer Bezugsfläche identifiziert, z. B. ein Höhenmodell der unbebauten Erdoberfläche. Die Verwendung dieses Attributs kann möglicherweise die Fähigkeit des Modells verbessern, Richtungsbeziehungen während des Trainingsprozesses zu erlernen.

Parameter

Beschriftung Erläuterung Datentyp

Eingabe-Trainingsdaten

Die Punktwolken-Trainingsdaten (*.pctd-Datei), mit denen das Klassifizierungsmodell trainiert wird.

File

Speicherort des Ausgabemodells

Ein vorhandener Ordner, in dem das neue Verzeichnis mit dem Deep-Learning-Modell gespeichert wird.

Folder

Name des Ausgabemodells

Der Name der Definitionsdatei des Esri Ausgabemodells (**.emd), des Deep-Learning-Pakets (*.dlpk)) und des Verzeichnisses, das erstellt wird, um diese Komponenten zu speichern.

String

Vortrainiertes Modell

(Optional)

Das vortrainierte Modell, das optimiert wird. Wird ein vortrainiertes Modell angegeben, müssen die Eingabe-Trainingsdaten dieselben Angaben für Attribute, Klassencodes und maximale Anzahl an Punkten aufweisen wie die Trainingsdaten, aus denen das vortrainierte Modell erstellt wurde.

File

Attributauswahl

(Optional)

Gibt die Punktattribute an, die zum Trainieren des Modells verwendet werden. Nur die Attribute, die in den Punktwolken-Trainingsdaten vorhanden sind, sind verfügbar. Standardmäßig sind keine zusätzlichen Attribute enthalten.

  • IntensityThe measure of the magnitude of the lidar pulse return will be used.

  • Return NumberThe ordinal position of the point obtained from a given lidar pulse will be used.

  • Number of ReturnsThe total number of lidar returns that were identified as points from the pulse associated with a given point will be used.

  • Red BandThe red band's value from a point cloud with color information will be used.

  • Green BandThe green band's value from a point cloud with color information will be used.

  • Blue BandThe blue band's value from a point cloud with color information will be used.

  • Near Infrared BandThe near infrared band's value from a point cloud with near infrared information will be used.

  • Relative HeightThe relative height of each point in relation to a reference surface, which would typically be a bare earth DEM, will be used.

String

Minimale Anzahl an Punkten pro Block

(Optional)

Die minimale Anzahl an Punkten, die in einem bestimmten Block vorhanden sein müssen, damit er beim Training des Modells verwendet werden kann. Die Standardeinstellung ist 0.

Long

Klassenneuzuordnung

(Optional)

Definiert, wie Klassencodewerte vor dem Training des Deep-Learning-Modells neuen Werten zugeordnet werden.

Spalten der Wertetabelle:

  • Current ClassThe class code value in the training data.

  • Remapped ClassThe class code that the existing code will be changed to.

Value Table

Relevante Klassencodes

(Optional)

Die Klassencodes, die zum Filtern der Blöcke in den Trainingsdaten verwendet werden. Wenn relevante Klassencodes angegeben werden, werden alle anderen Klassencodes dem Hintergrund-Klassencode neu zugeordnet.

Long

Hintergrund-Klassencode

(Optional)

Der Klassencodewert, der für alle anderen Klassencodes verwendet wird, wenn relevante Klassencodes angegeben wurden.

Long

Klassenbeschreibung

(Optional)

Hier wird beschrieben, was die einzelnen Klassencodes in den Trainingsdaten darstellen.

Spalten der Wertetabelle:

  • Current CodeThe class code value that was learned by the model.

  • Class DescriptionThe object described by the class code.

Value Table

Kriterien für die Modellauswahl

(Optional)

Gibt die statistische Grundlage für die Bestimmung des finalen Modells an.

  • Validation LossThe model that achieves the lowest result when the entropy loss function is applied to the validation data will be used.

  • RecallThe model that achieves the best macro average of the recall for all class codes will be used. Each class code's recall value is determined by the ratio of correctly classified points (true positives) over all the points that should have been classified with this value (expected positives). This is the default.

  • F1 ScoreThe model that achieves the best harmonic mean between the macro average of the precision and recall values for all class codes will be used. This provides a balance between precision and recall, which favors better overall performance.

  • PrecisionThe model that achieves the best macro average of the precision for all class codes will be used. Each class code's precision is determined by the ratio of points that are correctly classified (true positives) over all the points that are classified (true positives and false positives).

  • AccuracyThe model that achieves the highest ratio of corrected classified points over all the points in the validation data will be used.

String

Maximale Anzahl an Epochen

(Optional)

Die Angabe, wie oft jeder Datenblock einmal vorwärts und einmal rückwärts durch das neuronale Netz geleitet wird. Der Standardwert ist 25.

Long

Iterationen pro Epoche (%)

(Optional)

Der Prozentsatz der Daten, die in jeder Trainingsepoche verarbeitet werden. Die Standardeinstellung ist 100.

Double

Lernrate

(Optional)

Die Rate, mit der vorhandene Informationen durch neu erworbene Informationen überschrieben werden. Ist kein Wert angegeben, wird die optimale Lernrate während des Trainingsprozesses aus der Lernkurve extrahiert. Dies ist die Standardeinstellung.

Double

Batch-Größe

(Optional)

Die Anzahl der Trainingsdatenblöcke, die zu einem bestimmten Zeitpunkt verarbeitet werden. Die Standardeinstellung ist 2.

Long

Training beenden, wenn sich das Modell nicht mehr verbessert

(Optional)

Gibt an, ob das Modelltraining beendet wird, wenn der für den Parameter Kriterien für die Modellauswahl angegebene Kennwert nach fünf aufeinanderfolgenden Epochen keine Verbesserung registriert.

  • AktiviertThe model training will stop when the model is no longer improving. This is the default.

  • DeaktiviertThe model training will continue until the maximum number of epochs has been reached.

Boolean

Lernratenstrategie

(Optional)

Gibt an, wie die Lernrate während des Trainings geändert wird.

  • One Cycle Learning RateThe learning rate will be cycled throughout each epoch using Fast.AI's implementation of the 1cycle technique for training neural networks to help improve the training of a convolutional neural network. This is the default.

  • Fixed Learning RateThe same learning rate will be used throughout the training process.

String

Modellarchitektur

(Optional)

Gibt die Architektur des neuronalen Netzwerks an, die zum Trainieren des Modells verwendet wird. Bei Angabe eines vortrainierten Modells wird die zum Erstellen des vortrainierten Modells verwendete Architektur automatisch festgelegt.

  • PointCNNThe PointCNN architecture will be used.

  • RandLA-NetThe RandLA-Net architecture will be used. RandLA-Net is built on the principles of simple random sampling and local feature aggregation.

  • Semantic Query NetworkThe Semantic Query Network (SQN) architecture will be used. SQN does not require a comprehensive classification of the training data as the other neural network architectures do.

  • Point Transformer V3The Point Transformer V3 architecture will be used. This is the default.

String

Verlustfunktion

(Optional)

Gibt die Verlustfunktion an, die beim Training verwendet wird.

  • Cross Entropy LossCross entropy loss will be used. This function is best suited for training data in which each class has a similar number of points to the other classes. This is the default.

  • Focal LossFocal loss will be used. This function is best suited for training data in which the classes that are being trained may have point counts with great variation.

String

Abgeleitete Ausgabe

Beschriftung Erläuterung Datentyp

Ausgabemodell

Das mit diesem Werkzeug generierte Modell.

File

Ausgabe-Modellstatistiken

Die .csv-Datei mit Precision, Recall und F-Maß für die einzelnen Klassencodes und Epochen.

Text File

Ausgabe-Epochen-Statistik

Die .csv-Datei, die den Trainingsverlust, den Validierungsverlust, die Genauigkeit, die Präzision, den Recall und die F1-Scores enthält, die in jeder Epoche erzielt wurden.

Text File

Umgebungen

Prozessortyp, GPU-ID

Lizenzierungsinformationen

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