Zum Inhalt springen.

Multi-Object Tracking

Dieses Verzeichnis bietet Beispiele und Best Practices für den Aufbau und die Inferenz von Multi-Object-Tracking-Systemen. Unser Ziel ist es, Benutzern zu ermöglichen, ihre eigenen Datensätze einzubringen und mit Leichtigkeit ein hochpräzises Tracking-Modell zu trainieren. Obwohl viele Open-Source-Tracker verfügbar sind, haben wir den FairMOT Tracker in dieses Repository integriert. Der FairMOT-Algorithmus hat in den letzten MOT-Benchmarking-Herausforderungen eine wettbewerbsfähige Tracking-Leistung gezeigt und gleichzeitig respektable Inferenzgeschwindigkeiten erzielt.

Einrichtung

Die Tracking-Beispiele in diesem Ordner laufen aufgrund von Einschränkungen des FairMOT Repositories nur auf Linux-Compute-Zielen.

Die folgenden Bibliotheken müssen in der cv Conda-Umgebung installiert werden, bevor die bereitgestellten Notebooks ausgeführt werden können

activate cv
conda install -c conda-forge opencv yacs lap progress
pip install cython_bbox motmetrics

Zusätzlich muss die DCNv2-Bibliothek von FairMOT mit diesem Schritt kompiliert werden

cd utils_cv/tracking/references/fairmot/models/networks/DCNv2  
sh make.sh

Warum FairMOT?

FairMOT ist ein Open-Source, One-Shot Online-Tracking-Algorithmus, der eine wettbewerbsfähige Leistung in den jüngsten MOT-Benchmarking-Herausforderungen bei schnellen Inferenzgeschwindigkeiten gezeigt hat.

Typische Tracking-Algorithmen adressieren die Detektions- und Feature-Extraktionsprozesse in getrennten aufeinanderfolgenden Schritten. Jüngste Forschung -(Voigtlaender et al, 2019), (Wang et al, 2019), (Zhang et al, 2020)- hat sich der Kombination von Detektions- und Feature-Embedding-Prozessen zugewandt, so dass sie in einem gemeinsamen Modell (einzelnes Netzwerk) gelernt werden, insbesondere wenn beide Schritte Deep-Learning-Modelle beinhalten. Dieses Framework wird als Single-Shot oder One-Shot bezeichnet und ist in jüngsten, leistungsstarken Modellen wie FairMOT (Zhang et al, 2020), JDE (Wang et al, 2019) und TrackRCNN (Voigtlaender et al, 2019) beliebt geworden. Solche Single-Shot-Modelle sind effizienter als typische Tracking-by-Detection-Modelle und haben schnellere Inferenzgeschwindigkeiten gezeigt, da die gemeinsame Berechnung der einzelnen Netzwerkrepräsentation für Detektion und Feature-Embedding genutzt wird. Auf dem MOT16 Challenge Datensatz erreichen FAIRMOT und JDE 25,8 Frames pro Sekunde (fps) bzw. 18,5 fps, während DeepSORT_2, ein Tracking-by-Detection-Tracker, 17,4 fps erreicht.

Wie in der folgenden Tabelle zu sehen ist, hat das FairMOT-Modell die Tracking-Leistung im Vergleich zu Standard-MOT-Trackern verbessert (siehe weiter unten für weitere Details zu Leistungskennzahlen). Das JDE-Modell, auf dem FairMOT aufbaut, weist eine wesentlich schlechtere Anzahl von ID-Wechseln auf (Zhang et al, 2020). Das JDE-Modell verwendet ein typisches Anker-basiertes Objektdetektor-Netzwerk für das Feature-Embedding mit einer heruntergeteilten Feature-Map. Dies führt zu einer Fehlausrichtung zwischen den Ankern und dem Objektzentrum und verursacht daher Re-Identifikationsprobleme. FairMOT löst diese Probleme, indem es das Objektzentrum anstelle der Anker schätzt, eine Feature-Map mit höherer Auflösung für die Objektdetektion und das Feature-Embedding verwendet und High-Level- und Low-Level-Features aggregiert, um Skalierungsvariationen bei Objekten unterschiedlicher Größe zu handhaben.

| Tracker | MOTA | IDF1 | ID-Switch | fps | | -------- | ---- | ---- | --------- | --- | |DeepSORT_2| 61.4 | 62.2 | 781 | 17.4 | |JDE| 64.4 | 55.8 | 1544 | 18.5 | |FairMOT| 68.7 | 70.4 | 953 | 25.8 |

Technologie

Aufgrund seiner Anwendungen in autonomen Fahren, Verkehrsüberwachung usw. ist Multi-Object-Tracking (MOT) ein beliebtes und wachsendes Forschungsgebiet im Bereich Computer Vision. MOT baut auf Objektdetektionstechnologie auf, um Objekte in einer dynamischen Szene im Laufe der Zeit zu erkennen und zu verfolgen. Die korrekte Ableitung von Zielbahnen über aufeinanderfolgende Einzelbilder hinweg bleibt eine Herausforderung. Beispielsweise kann Verdeckung die Anzahl und das Erscheinungsbild von Objekten verändern, was zu Komplikationen für MOT-Algorithmen führt. Im Vergleich zu Objektdetektionsalgorithmen, die darauf abzielen, rechteckige Begrenzungsrahmen um Objekte auszugeben, weisen MOT-Algorithmen zusätzlich eine ID-Nummer zu jeder Box zu, um dieses spezifische Objekt über die Einzelbilder hinweg zu identifizieren.

Wie in der folgenden Abbildung (Ciaparrone, 2019) zu sehen ist, führt ein typischer Multi-Object-Tracking-Algorithmus einen Teil oder alle der folgenden Schritte aus

Notebooks

Wir stellen mehrere Notebooks zur Verfügung, die zeigen, wie Multi-Object-Tracking-Algorithmen entworfen und evaluiert werden können

Notebook-Name Beschreibung
01_training_introduction.ipynb Notebook, das die grundlegenden Konzepte von Modelltraining, Inferenz und Evaluierung anhand typischer Tracking-Leistungskennzahlen erklärt.
02_mot_challenge.ipynb Notebook, das die Modellinferenz auf dem gängigen MOT Challenge-Datensatz ausführt.

Häufig gestellte Fragen

Antworten auf häufig gestellte Fragen, wie "Wie funktioniert die Technologie?" oder "Welche Datenformate sind erforderlich?", finden Sie im FAQ in diesem Ordner. Allgemeine Fragen, wie "Wie viele Trainingsbeispiele benötige ich?" oder "Wie überwache ich die GPU-Auslastung während des Trainings?", finden Sie unter FAQ.md im Klassifizierungsordner.

Richtlinien für Beiträge

Die Richtlinien für Beiträge finden Sie im Stammordner.