Objektverfolgung: Herausforderung Bewegte Kamera

Rating: 4.63 (1299 votes)

Die Verfolgung von Objekten in Videos ist ein zentrales Thema in der modernen Computer-Vision, insbesondere im Bereich der öffentlichen Überwachung. Während die Verfolgung mit statischen Kameras bereits etabliert ist, stellt die Arbeit mit bewegten Kameras eine wesentlich größere Herausforderung dar. Diese Schwierigkeit ergibt sich aus einer Vielzahl von Faktoren, die die Qualität und Vorhersagbarkeit des Videomaterials beeinträchtigen. Das Ziel ist es, ein einmal definiertes Objekt zuverlässig über den gesamten Videoverlauf hinweg zu verfolgen, selbst wenn sich die Bedingungen ändern.

Die Spezifische Herausforderung: Bewegte Kameras

Das Tracking von Objekten in Aufnahmen von bewegten Kameras, wie sie beispielsweise bei Bodycams oder Dashcams vorkommen, bringt besondere Schwierigkeiten mit sich. Im Vergleich zu Aufnahmen von statischen Kameras ist die Videoqualität oft schlechter. Hinzu kommen Effekte wie Bewegungsunschärfe (Motion Blur), die das Erscheinungsbild des verfolgten Objekts verändern können. Auch Verdeckungen (Okklusionen), bei denen das Objekt teilweise oder vollständig von anderen Objekten oder Personen verdeckt wird, sind häufiger und unvorhersehbarer.

Wie verfolgen Kameras Objekte?
Der Prozess beginnt mit einem Begrenzungsrahmen um ein Objekt, der als Koordinatensatz angegeben wird. Für jedes nächste Videobild muss der Tracker das Objekt lokalisieren und seinen internen Zustand aktualisieren, damit er die Verfolgung in den folgenden Bildern fortsetzen kann.

Ein weiterer erschwerender Faktor ist der Hintergrund, der sich bei einer bewegten Kamera ständig ändert und oft unübersichtlich (Background Clutter) ist. Die ständige Veränderung der Rotation und Geschwindigkeit der Kamera macht die Verfolgung zusätzlich komplex. Bei Bodycams kommt hinzu, dass sich die Kamera zusammen mit der Person oder dem Objekt bewegt, an dem sie befestigt ist. Dies führt dazu, dass die Trajektorien der Objekte im Umfeld der Kamera viel komplexer und unvorhersehbar werden. Die schnelle und starke Veränderung von Größe und Geschwindigkeit der Objekte im Bild erschwert die korrekte Parametrierung von Algorithmen, insbesondere jener, die für die Aktualisierung des Objektzustands zuständig sind. Idealerweise sollten die Parameter universell anpassbar sein.

Grundlagen der Objektverfolgung im Video

Die Hauptaufgabe bei der typischen Video-Objektverfolgung besteht darin, ein ausgewähltes Objekt vom ersten Frame an bis zum Ende des Videos oder bis zu seinem Verschwinden im Auge zu behalten. Der Prozess beginnt oft mit einer Bounding Box – einem definierenden Rechteck um das Objekt im ersten Frame, gegeben durch einen Satz von Koordinaten. Für jeden folgenden Frame muss der Tracker das Objekt lokalisieren und gleichzeitig seinen internen Zustand aktualisieren, um die Verfolgung in den nächsten Frames fortsetzen zu können.

Es gibt grundsätzlich zwei übergeordnete Tracking-Ansätze. Der erste, auf den sich dieser Artikel konzentriert, wählt einen Bereich von Interesse im ersten Frame aus und verfolgt diesen dann in allen folgenden Frames. Der zweite Ansatz nutzt Algorithmen, die die Ergebnisse von Objektdetektionen über mehrere Frames hinweg zu einer Verfolgungslinie verbinden.

Ein wichtiges Ziel ist es, Algorithmen so zu trainieren, dass sie den Zustand des Ziels aktualisieren können, um spätere Zustandsänderungen erkennen zu können. Zur Bewertung der Leistung von Tracking-Systemen wird häufig die IoU-Metrik (Intersection over Union) herangezogen. Diese wird berechnet basierend auf dem Frame, der aus der Tracking-Leistung resultiert, und einer manuell erstellten Bounding Box um das Objekt.

