Object_Detection_Tracker

Dieser Funktionsblock verfolgt Objekte über mehrere Frames anhand der von Ihnen gelieferten Detektionsergebnisse. Er weist bewegten Objekten konsistente IDs zu, führt eine kurze Historie pro Track (inklusive stabiler Klassenbezeichnung, wenn verfügbar) und liefert ein annotiertes Bild sowie Listen, die Sie für Zählung, Protokollierung oder höhere Analysen nutzen können.

📥 Eingänge

  • Input Image Das aktuelle Bildframe, das für Visualisierung und Kontext der Verfolgung genutzt wird.

  • Detected Rectangles Eine Liste der erkannten Begrenzungsrechtecke (Bounding Boxes). Füttern Sie hier die Rechtecke, die von einem Objektdetektions-Block erzeugt wurden.

  • Detected Classes Eine Liste mit Klassennamen, die den bereitgestellten Detections entsprechen. Dient dazu, pro Track eine stabile Klassenbezeichnung zu ermitteln.

Hinweis: Dies sind Eingangs-Sockets. Verbinden Sie die Ausgänge Ihres Detektionsblocks mit diesen Eingängen.

📤 Ausgänge

  • Result Image Ein annotiertes Bild mit Bounding Boxes, IDs und Klassennamen für jeden aktiven Track.

  • Position - ID List Liste der Mittelpunktspositionen der verfolgten Objekte mit zugewiesenen IDs und stabilen Klassennamen.

  • Rectangle - ID List Liste der Bounding-Rectangles gepaart mit zugewiesenen IDs und stabilen Klassennamen.

Hinweis: Dies sind Ausgangs-Sockets. Nutzen Sie diese, um Visualisierung, Zählungen oder Weitergabe an andere Blöcke durchzuführen.

🕹️ Steuerungen

Dieser Block hat keine benutzerseitigen Steuerungen direkt am Block. Das Verhalten wird durch die hereinkommenden Detections sowie durch die Konfiguration vorgelagerter Blöcke (z. B. Sensitivität, Frequenz) gesteuert.

⚙️ Funktionsweise

  • Der Block erhält pro Frame die Detections (Rechtecke und Klassen) zusammen mit dem aktuellen Frame-Bild.

  • Er ordnet neue Detections bestehenden Tracks zu, sodass Identitäten über Frames hinweg konsistent bleiben.

  • Pro Track wird eine kurze Historie der Klassen gehalten, sodass angezeigte Klassennamen stabil werden und nicht bei kurzzeitigen Fehlklassifikationen umschalten.

  • Kurze Aussetzer (Frames ohne Detection) werden toleriert, damit Tracks nicht sofort verschwinden; inaktive Tracks werden nach längerer Inaktivität entfernt.

  • Als Ausgabe entstehen ein annotiertes Bild zur Visualisierung sowie strukturierte Listen (Positionen und Rechtecke mit IDs und Klassen) für die weitere Verarbeitung.

Diese Abläufe laufen automatisch; die Qualität der Tracking-Ergebnisse wird hauptsächlich durch die Güte und Frequenz der eingehenden Detections bestimmt.

🎯 Hauptfunktionen

  • Stabile ID-Zuordnung über mehrere Frames für jedes erkannte Objekt.

  • Pro-Track-Klassenstabilisierung, damit angezeigte Labels mit der Zeit konsistent werden.

  • Liefert sowohl visuelle Ergebnisse als auch strukturierte Listen für Analysen oder Logging.

  • Robust gegenüber kurzen Erkennungs-Ausfällen (temporäre verlorene Detections).

  • Erstellt neue Tracks für nicht zugeordnete Detections und entfernt inaktive Tracks automatisch.

📝 Nutzungshinweise

  1. Verbinden Sie eine Bildquelle mit dem Socket Input Image (z. B. Camera USB, IP camera, Stream oder vorab geladene Frames).

  2. Verbinden Sie einen Detektionsblock, der Rechtecke und Klassennamen liefert, mit Detected Rectangles und Detected Classes.

  3. Nutzen Sie Result Image, um die Tracking-Ausgabe vorzuschauen (z. B. mit Show Image).

  4. Verwenden Sie Position - ID List und Rectangle - ID List, um die Daten an nachfolgende Blöcke für Zählung, Protokollierung oder Analyse weiterzuleiten.

💡 Tipps und Tricks

  • Für beste Ergebnisse speisen Sie zuverlässige Detections ein (z. B. von Object Detection, Object Detection - Custom oder Object Detection (D-FINE)).

  • Wenn Sie Detections vor und nach dem Tracking betrachten wollen, verbinden Sie Result Image mit Show Image oder Draw Detections.

  • Zur Aufzeichnung senden Sie Result Image an Image Logger oder Record Video.

  • Um das Tracking auf einen Bereich zu fokussieren, schneiden Sie das Eingangsbild mit Image ROI, Image ROI Select oder Image ROI Polygon zu, bevor Sie die Detections erzeugen.

  • Zum Filtern falscher Detections oder zum Zählen nur innerhalb einer Region kombinieren Sie Rectangle - ID List mit Rectangles in Rectangle oder Check Area (Polygon).

  • Nutzen Sie die Ausgaben für höhere Anwendungen wie Traffic Intersection Analysis für Verkehrszählungen oder Bereichsüberquerungen.

  • Bei rauschen-den Detections kann Vorverarbeitung wie Blur, Image Threshold oder HSV Filter die Detektionsqualität und damit das Tracking verbessern.

🛠️ Fehlersuche

  • Keine Tracks sichtbar: Prüfen Sie, ob Detected Rectangles und Detected Classes gültige Daten vom Detektionsblock erhalten.

  • IDs wechseln schnell oder Labels flackern: Verbessern Sie die Stabilität der Detections (besseren Detector, Vorverarbeitung) damit der Block eine stabile Klassenhistorie aufbauen kann.

  • Tracks verschwinden zu schnell: Stellen Sie sicher, dass für aufeinanderfolgende Frames Detections geliefert werden; bei intermittierenden Detections sollten Sie die Erkennungsfrequenz erhöhen oder glätten.

  • Viele kurzlebige Tracks: Filtern Sie kleine oder niedrig-konfidente Detections vor dem Einspeisen oder beschränken Sie den Betrachtungsbereich (z. B. Image ROI Select), um Falschmeldungen zu reduzieren.

Beispiel-Setup (schnell): Camera USB -> Object Detection (D-FINE) -> Object_Detection_Tracker -> Show Image / Image Logger / Traffic Intersection Analysis.

Zuletzt aktualisiert