exponential_background — VIDEOSTREAM recursive op

• 데이터 종류: video → video

• 호출: import fullseye as fs; fs.ledger.exponential_background(video, alpha: 'float' = 0.05) -> 'np.ndarray'(구현을 직접 호출하려면 import videostream; videostream.exponential_background(video, alpha: 'float' = 0.05) -> 'np.ndarray', 원장에서 가져오려면 opsvideostream.get("exponential_background"))

사용법

재귀적 배경 bg ← (1−α)·bg + α·frame 을 프레임별로 → (T, H, W)(video).

첫 프레임으로 bg 를 초기화하고, 이후 bg += α (frame - bg) 를 화소별로반복하는 지수 이동 평균. 상태는 배경 1 장뿐(창을 갖지 않는다). 프레임 t 의출력은 그 시점 bg 의 사본이며, t = 0 은 입력의 첫 프레임 그 자체.

• video: (T, H, W) 배열 또는 2-D 프레임 list. 정수 dtype 은 최댓값으로 [0, 1] 로 정규화, float 는 [0, 1] 로 클립. NaN/Inf 는 ValueError.

• alpha: [0, 1]. 시상수는 대략 1/α 프레임(0.05 → 약 20 장). 0 이면 배경은 첫 프레임으로 고정, 1 이면 항상 현재 프레임. 물체가 멈추면 1/α 장 정도에서 배경에 흡수된다(선택적 갱신은 없다).

• 반환값: (T, H, W) float64, [0, 1].

• 실패: ValueError(형태·dtype·alpha 의 범위).

전경 마스크까지 필요하면 같은 모델의 exponential_foreground. 화소별잡음에 임계값을 맞추고 싶다면 running_gaussian_background.

자세한 사용 가이드

• video_streaming 패밀리 가이드

배경 지식 가이드(이 연산자 앞에 있는 물리·규약)

• 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_foreground · running_mean_std · optical_flow_magnitude_stream · motion_history_image

같은 카테고리(recursive)

frame_difference_causal · exponential_foreground · running_mean_std


*Provenance: videostream.py — VIDEOSTREAM 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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