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.csvendet. 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 ( |
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 ( |
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.
|
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:
|
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:
|
Value Table |
|
Kriterien für die Modellauswahl (Optional) |
Gibt die statistische Grundlage für die Bestimmung des finalen Modells an.
|
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.
|
Boolean |
|
Lernratenstrategie (Optional) |
Gibt an, wie die Lernrate während des Trainings geändert wird.
|
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.
|
String |
|
Verlustfunktion (Optional) |
Gibt die Verlustfunktion an, die beim Training verwendet wird.
|
String |
Abgeleitete Ausgabe
| Beschriftung | Erläuterung | Datentyp |
|---|---|---|
|
Ausgabemodell |
Das mit diesem Werkzeug generierte Modell. |
File |
|
Ausgabe-Modellstatistiken |
Die |
Text File |
|
Ausgabe-Epochen-Statistik |
Die |
Text File |
Umgebungen
Lizenzierungsinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst