running_gaussian_background — VIDEOSTREAM background op

• Data kinds: video → video

• Call: import fullseye as fs; fs.ledger.running_gaussian_background(video, alpha: 'float' = 0.02, k: 'float' = 2.5, var_init: 'float' = 0.01, selective: 'bool' = True) -> 'np.ndarray' (implementation को सीधे call करना हो तो import videostream; videostream.running_gaussian_background(video, alpha: 'float' = 0.02, k: 'float' = 2.5, var_init: 'float' = 0.01, selective: 'bool' = True) -> 'np.ndarray', registry से लेना हो तो opsvideostream.get("running_gaussian_background"))

उपयोग

हर frame पर adaptive single-Gaussian background (running mean) → (T, H, W) (video)।

हर pixel के लिए mean mean और variance var रखने वाला single-Gaussian background (Wren का Pfinder) चलाता है, और हर frame के बाद का mean लौटाता है। foreground की जाँच है (frame - mean)^2 > k^2 var। selective=True (default) में foreground माने गए pixels के mean / var update नहीं किए जाते, इसलिए धीरे चलने वाली वस्तुएँ background में नहीं घुलतीं। update के सूत्र mean += α diff, var += α (diff^2 - var) हैं, और var की निचली सीमा 1e-4 है।

• video: (T, H, W) array या 2-D frames की list। integer को अधिकतम मान से [0, 1] में normalise किया जाता है, float को clip किया जाता है। NaN/Inf पर ValueError।

• alpha: [0, 1] की learning rate। default 0.02 (time constant लगभग 50 frames)।

• k: [0, 100]। foreground मानने के लिए standard deviation का गुणज। default 2.5।

• var_init: [1e-9, 1]। पहले frame पर variance का प्रारंभिक मान ([0, 1] intensity की 2 घात)। बहुत छोटा हो तो 2 वें frame से सभी pixel foreground बन जाते हैं, और selective से update रुक जाता है।

• selective: foreground pixels का update रोकना है या नहीं। False होने पर सभी pixel हमेशा update होते हैं।

• return value: (T, H, W) float64। t = 0 पहला frame ही है।

• विफलता: ValueError (shape, dtype, हर range)।

उसी model का foreground mask running_gaussian_foreground है (समान arguments के साथ जोड़ी बनाने पर हर frame में मेल रहता है)।

उपयोग की विस्तृत guide

• video_streaming family guide

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• mv_cables — Cables (standards, speed, power delivery, robot cables)

• mv_frame_grabbers — Frame grabber boards (optics नहीं, पर यही तय करते हैं कि capture हो भी सकता है या नहीं)

• mv_standards — Camera interface standards और उनके पीछे की संस्थाएँ

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• video_streaming — py -3.11 examples/video_streaming.py

वे अगले ops जिनसे type जुड़ता है (video को input के रूप में लेते हैं)

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

इसी category के (background)

running_gaussian_foreground


*Provenance: videostream.py — VIDEOSTREAM operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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