Background subtraction ist eine grundlegende Technik in der Computer Vision und der Videoverarbeitung, die bewegte Vordergrundobjekte von einem relativ statischen Hintergrund in einer Sequenz von Frames trennt. Die Kernidee besteht darin, ein statistisches oder heuristisches Modell der Hintergrundszene zu erstellen und anschließend jedes Pixel in einem neuen Frame entweder als zum Hintergrund gehörend (wenn es dem Modell entspricht) oder als zum Vordergrund gehörend (wenn es signifikant abweicht) zu klassifizieren. Diese Methode liegt vielen Anwendungen zugrunde, darunter Videoüberwachung, Verkehrsüberwachung, Mensch-Computer-Interaktion und Objektverfolgung, bei denen das Ziel darin besteht, interessante Regionen ohne vorherige Kenntnis des Erscheinungsbilds der Objekte zu identifizieren.
Der Ansatz geht davon aus, dass die Kamera stationär ist und der Hintergrund über die Zeit weitgehend unverändert bleibt, obwohl Variationen wie allmähliche Beleuchtungsänderungen, Kamerarauschen und kleine repetitive Bewegungen (z. B. schwankende Baumblätter) berücksichtigt werden müssen. Background subtraction unterscheidet sich von neueren Deep-Learning-basierten Segmentierungsmethoden, da es typischerweise auf Pixel-für-Pixel-Statistiken basiert und nicht auf gelernten semantischen Merkmalen, was es rechnerisch effizient und für Echtzeitsysteme auf eingebetteter Hardware geeignet macht.
Historische Entwicklung
Die Ursprünge der Background subtraction reichen bis in die 1970er und 1980er Jahre zurück, als frühe Videoanalysesysteme einfache Frame-Differenzbildung verwendeten – das Subtrahieren aufeinanderfolgender Frames, um Änderungen zu erkennen. Ein wegweisender Fortschritt kam 1997 mit der Arbeit von Chris Stauffer und W.E.L. Grimson am MIT Computer Science and Artificial Intelligence Laboratory, die jedes Pixel als eine Mischung von Gaußschen Verteilungen modellierte. Dieser adaptive Ansatz konnte multimodale Hintergründe wie flackernde Monitore oder Wasseroberflächen verarbeiten und wurde über ein Jahrzehnt lang zum De-facto-Standard.
Nachfolgende Verfeinerungen umfassten den Codebook-Algorithmus von Kim et al. (2004), der Hintergrundproben zur Speichereffizienz in Codewörter komprimierte, sowie die ViBe-Methode (Visual Background Extractor), die 2011 von Olivier Barnich und Marc Van Droogenbroeck eingeführt wurde und eine Zufallspolitik zur Aktualisierung von Hintergrundproben verwendete, wodurch hohe Geschwindigkeit bei geringen Rechenkosten erreicht wurde. In den 2010er Jahren verlagerte sich die Forschung hin zur Integration von Farb-, Textur- und Kantenmerkmalen, um die Robustheit gegenüber Schatten und Beleuchtungsänderungen zu verbessern.
Kern-Techniken
Eine einfache Background-Subtraction-Pipeline beginnt mit der Hintergrundinitialisierung, bei der die ersten N Frames zur Schätzung des anfänglichen Modells verwendet werden. Die grundlegendste Form ist der gleitende Durchschnitt, bei dem der Hintergrundwert jedes Pixels als B_t = (1 - alpha) B_{t-1} + alpha I_t aktualisiert wird, wobei alpha eine Lernrate ist. Die Vordergrunddetektion wendet dann einen Schwellenwert an: Wenn |I_t - B_t| > T, wird das Pixel als Vordergrund markiert. Dies funktioniert gut in kontrollierten Umgebungen, versagt jedoch unter dynamischen Bedingungen.
Zu den ausgefeilteren Methoden gehören das Gaußsche Mischmodell (GMM), das K Gaußsche Verteilungen pro Pixel mit jeweils Gewicht, Mittelwert und Varianz beibehält. Ein Pixel wird als Hintergrund klassifiziert, wenn es mit einer Verteilung innerhalb einer bestimmten Anzahl von Standardabweichungen übereinstimmt. Die Parameter werden online mit einem Verfahren ähnlich dem Erwartungsmaximierungsalgorithmus aktualisiert. Ein weiterer beliebter Ansatz ist die nicht-parametrische Kerndichteschätzung, die ein Histogramm der letzten Pixelwerte verwendet, um die Wahrscheinlichkeitsdichte zu schätzen, wodurch beliebige Hintergrundverteilungen ohne Annahme einer spezifischen parametrischen Form ermöglicht werden.
Herausforderungen und moderne Ansätze
Reale Szenen stellen mehrere Herausforderungen dar: plötzliche Beleuchtungsänderungen (z. B. vorbeiziehende Wolken), Schatten, die von Vordergrundobjekten geworfen werden, Kamera-Jitter und Hintergrundobjekte, die sich zu bewegen beginnen (z. B. ein geparktes Auto, das wegfährt). Schatten sind besonders problematisch, da sie dieselbe Textur wie der Hintergrund haben, aber eine geringere Helligkeit aufweisen. Viele Algorithmen integrieren Farbräume wie HSV, um Chrominanz von Luminanz zu trennen, oder verwenden gradientenbasierte Merkmale, um Schatten von echtem Vordergrund zu unterscheiden.
Seit Mitte der 2010er Jahre haben Machine-Learning- und Neural-Network-Ansätze an Bedeutung gewonnen. Convolutional Neural Networks, insbesondere Varianten der U-Net-Architektur, wurden auf beschrifteten Datensätzen wie CDnet 2014 trainiert, um Pixel-genaue Vordergrundsegmentierung durchzuführen. Diese Methoden lernen, Schatten zu unterdrücken und dynamische Hintergründe effektiver zu verarbeiten als klassische Techniken, erfordern jedoch große annotierte Datensätze und erhebliche Rechenressourcen. Hybridsysteme kombinieren oft eine schnelle klassische Methode zur anfänglichen Detektion mit einem tiefen Modell zur Verfeinerung, um Geschwindigkeit und Genauigkeit auszugleichen.
Anwendungen
Background subtraction wird häufig in Sicherheits- und Überwachungssystemen eingesetzt, wo es Eindringlinge oder zurückgelassene Objekte in festen Kamera-Feeds erkennt. Im Verkehrsmanagement zählt es Fahrzeuge und schätzt Geschwindigkeiten auf Autobahnen. In der menschlichen Bewegungsanalyse isoliert es die Silhouette einer Person für Gangerkennung oder Gestensteuerung, wie es in frühen interaktiven Systemen verwendet wurde. Die Technik erscheint auch in der medizinischen Bildgebung zum Subtrahieren von Prä-Kontrast- von Post-Kontrast-Bildern und in der Astronomie zum Entfernen des statischen Himmelshintergrunds aus Teleskopbildern.
In industriellen Umgebungen ermöglicht Background subtraction die Qualitätsprüfung an Montagelinien, indem Defekte oder Fremdkörper auf einem Förderband erkannt werden. Mit dem Aufkommen des Edge Computing ermöglichen Implementierungen auf stromsparenden Geräten wie denen von ARM oder Qualcomm die Echtzeitverarbeitung in Drohnen und intelligenten Kameras, wodurch die Reichweite der Technik über traditionelle serverbasierte Systeme hinaus erweitert wird.
Evaluierung und Datensätze
Benchmarking ist entscheidend für den Vergleich von Algorithmen. Die Datensätze CDnet 2012 und CDnet 2014, erstellt von der Universität Montreal, bieten eine vielfältige Sammlung von Videosequenzen mit Pixel-genauen Ground-Truth-Annotationen, die Kategorien wie Baseline, dynamischer Hintergrund, intermittierende Bewegung und Schatten abdecken. Zu den Metriken gehören Präzision, Recall, F-Maß und der Prozentsatz falscher Klassifikationen. Die Ausgabe von 2014 führte 11 Kategorien mit 53 Videos ein und wurde zum Standard für akademische Evaluierungen.
Neuere Bemühungen wie der LASIESTA-Datensatz fügen synthetische und reale Szenarien mit unterschiedlichen Schwierigkeitsgraden hinzu. Während Deep-Learning-Modelle bei diesen Benchmarks oft höhere F-Maße erzielen, bleiben klassische Methoden in Bezug auf Geschwindigkeit wettbewerbsfähig und werden bevorzugt, wenn Trainingsdaten knapp sind oder Interpretierbarkeit erforderlich ist. Die Wahl des Algorithmus hängt letztendlich von den spezifischen Einschränkungen der Anwendung ab, einschließlich Hardware-Limits, Echtzeitanforderungen und der erwarteten Variabilität der Szene.
Siehe auch
- Data Augmentation
- Residual Network
- Computer Vision (Hinweis: nicht in der bereitgestellten Slug-Liste, daher ausgelassen)
- Machine Learning