Algorithmen zur Objektverfolgung: Ein Vergleich

Die meisten Tracking-Ansätze basieren auf einer Reihe grundlegender Algorithmen, die für spezifische Zwecke verbessert und modifiziert wurden. Zu den bekanntesten gehören KCF, TLD, MOSSE, Struck und Median Flow Tracker. Wir wollen uns hier auf drei spezifische Implementierungen konzentrieren, deren Leistung im Kontext bewegter Kameras untersucht wurde: dlib, KCF und Re3.

dlib: Basierend auf Korrelationsfiltern

Der dlib-Tracker baut auf einem Korrelationsfilter auf. Dieser Filter modelliert das Erscheinungsbild eines Objekts, nachdem er auf einem Beispielbildbereich trainiert wurde – in diesem Fall der durch die anfängliche Bounding Box definierte Bereich. Mit dlib ist es möglich, Objekte zu verfolgen und gleichzeitig die Korrelationsfilter oder das Erscheinungsbild des Objekts zu aktualisieren.

Um die neue Position des Ziels in den folgenden Frames zu finden, berechnet dlib die Korrelation zwischen dem Filter und einem Suchfenster in jedem Frame und sucht den höchsten Wert in der Korrelationsausgabe. Der Algorithmus extrahiert zunächst Merkmale des Objekts aus dem definierten Bereich. Hierfür wird eine 31-dimensionale Version der HOG (Histogram of Oriented Gradients)-Merkmalsextraktion verwendet. Das Bild wird in Zellen unterteilt, und für jede Zelle werden HOG-Merkmale berechnet. Das Bild wird als Satz von Vektoren repräsentiert.

Nach der Merkmalsextraktion wird die Fourier-Transformation angewendet, um Berechnungen zu vereinfachen. Es werden Matrizen F[i] erhalten. Eine Matrix G wird so berechnet, dass der zentrale Bereich des Objekts stärker gewichtet wird. Diese Matrix wird ebenfalls Fourier-transformiert. Filter A wird durch punktweise Multiplikation von G und F[i] initialisiert, Filter B nach einer spezifischen Formel, die von F[i] abhängt.

Um Skalenänderungen zu erfassen, wird eine Bildpyramide erstellt. Zusätzliche Bildbereiche mit unterschiedlichen Skalen werden extrahiert, auf die Originalgröße skaliert und ihre HOG-Merkmale extrahiert. Auch hier wird die Fourier-Transformation angewendet. Die Skalenfilter werden initialisiert, wobei Skalen nahe der ursprünglichen Skala stärker gewichtet werden.

Für die Verfolgung in folgenden Frames werden die Filter des vorherigen Frames und die Merkmale des aktuellen Frames verwendet, um die Objektposition durch Berechnung der Korrelationsantwort vorherzusagen. Die Position mit dem maximalen Wert gibt die neue Position an. Filter und Skalenfilter werden entsprechend aktualisiert. Die Bildpyramide hilft dabei, die beste Skala zu finden.

Testergebnisse für dlib:

Insgesamt zeigte dlib keine überzeugende Leistung bei bewegten Kameras. Bei Okklusionen, selbst bei statischer Kamera, verlor es das Ziel und verfolgte stattdessen die Verdeckung selbst. dlib ist auch nicht sehr flexibel bei Erscheinungsänderungen des Ziels. Es eignet sich am besten für einfache Fälle mit statischen Kameras, vorhersehbaren Bewegungen, keinen schnellen oder signifikanten Änderungen des Erscheinungsbilds oder der Umgebung und keinen Okklusionen. Außerdem ist reines dlib signifikant langsamer als Re3.

KCF: Kernelized Correlation Filter

Der KCF-Algorithmus (Kernelized Correlation Filter) arbeitet ähnlich wie dlib, weist aber rechnerische Unterschiede auf. Die anfängliche Datenvorbereitung ist ähnlich: Merkmalsextraktion (31D HOG) aus der Bounding Box. Ein Unterschied liegt in der Erstellung des 'Gaussian Peak', der Matrix G, deren Werte von der Zielgröße abhängen.

