recursive op• 데이터 종류: video → video
• 호출: import fullseye as fs; fs.ledger.exponential_foreground(video, alpha: 'float' = 0.05, threshold: 'float' = 0.1) -> 'np.ndarray'(구현을 직접 호출하려면 import videostream; videostream.exponential_foreground(video, alpha: 'float' = 0.05, threshold: 'float' = 0.1) -> 'np.ndarray', 원장에서 가져오려면 opsvideostream.get("exponential_foreground"))
전경 마스크 |frame − 지수 배경| > threshold → 0/1 (T, H, W)(video).
exponential_background 와 같은 지수 이동 평균 bg += α (frame - bg) 를 돌리고, 각 프레임에서 갱신 후의 bg 와의 차 |frame - bg| > threshold 를 1 로 한다. 첫 프레임은 bg 의 초기화에 쓰여 차가 0 이므로 t = 0 은 전 화소 0.
• video: (T, H, W) 배열 또는 2-D 프레임 list. 정수 dtype 은 최댓값으로 [0, 1] 로 정규화, float 는 클립. NaN/Inf 는 ValueError.
• alpha: [0, 1]. 클수록 배경이 빨리 따라오고, 멈춘 물체는약 1/α 장에서 사라진다. 1 이면 bg == frame 이 되어 항상 전 화소 0.
• threshold: [0, 1] 의 강도 단위. 전 화소 공통의 절대 임계값이므로 어두운 부분의잡음과 밝은 부분의 잡음을 같은 임계값으로 자르게 된다.
• 반환값: (T, H, W) float64 의 0 / 1.
• 실패: ValueError.
화소별 분산으로 임계값을 정하고 싶다면 running_gaussian_foreground. 고스트가없는 움직임 검출이라면 three_frame_difference.
• mv_cables — 케이블(규격·속도·급전·로봇 케이블)
• mv_frame_grabbers — 프레임 그래버 보드(광학계는 아니지만 촬영 가능 여부를 정한다)
• mv_standards — 카메라 인터페이스 규격과 단체
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• video_streaming — py -3.11 examples/video_streaming.py
video 를 입력으로 받는 것)temporal_median_window · moving_average_window · background_subtraction_window · frame_difference_causal · exponential_background · running_mean_std · optical_flow_magnitude_stream · motion_history_image
recursive)frame_difference_causal · exponential_background · running_mean_std
*Provenance: videostream.py — VIDEOSTREAM 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.