exponential_background — VIDEOSTREAM recursive op

• Datenarten: video → video

• Aufruf: import fullseye as fs; fs.ledger.exponential_background(video, alpha: 'float' = 0.05) -> 'np.ndarray' (die Implementierung direkt: import videostream; videostream.exponential_background(video, alpha: 'float' = 0.05) -> 'np.ndarray'; aus dem Register: opsvideostream.get("exponential_background"))

Verwendung

Rekursiver Hintergrund bg ← (1−α)·bg + α·frame pro Bild → (T, H, W) (video).

Ein exponentieller gleitender Mittelwert, der bg mit dem ersten Frame initialisiert und danach bg += α (frame - bg) pixelweise wiederholt. Der Zustand ist nur 1 Hintergrund (kein Fenster). Die Ausgabe für Frame t ist eine Kopie des bg zu diesem Zeitpunkt, und t = 0 ist der erste Eingabe-Frame selbst.

• video: (T, H, W)-Array oder list von 2-D-Frames. Ganzzahlige dtypes werden über ihr Maximum auf [0, 1] normiert, float wird auf [0, 1] begrenzt. NaN/Inf ergibt ValueError.

• alpha: [0, 1]. Die Zeitkonstante beträgt etwa 1/α Frames (0.05 → etwa 20 Frames). Bei 0 bleibt der Hintergrund auf den ersten Frame fixiert, bei 1 ist er immer der aktuelle Frame. Bleibt ein Objekt stehen, wird es nach etwa 1/α Frames vom Hintergrund aufgenommen (keine selektive Aktualisierung).

• Rückgabewert: (T, H, W) float64, [0, 1].

• Fehler: ValueError (Form, dtype, Bereich von alpha).

Wird auch die Vordergrundmaske gebraucht: exponential_foreground mit demselben Modell. Soll der Schwellwert an das pixelweise Rauschen angepasst werden: running_gaussian_background.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie video_streaming

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• mv_cables — Kabel (Standards, Geschwindigkeit, Stromversorgung, Roboterkabel)

• mv_frame_grabbers — Framegrabber-Karten (keine Optik, entscheiden aber, ob überhaupt aufgenommen werden kann)

• mv_standards — Kameraschnittstellen: Standards und Gremien

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• video_streaming — py -3.11 examples/video_streaming.py

Typkompatible Folge-Operatoren (nehmen video als Eingabe)

temporal_median_window · moving_average_window · background_subtraction_window · frame_difference_causal · exponential_foreground · running_mean_std · optical_flow_magnitude_stream · motion_history_image

Gleiche Kategorie (recursive)

frame_difference_causal · exponential_foreground · running_mean_std


*Provenance: videostream.py — VIDEOSTREAM Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.