Ein weiterer Unterschied ist der Ansatz zur Gaußschen Korrelation, der durch eine andere Formel ausgedrückt wird. Auch die Formeln zur Initialisierung und Aktualisierung der Filter A und B unterscheiden sich von denen bei dlib. Im Gegensatz zu dlib erfolgen bei KCF die Suche nach Skala und Position in einem Schritt. Eine Pyramide wird erstellt, um die beste Skala mit der besten Korrelationsausgabe zu finden. Die Größe des Rechtecks wird aktualisiert, und nach geometrischen Transformationen wird die aktuelle Position berechnet. Filter werden mit den neuen Merkmalen aktualisiert.

Um den richtigen Ausgleich bei schnellen Skalenänderungen zu finden (z.B. wenn ein Objekt nahe an der Kamera vorbeizieht), wird jede Antwort mit einer Gaußschen Funktion gewichtet, die auf das Zentrum der aktuellen Skala ausgerichtet ist. Dies hilft, das Vertrauen in weit entfernte Pyramidenschichten zu steuern.

Testergebnisse für KCF:

In den Tests zeigte KCF eine effizientere Leistung als dlib und bessere Ergebnisse in komplexen Fällen. Es war anpassungsfähiger an Erscheinungsänderungen, Okklusionen und Rauschen gleicher Art in der Umgebung des Objekts und benötigte mehr Zeit, bis es versagte. KCF zeigte eine signifikante Stabilität, die in einigen Fällen (z.B. Artist Case oder Background Clutter vor Okklusion) die höchste unter den verglichenen Algorithmen war.

Was ist der Unterschied zwischen DJI Osmo SE und 6?
Zunächst einmal verfügt der DJI Osmo Mobile SE im Gegensatz zum DJI Osmo Mobile 6, der diese Verbesserung vom DJI Osmo Mobile 5 übernimmt, nicht über einen ausfahrbaren Arm unter seinem Schwenkmotor . Der Arm des DJI Osmo Mobile 6 lässt sich bis zu 21,5 cm ausfahren und ermöglicht so längere und bessere Luftaufnahmen als beim DJI Osmo Mobile SE.

Re3: Neuronale Netze für Echtzeit-Tracking

Re3 (Real-Time Recurrent Regression Networks) verwendet wiederkehrende Neuronale Netze für die visuelle Verfolgung generischer Objekte. Die Architektur enthält Faltungsschichten (Convolution Layers), Skip Connections, wiederkehrende Schichten (Recurrent Layers) und Regressionsschichten. Die Faltungsschichten betten das Erscheinungsbild des Objekts ein, während Skip Connections feinkörnigere Details wiederherstellen. Wiederkehrende Schichten (speziell LSTM) speichern Erscheinungsbild- und Bewegungsinformationen, und eine Regressionsschicht gibt die Position des Objekts aus.

Bei jedem Schritt wird dem Netzwerk ein Paar von Bildausschnitten zugeführt: der erste zeigt das Objekt im vorherigen Frame, der zweite den Teil des aktuellen Bildes, der am Ort des vorherigen Frames zentriert ist. Dadurch kann das Netzwerk Unterschiede direkt vergleichen und lernen, wie Bewegung die Pixel beeinflusst.

Für die wiederkehrende Struktur wurde ein zweischichtiges, faktorisiertes LSTM gewählt. Die Ausgabe- und Zellzustandsvektoren werden aktualisiert, wenn sich das Erscheinungsbild des Objekts ändert. Die Ausgaben der zweiten LSTM-Schicht werden an eine voll verbundene Schicht weitergeleitet, die vier Werte für die oberen linken und unteren rechten Ecken der Bounding Box im Ausschnittkoordinatensystem ausgibt. Durch die Regression dieser Koordinaten kann Re3 direkt Größen- und Seitenverhältnisänderungen verarbeiten. Eine L1-Verlustfunktion wird verwendet, um genaue Übereinstimmungen mit der Ground Truth zu fördern und potenziellen Drift zu begrenzen.

Interessant ist auch das Training: Wiederkehrende Netzwerke benötigen oft mehr Iterationen zum Konvergieren. Für effektives Tracking ist es entscheidend, dass jeder Input unmittelbar von einer entsprechenden Ausgabe gefolgt wird. Daher wird ein Trainingscurriculum verwendet, das mit wenigen 'Unrolls' (Zeitsteps, die das Netzwerk gleichzeitig sieht) beginnt und den Zeithorizont langsam erhöht. Anfangs wird mit Ground-Truth-Ausschnitten trainiert, aber im Laufe der Zeit verwendet das Netzwerk seine eigenen Vorhersagen, um die nächsten Ausschnitte zu generieren. Dies verhindert, dass das Netzwerk bei Testläufen schnell zu viel Drift ansammelt, wenn es nur mit perfekten Ground-Truth-Inputs konfrontiert wurde.

