Traffic Intersection Analysis

Dieser Funktionsblock hilft Ihnen, Fahrzeugbewegungen durch definierte Bereiche einer Kreuzung zu zählen und zu protokollieren. Er wandelt verfolgte Erkennungen und polygonale Bereiche in Routendaten um (zum Beispiel bedeutet "1-2", dass ein Fahrzeug von Bereich 1 in Bereich 2 gefahren ist). Für die einfache Integration in ein Inspektionsszenario liefert er zusammengefasste Tracking-Daten, die exportiert oder angezeigt werden können.

📥 Eingänge (sockets)

  • Rectangle - ID List — Liefert verfolgte Erkennungen (Bounding-Boxen mit Tracking-IDs).

  • Polygon Areas — Eine oder mehrere Polygonbereiche, die die zu überwachenden Kreuzungszonen definieren.

  • Reset Tracking Log — Boolescher Eingang zum Löschen der gespeicherten Tracking-Historie und Zähler.

📤 Ausgänge (sockets)

  • Tracking Data — Aggregierte Routen-Zählungen (JSON-ähnliches Format), die zeigen, wie viele Fahrzeuge eines Typs zwischen Bereichspaaren passiert sind (z. B. "1-2": {"car": 3, "bus": 1}).

🕹️ Steuerungen

  • Reset Tracking Log — Lösen Sie diesen Eingang aus (z. B. mit einem manuellen Schalter), um alle Zähler und die interne Historie zurückzusetzen.

  • (Polygonbereiche werden über den Polygon Areas-Socket bereitgestellt; benutzen Sie einen Polygon-Auswahlblock, um sie zu definieren.)

🎯 Hauptfunktionen

  • Verwendet verfolgte Bounding-Boxen und Tracking-IDs, um Erkennungen über mehrere Frames hinweg zuzuordnen und Bereichswechsel zu erkennen.

  • Hält eine kurze Positionshistorie pro getracktem Objekt, um Rauschen zu stabilisieren, bevor entschieden wird, in welchem Polygonbereich sich das Objekt befindet.

  • Erzeugt routenbasierte Statistiken (Übergänge von Bereich zu Bereich) gruppiert nach Fahrzeugtyp.

  • Unterstützt mehrere Polygonbereiche (jeder Bereich kann viele Eckpunkte haben).

  • Reset-Option zum manuellen Zurücksetzen von Historie und Zählern.

⚙️ Funktionsweise (auf hoher Ebene)

  • Der Block akzeptiert eine Liste von getrackten Rechtecken mit IDs und optionalen Fahrzeugklassen.

  • Für jedes getrackte Objekt wird ein repräsentativer Punkt (Unterkante Mitte der Bounding-Box) berechnet und eine kurze Historie der letzten Positionen für diese ID gepflegt.

  • Der repräsentative Punkt (gemittelt über die jüngsten Positionen) wird gegen die übergebenen Polygonbereiche geprüft, um den aktuellen Bereich für das Fahrzeug zu bestimmen.

  • Ändert sich der Bereich eines Fahrzeugs (z. B. von Bereich 1 zu Bereich 2), wird der Übergang aufgezeichnet und der entsprechende Routen-Zähler für diesen Fahrzeugtyp erhöht.

  • Die aggregierten Routen-Zählungen werden als strukturierte Daten über den Tracking Data-Socket ausgegeben.

  • Das Aktivieren des Eingangs Reset Tracking Log löscht alle gespeicherten Historien und Zähler.

📝 Nutzungshinweise

  1. Liefern Sie getrackte Erkennungen an den Eingang Rectangle - ID List. Verwenden Sie einen Tracker, der Rechtecke mit stabilen IDs ausgibt.

  2. Definieren Sie Kreuzungsbereiche mit Polygonen und verbinden Sie diese mit dem Eingang Polygon Areas.

  3. Um Zähler und Historie jederzeit zurückzusetzen, senden Sie ein TRUE-Signal an den Eingang Reset Tracking Log.

  4. Lesen Sie die Live-Routenstatistiken über den Ausgang Tracking Data und verwenden Sie sie für Anzeige, Protokollierung oder Export.

💡 Tipps und Tricks

  • Verwenden Sie Object_Detection_Tracker, um den Eingang Rectangle - ID List bereitzustellen. Dieser Block liefert getrackte Rechtecke und IDs, die sich gut für die Routenanalyse eignen.

  • Zeichnen und speichern Sie Polygonbereiche mit Image ROI Polygon Multi und verbinden Sie dessen Polygons-Ausgang mit dem Block-Eingang Polygon Areas. So lassen sich mehrere Kreuzungszonen visuell definieren.

  • Nutzen Sie Logic Input als manuellen Trigger für Reset Tracking Log, wenn Sie das Zählen zu bekannten Zeitpunkten (Schichtwechsel, Testläufe usw.) neu starten möchten.

  • Zur visuellen Verifikation verbinden Sie Erkennungen mit Draw Detections, um Rechtecke/IDs im Video zu überlagern, und senden das Ergebnis an Show Image, um es live zu prüfen.

  • Exportieren Sie zusammengefasste Ergebnisse für Berichte mit Data to JSON oder CSV Export, indem Sie den Tracking Data-Ausgang verwenden.

  • Bei verrauschten Erkennungen empfiehlt sich eine leichte Vorverarbeitung (z. B. mildes Denoising), damit Tracking-IDs stabiler bleiben.

🛠️ Fehlerbehebung

  • Keine Übergänge aufgezeichnet: Prüfen Sie, ob Rectangle - ID List stabile Tracking-IDs über mehrere Frames liefert (unstabile IDs verhindern das Erkennen von Bereichswechseln).

  • Falsche Bereichszuweisung: Stellen Sie sicher, dass die Polygon-Koordinaten zur Kameransicht passen; verwenden Sie Image ROI Polygon Multi, um die Polygone im tatsächlichen Bild neu zu zeichnen.

  • Zähler werden nicht zurückgesetzt: Vergewissern Sie sich, dass der Eingang Reset Tracking Log ein TRUE-Signal erhält (z. B. von Logic Input oder einem anderen Steuerblock).

  • Fehlende Fahrzeugtyp-Labels: Routen-Zählungen werden nach Fahrzeugtyp gruppiert, wenn diese Metadaten vorliegen; stellen Sie sicher, dass Ihr Tracker Klasse/Typ zusammen mit den IDs ausgibt.

Zuletzt aktualisiert