Zum Inhalt springen.

Multi-Object Tracking

Häufig gestellte Fragen

Dieses Dokument enthält Antworten und Informationen zu häufig gestellten Fragen und Themen im Zusammenhang mit Multi-Object Tracking. Für allgemeinere Fragen zum maschinellen Lernen, wie z.B. „Wie viele Trainingsbeispiele benötige ich?“ oder „Wie überwache ich die GPU-Auslastung während des Trainings?“, siehe auch die FAQ zur Bildklassifizierung.

Daten

Wie annotiert man Bilder?

Für das Training verwenden wir dasselbe Annotationsformat wie für die Objekterkennung (siehe diese FAQ). Das bedeutet auch, dass wir von einzelnen Frames trainieren, ohne die zeitliche Position dieser Frames zu berücksichtigen.

Für die Bewertung folgen wir dem py-motmetrics Repository, das die Ground-Truth-Daten im MOT challenge Format benötigt. Die letzten 3 Spalten können standardmäßig auf -1 gesetzt werden, für den Zweck der Ground-Truth-Annotation.

[frame number] [id number] [bbox left] [bbox top] [bbox width] [bbox height][confidence score][class][visibility]

Siehe unten ein Beispiel, in dem wir VOTT verwenden, um die beiden Dosen im Bild als can_1 und can_2 zu annotieren, wobei sich can_1 auf die weiß/gelbe Dose und can_2 auf die rote Dose bezieht. Vor der Annotation ist es wichtig, die Extraktionsrate korrekt einzustellen, um der des Videos zu entsprechen. Nach der Annotation können Sie die Annotationsergebnisse in verschiedenen Formen exportieren, z.B. als PASCAL VOC oder .csv-Format. Für das .csv-Format würde VOTT die extrahierten Frames sowie eine CSV-Datei mit den Bounding-Box- und ID-Informationen zurückgeben.

[image] [xmin] [y_min] [x_max] [y_max] [label]

Intern (nicht für den Benutzer sichtbar) verwendet das FairMOT-Repository dieses Annotationsformat für das Training, bei dem jede Zeile eine Bounding Box wie folgt beschreibt, wie im Towards-Realtime-MOT Repository beschrieben.

[class] [identity] [x_center] [y_center] [width] [height]

Das Feld class ist für alle auf 0 gesetzt, da nur Single-Class-Multi-Object-Tracking derzeit vom FairMOT-Repository unterstützt wird (z.B. Dosen). Das Feld identity ist eine Ganzzahl von 0 bis num_identities - 1, die Klassennamen ganzen Zahlen zuordnet (z.B. Cola-Dose, Kaffee-Dose usw.). Die Werte von [x_center] [y_center] [width] [height] werden durch die Breite/Höhe des Bildes normalisiert und reichen von 0 bis 1.

Training und Inferenz

Was sind die Trainingsverluste in FairMOT?

Die von FairMOT generierten Verluste umfassen detektionsspezifische Verluste (z.B. hm_loss, wh_loss, off_loss) und ID-spezifische Verluste (id_loss). Der Gesamtverlust (loss) ist ein gewichteter Durchschnitt der detektionsspezifischen und ID-spezifischen Verluste, siehe die FairMOT-Paper.

Was sind die wichtigsten Inferenzparameter in FairMOT?

Evaluierung

Was ist die MOT Challenge?

Die MOT Challenge Website hostet die gängigsten Benchmark-Datensätze für Pedestrian MOT. Es existieren verschiedene Datensätze: MOT15, MOT16/17, MOT 19/20. Diese Datensätze enthalten viele Videosequenzen mit unterschiedlichen Schwierigkeitsgraden beim Tracking und annotierten Ground Truths. Detektionen werden auch zur optionalen Nutzung durch die teilnehmenden Tracking-Algorithmen bereitgestellt.

Was sind die gängigsten Bewertungsmetriken?

Da Multi-Object-Tracking eine komplexe CV-Aufgabe ist, gibt es viele verschiedene Metriken zur Bewertung der Tracking-Leistung. Basierend auf ihrer Berechnung können Metriken ereignisbasiert sein CLEARMOT metrics oder ID-basierte Metriken. Die wichtigsten Metriken zur Erfassung der Leistung in der MOT Benchmarking Challenge sind MOTA, IDF1 und ID-switch.

State-of-the-Art

Wie ist die Architektur des FairMOT-Tracking-Algorithmus?

Er besteht aus einem einzigen Encoder-Decoder-Neuronalen Netz, das hochauflösende Feature-Maps des Bild-Frames extrahiert. Als One-Shot-Tracker speist er zwei parallele Köpfe für die Vorhersage von Bounding Boxes und Re-ID-Features, siehe Quelle.