Testergebnisse für Re3:

Re3 zeigte eine erstaunliche Geschwindigkeit (rund 100 FPS oder mehr) und Genauigkeit, mit Ausnahme von Fällen mit Okklusionen durch Objekte gleicher Art (z.B. eine Person, die von einer anderen Person verdeckt wird). Hier besteht eine hohe Wahrscheinlichkeit, dass der Tracker das Ziel wechselt. In fast allen anderen Fällen lieferte Re3 gute Ergebnisse, einschließlich schneller Änderungen des Erscheinungsbilds, Beleuchtungsänderungen, schneller Bewegung und teilweiser sowie vollständiger Okklusionen. Es war der einzige Algorithmus, der das Objekt nach einer vollständigen Okklusion wiedererfassen konnte, wenn es für kurze Zeit verschwand und ungefähr im selben Bereich des Frames wieder auftauchte. Bei teilweiser Okklusion schnitt Re3 sogar noch besser ab als dlib oder KCF.

Vergleich der Leistung bei bewegten Kameras

Die Tests umfassten verschiedene Szenarien, die die Schwierigkeiten bei bewegten Kameras simulieren oder beinhalten:

  • Background Clutter: Ziel bewegt sich in einer Menschenmenge.
  • Appearance Changing (3D Rotation): Ziel dreht sich.
  • Artist Case: Ziel ist statisch, aber die Kamera bewegt sich dynamisch (simuliert eine Bodycam, die sich um ein stehendes Objekt bewegt).
  • Occlusion by human: Ziel wird von einer anderen Person verdeckt.
  • Appearance Changing (Plane Rotation): Ziel ändert seine Haltung (setzt sich/steht auf).
  • Occlusion by object (Car): Ziel wird schnell von einem Objekt anderer Natur verdeckt (z.B. Straßenbau).

Basierend auf den Ergebnissen zeigt sich deutlich, dass dlib für die Komplexität von Bewegten Kameras nicht gut geeignet ist. KCF ist besser, aber Re3 erweist sich in den meisten schwierigen Fällen, insbesondere bei schnellen Änderungen, Beleuchtung und Wiedererfassung nach vollständiger Okklusion, als überlegen. Die Schwäche von Re3 liegt primär bei Okklusionen durch Objekte gleicher Natur.

Wert und Zukunftsperspektiven

Das Hauptziel des Projekts war es, bestehende Möglichkeiten zu erkunden, um eine stabile und genaue Software zur Verfolgung verschiedener Objekte in Videomaterial von bewegten Kameras zu schaffen. Es konnte gezeigt werden, dass selbst unter schlechten Aufnahmebedingungen eine schnelle und genaue Leistung erzielt werden kann.

Die entwickelten Lösungen können für eine tiefere Analyse von Videos verwendet werden, die von Personen, am Körper getragenen Kameras (Bodycams), Dashcams usw. aufgenommen wurden. Es ist jedoch wichtig zu betonen, dass die Tracking-Herausforderung immer eine maßgeschneiderte Lösung erfordert. Diese muss alle Aspekte des Hintergrunds berücksichtigen, einschließlich statischer oder dynamischer Kameras, der Aufnahmequalität, der Umgebungsbedingungen und mehr. Es gibt keine universelle Standardlösung, die für alle Fälle und Anforderungen passt. Jeder Fall muss sorgfältig und detailliert betrachtet werden.

Die fortlaufende Forschung und Entwicklung zielt darauf ab, die Genauigkeit und Leistung von Tracking-Systemen weiter zu verbessern. Zukünftig ist die Entwicklung kundenspezifischer, qualitativ hochwertiger Lösungen für spezifische Geschäftsanforderungen geplant. Dabei wird großer Wert darauf gelegt, genau zu verstehen, was und warum für ein Produkt benötigt wird, damit es effektiv und wertvoll für den Kunden ist.

