Dieses Projekt dient der Evaluierung eines Vorhersagemodells für die Bewegung autonomer Agenten, wobei die Vorhersage durch einen Fahrbefehl gesteuert wird. Die Bewertung findet auf einem Datensatz statt, der sich im Validierungsverzeichnis befindet. Jede Szene enthält bis zu 32 Agenten. 1. Daten und Vorbereitung Die Vorhersage basiert auf einer beobachteten Vergangenheit von 10 Zeitschritten und muss eine Zukunft von 20 Zeitschrittten berechnen. Ziel ist es: Die Steuerung der Trajektorie erfolgt über einen diskreten Befehl, wie "rechts", "links" oder "gerade". ◦ Dieser Befehl wird in ein One-Hot-Format übersetzt und anschließend von einer sequenziellen Struktur in eine eingebettete Darstellung der Dimension 128 transformiert. ◦ Diese eingebettete Information wird als zeitabhängige Konditionierung für alle Vorhersagezeitschritte verwendet. 2. Inferenzprozess (Rauschunterdrückung) Die Trajektorie wird iterativ durch einen Prozess der Rauschunterdrückung (Denoising) erzeugt, der auf einem optimierten Zeitplan für die Rauschlevel basiert. • Der gesamte Inferenzprozess läuft über 50 Schritte. • Der Rauschplan beginnt bei einem maximalen Rauschlevel von 20.0 und endet bei einem minimalen Level von 0.002. • Der verwendete iterative Lösungsalgorithmus nutzt einen Vorhersage- und Korrekturschritt (ähnlich dem Heun-Integrator), wobei er Zwischenschätzungen (x_tilde) berechnet, um die Denoising-Richtung zu verfeinern. Steuerung (Classifier-Free Guidance) In jedem Schritt dieses iterativen Prozesses wird die Steuerung der Vorhersage durch die Classifier-Free Guidance (CFG) gewährleistet. Dafür muss das Rauschunterdrückungsmodell in jedem Schritt zwei separate Ergebnisse liefern: 1. Ungesteuerte Vorhersage: Die Eingabe für die Vorhersage enthält den Agenten-Zustand, aber die konditionierenden Merkmale der Zukunft sind auf Null gesetzt. 2. Gesteuerte Vorhersage: Die Eingabe enthält den Agenten-Zustand und die tatsächliche eingebettete Befehlskonditionierung. Die endgültige Ausgabe, die zur Aktualisierung der Trajektorie verwendet wird, ist eine gewichtete Kombination dieser beiden Ergebnisse. Die Stärke der Steuerung wird durch den Skalierungsfaktor von 2.0 bestimmt (COND_SCALE). 3. Metriken und Bewertung Nachdem die iterative Rauschunterdrückung abgeschlossen ist und die finale, entrauschte Trajektorie (final_predicted_x0) vorliegt, wird die Leistung bewertet: • Rekonstruktionsverlust (Loss): Es wird der durchschnittliche quadratische Fehler (L2) zwischen den vorhergesagten Positionen und den tatsächlichen zukünftigen Positionen (Ground Truth) berechnet. Ungültige Datenpunkte werden dabei maskiert. • Direktionsgenauigkeit: Eine spezialisierte Struktur zur Richtungserkennung analysiert die final vorhergesagten Positionsdaten. ◦ Diese Struktur verwendet eine rekurrente Schicht, um die zeitliche Sequenz der Bewegungsdaten zu verarbeiten. ◦ Die Ausgabe dieser Struktur sind Logits für die drei möglichen Richtungen. ◦ Die Direktionsgenauigkeit ist der Anteil der Fälle, in denen die vom Modell abgeleitete Richtung mit dem ursprünglich als Konditionierung verwendeten Befehl übereinstimmt. Zur qualitativen Analyse wird zudem ein Plot erstellt, der die Vorhersage, die tatsächliche Bahn, die Anfangsrauschverteilung und die Straßengraphen der Szene visualisie