Quelle: [Zhang, 2020](https://arxiv.org/pdf/2004.01888v2.pdf)

Welche Objektdetektoren werden in Tracking-by-Detection-Trackern verwendet?

Die beliebtesten Objektdetektoren, die von SoTA-Tracking-Algorithmen verwendet werden, sind: Faster R-CNN, SSD und YOLOv3. Weitere Details finden Sie auf unserer FAQ-Seite zur Objekterkennung.

Welche Feature-Extraktionstechniken werden in Tracking-by-Detection-Trackern verwendet?

Während ältere Algorithmen lokale Merkmale wie optischen Fluss oder regionale Merkmale (z.B. Farbhistogramme, gradientenbasierte Merkmale oder Kovarianzmatrix) verwendeten, verwenden neuere Algorithmen auf Deep Learning basierende Merkmalsextraktionen. Die gängigsten Deep-Learning-Ansätze, die typischerweise auf Re-ID-Datensätzen trainiert werden, verwenden klassische CNNs zur Extraktion visueller Merkmale. Ein solcher Datensatz ist der MARS-Datensatz. Die folgende Abbildung zeigt ein Beispiel für ein CNN, das vom DeepSORT-Tracker für MOT verwendet wird: <p align="center"> </p> Neuere Deep-Learning-Ansätze umfassen Siamese-CNN-Netzwerke, LSTM-Netzwerke oder CNNs mit Korrelationsfiltern. In Siamese-CNN-Netzwerken wird ein Paar identischer CNN-Netzwerke verwendet, um die Ähnlichkeit zwischen zwei Objekten zu messen, und die CNNs werden mit Verlustfunktionen trainiert, die Merkmale lernen, die sie am besten unterscheiden. <p align="center"> </p>

Quelle: [(Simon-Serra et al, 2015)](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Simo-Serra_Discriminative_Learning_of_ICCV_2015_paper.pdf)

In einem LSTM-Netzwerk werden extrahierte Merkmale aus verschiedenen Detektionen in verschiedenen Zeit-Frames als Eingaben verwendet. Das Netzwerk prognostiziert die Bounding Box für den nächsten Frame basierend auf der Eingabe-Historie. <p align="center"> </p>

Quelle: [Ciaparrone, 2019](https://arxiv.org/pdf/1907.12740.pdf)

Korrelationsfilter können auch mit Feature-Maps aus CNN-Netzwerken gefaltet werden, um eine Vorhersage der Position des Ziels im nächsten Zeit-Frame zu erzeugen. Dies wurde von Ma et al wie folgt durchgeführt: <p align="center"> </p>

Welche Affinitäts- und Assoziationstechniken werden in Tracking-by-Detection-Trackern verwendet?

Einfache Ansätze verwenden Ähnlichkeits-/Affinitäts-Scores, die aus Distanzmaßen über die von CNN extrahierten Merkmale berechnet werden, um Objekt-Detektionen/Tracklets optimal mit etablierten Objekt-Spuren über aufeinanderfolgende Frames abzugleichen. Zur Durchführung dieses Abgleichs wird häufig der Hungarian (Huhn-Munkres) Algorithmus für die Online-Datenassoziation verwendet, während K-partit-Graph-Globaloptimierungstechniken für die Offline-Datenassoziation verwendet werden.

In komplexeren Deep-Learning-Ansätzen wird die Affinitätsberechnung oft mit der Merkmalsextraktion zusammengeführt. Beispielsweise geben Siamese CNNs und Siamese LSTMs direkt den Affinitäts-Score aus.

Was ist der Unterschied zwischen Online- und Offline-Tracking-Algorithmen?

Online- und Offline-Algorithmen unterscheiden sich in ihrem Schritt der Datenassoziation. Beim Online-Tracking werden die Detektionen in einem neuen Frame mit zuvor aus früheren Frames generierten Spuren assoziiert. So werden bestehende Spuren erweitert oder neue Spuren erstellt. Beim Offline-(Batch-)Tracking können alle Beobachtungen in einem Stapel von Frames global betrachtet werden (siehe Abbildung unten), d.h. sie werden durch Erzielung einer global optimalen Lösung zu Spuren verknüpft. Offline-Tracking kann bei Tracking-Problemen wie langfristiger Verdeckung oder räumlich nahen ähnlichen Zielen besser abschneiden. Offline-Tracking ist jedoch tendenziell langsamer und daher nicht für Aufgaben geeignet, die Echtzeitverarbeitung erfordern, wie z.B. autonomes Fahren.

| Name | Jahr | Dauer | # Spuren/IDs | Szene | Objekttyp | | ----- | ----- | -------- | -------------- | ----- | ---------- | | [MOT15](https://arxiv.org/pdf/1504.01942.pdf)| 2015 | 16 min | 1221 | Outdoor | Fußgänger | | [MOT16/17](https://arxiv.org/pdf/1603.00831.pdf)| 2016 | 9 min | 1276 | Outdoor & Indoor | Fußgänger & Fahrzeuge | | [CVPR19/MOT20](https://arxiv.org/pdf/1906.04567.pdf)| 2019 | 26 min | 3833 | Überfüllte Szenen | Fußgänger & Fahrzeuge | | [PathTrack](http://openaccess.thecvf.com/content_ICCV_2017/papers/Manen_PathTrack_Fast_Trajectory_ICCV_2017_paper.pdf)| 2017 | 172 min | 16287 | YouTube Personen-Szenen | Personen | | [Visdrone](https://arxiv.org/pdf/1804.07437.pdf)| 2019 | - | - | Außenansicht aus Drohnenkamera | Fußgänger & Fahrzeuge | | [KITTI](http://www.jimmyren.com/papers/rrc_kitti.pdf)| 2012 | 32 min | - | Verkehrsszenen aus Autokamera | Fußgänger & Fahrzeuge | | [UA-DETRAC](https://arxiv.org/pdf/1511.04136.pdf) | 2015 | 10h | 8200 | Verkehrsszenen | Fahrzeuge | | [CamNeT](https://vcg.ece.ucr.edu/sites/g/files/rcwecm2661/files/2019-02/egpaper_final.pdf) | 2015 | 30 min | 30 | Outdoor & Indoor | Personen |
| Name | Jahr | MOT16 IDF1 | MOT16 MOTA | Inferenzgeschwindigkeit (fps) | Online/Batch | Detektor | Merkmalsextraktion/Bewegungsmodell | Affinitäts- & Assoziationsansatz | | ---- | ---- | ---------- | ---------- | -------------------- | ------------- | -------- | -------------------------------- | -------------------- | |[A Simple Baseline for Multi-object Tracking -FairMOT](https://arxiv.org/pdf/2004.01888.pdf)|2020|70.4|68.7|25.8|Online|One-shot tracker mit Detektorkopf|One-shot tracker mit Re-ID-Kopf & Multi-Layer-Feature-Aggregation, IOU, Kalman-Filter|JV-Algorithmus auf IOU, Embedding-Distanz, |[How to Train Your Deep Multi-Object Tracker -DeepMOT-Tracktor](https://arxiv.org/pdf/1906.06618v2.pdf)|2020|53.4|54.8|1.6|Online|Single-Object-Tracker: Faster-RCNN (Tracktor), GO-TURN, SiamRPN|Tracktor, CNN Re-ID-Modul|Deep Hungarian Net mit Bi-RNN| |[Tracking without bells and whistles -Tracktor](https://arxiv.org/pdf/1903.05625.pdf)|2019|54.9|56.2|1.6|Online|Modifizierter Faster-RCNN|Temporale Bounding-Box-Regression mit Kamerabewegungskompensation, Re-ID-Embedding von Siamese CNN|Greedy-Heuristik zum Zusammenführen von Tracklets unter Verwendung der Re-ID-Embedding-Distanz| |[Towards Real-Time Multi-Object Tracking -JDE](https://arxiv.org/pdf/1909.12605v1.pdf)|2019|55.8|64.4|18.5|Online|One-shot tracker - Faster R-CNN mit FPN|One-shot - Faster R-CNN mit FPN, Kalman-Filter|Hungarian-Algorithmus| |[Exploit the connectivity: Multi-object tracking with TrackletNet -TNT](https://arxiv.org/pdf/1811.07258.pdf)|2019|56.1|49.2|0.7|Batch|MOT-Challenge-Detektionen|CNN mit Bounding-Box-Kamerabewegungskompensation, Embedding-Feature-Ähnlichkeit|CNN-basierte Ähnlichkeitsmaße zwischen Tracklet-Paaren; Tracklet-basierte Graph-Cut-Optimierung| |[Extending IOU based Multi-Object Tracking by Visual Information -VIOU](http://elvera.nue.tu-berlin.de/typo3/files/1547Bochinski2018.pdf)|2018|56.1(VisDrone)|40.2(VisDrone)|20(VisDrone)|Batch|Mask R-CNN, CompACT|IOU|KCF zum Zusammenführen von Tracklets unter Verwendung von Greedy-IOU-Heuristiken| |[Simple Online and Realtime Tracking with a Deep Association Metric -DeepSORT](https://arxiv.org/pdf/1703.07402v1.pdf)|2017|62.2| 61.4|17.4|Online|Modifizierter Faster R-CNN|CNN Re-ID-Modul, IOU, Kalman-Filter|Hungarian-Algorithmus, kaskadierter Ansatz unter Verwendung der Mahalanobis-Distanz (Bewegung), Embedding-Distanz | |[Multiple people tracking by lifted multicut and person re-identification -LMP](http://openaccess.thecvf.com/content_cvpr_2017/papers/Tang_Multiple_People_Tracking_CVPR_2017_paper.pdf)|2017|51.3|48.8|0.5|Batch|[Öffentliche Detektionen](https://arxiv.org/pdf/1610.06136.pdf)|StackeNetPose CNN Re-ID-Modul|Räumlich-zeitliche Beziehungen, Deep-Matching, Re-ID-Konfidenz; Detektionsbasierte Graph-Lifted-Multicut-Optimierung|