Um die Schwächen des reinen Trackings auszugleichen und zusätzliche Möglichkeiten zu eröffnen, ist für die Bewältigung komplexer Okklusionen und die Analyse von Menschenmengen die Entwicklung anspruchsvollerer Systeme erforderlich, die Objekt-Detektion, -Klassifikation und -Tracking miteinander kombinieren.

Häufig gestellte Fragen (FAQs)

Warum ist Objektverfolgung bei bewegten Kameras so viel schwieriger?

Bewegte Kameras führen zu Problemen wie Bewegungsunschärfe, ständig wechselnden Hintergründen, unvorhersehbareren Verdeckungen und schnellen Änderungen der Objektgröße und -geschwindigkeit im Bild. Diese Faktoren erschweren es den Algorithmen, das Objekt zuverlässig über Zeit zu identifizieren und seine Position genau zu bestimmen.

Was ist eine Bounding Box?

Eine Bounding Box ist ein Rechteck, das um ein zu verfolgendes Objekt gezeichnet wird, typischerweise im ersten Frame. Sie definiert den Bereich, der das Objekt enthält, und dient als anfängliche Information für den Tracking-Algorithmus.

Was bedeutet IoU (Intersection over Union) bei der Bewertung?

IoU ist eine Metrik zur Bewertung der Genauigkeit eines Objekterkennungs- oder Tracking-Algorithmus. Sie misst die Überlappung zwischen der vom Algorithmus vorhergesagten Bounding Box und der tatsächlichen ('Ground Truth') Bounding Box. Ein höherer IoU-Wert bedeutet eine bessere Übereinstimmung und damit höhere Genauigkeit.

Welcher der verglichenen Algorithmen (dlib, KCF, Re3) ist der beste?

Es gibt keine universelle Antwort. dlib ist gut für einfache Fälle mit statischen Kameras. KCF ist besser für etwas komplexere Szenarien und stabiler. Re3 ist in den meisten schwierigen Fällen mit schnellen Änderungen und Okklusionen (außer bei Verdeckung durch Objekte gleicher Art) überlegen und bietet hohe Geschwindigkeit. Die Wahl hängt vom spezifischen Anwendungsfall und den vorherrschenden Herausforderungen ab.

Können diese Methoden Objekte in dichtem Gedränge verfolgen?

Dichtes Gedränge führt zu häufigen und komplexen Okklusionen (Verdeckungen), insbesondere durch Objekte gleicher Natur (andere Personen). Re3 hat hier Schwierigkeiten, während KCF etwas besser abschneidet als dlib. Die Bewältigung dichter Menschenmengen erfordert oft fortgeschrittenere Systeme, die Tracking mit Objektdetektion und -klassifikation kombinieren.

Hat dich der Artikel Objektverfolgung: Herausforderung Bewegte Kamera interessiert? Schau auch in die Kategorie Ogólny rein – dort findest du mehr ähnliche Inhalte!

Avatar photo

Andenmatten Soltermann

Hallo! Ich bin Andenmatten Soltermann, ein Schweizer Fotograf, der leidenschaftlich die Essenz der Welt durch seine Linse einfängt. Geboren und aufgewachsen in den majestätischen Schweizer Alpen, haben die deutsche Sprache und atemberaubende Landschaften meine kreative Vision geprägt. Meine Liebe zur Fotografie begann mit einer alten analogen Kamera, und seitdem widme ich mein Leben der Kunst, visuelle Geschichten zu erzählen, die berühren und verbinden.In meinem Blog teile ich praktische Tipps, Techniken und Erfahrungen, um dir zu helfen, deine fotografischen Fähigkeiten zu verbessern – egal, ob du ein neugieriger Anfänger oder ein erfahrener Profi bist. Von der Beherrschung des natürlichen Lichts bis hin zu Ratschlägen für wirkungsvolle Bildkompositionen ist es mein Ziel, dich zu inspirieren, die Welt mit neuen Augen zu sehen. Mein Ansatz verbindet Technik mit Leidenschaft, immer auf der Suche nach dem Funken, der ein Foto unvergesslich macht.Wenn ich nicht hinter der Kamera stehe, findest du mich auf Bergpfaden, auf Reisen nach neuen Perspektiven oder beim Genießen der Schweizer Traditionen, die mir so am Herzen liegen. Begleite mich auf dieser visuellen Reise und entdecke, wie Fotografie die Art und Weise, wie du die Welt siehst, verändern kann.

Go up