> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ko/blocks/blocks/video-processing/background-subtraction.md).

# 배경 차감

OpenCV의 배경 차감 알고리즘을 사용하여 비디오 스트림에서 모션 마스크를 생성합니다.

## 이 블록의 작동 방식

이 블록은 배경 차감(특히 MOG2 알고리즘)을 사용하여 학습된 배경 모델과 다른 픽셀을 식별하고, 모션 영역을 강조 표시하는 마스크 이미지를 출력합니다. 이 블록은 배경 모델을 구축하고 업데이트하기 위해 프레임 간 상태를 유지합니다:

1. **배경 모델을 초기화합니다** - 첫 번째 프레임에서 지정된 히스토리와 임계값 매개변수를 사용하여 배경 차감기를 생성합니다
2. **각 프레임을 처리합니다** - 학습된 배경 모델과 다른 픽셀을 식별하기 위해 배경 차감을 적용합니다
3. **모션 마스크를 생성합니다** - 흰색 픽셀이 모션 영역을, 검은색 픽셀이 배경을 나타내는 전경 마스크를 생성합니다
4. **이미지 형식으로 변환합니다** - 워크플로에서 필요한 단일 채널 마스크를 3채널 이미지 형식으로 변환합니다
5. **마스크 이미지를 반환합니다** - 시각화하거나 추가 처리할 수 있는 이미지로 모션 마스크를 출력합니다

출력 마스크 이미지는 검은색 배경 위에 흰색 픽셀로 모션 영역을 표시하여 프레임에서 움직임이 발생한 위치를 쉽게 시각화할 수 있게 합니다. 이 마스크는 추가 분석, 시각화 또는 다른 처리 단계의 입력으로 사용할 수 있습니다.

## 일반적인 사용 사례

* **모션 시각화**: 모니터링, 분석 또는 디버깅 목적으로 비디오 스트림에서 움직임이 발생하는 위치를 보기 위해 시각적 모션 마스크를 생성합니다
* **모션 모델용 전처리**: 마스크 데이터가 필요한 모션 기반 모델의 학습 또는 추론을 위한 입력 데이터로 모션 마스크를 생성합니다
* **모션 영역 추출**: 추가 처리, 분석 또는 특징 추출을 위해 비디오 프레임에서 모션 영역을 추출합니다
* **비디오 분석**: 마스크 이미지를 처리하여 움직임 추세, 활동 수준 또는 모션 특성을 식별함으로써 모션 패턴을 분석합니다
* **배경 제거**: 분할 또는 분리 작업을 위해 모션 마스크를 사용하여 정적 배경에서 전경(움직이는) 객체를 분리합니다
* **모션 기반 필터링**: 모션이 발생하는 영역에 처리 작업을 필터링하거나 집중하고 정적 배경 영역은 무시하도록 모션 마스크를 사용합니다

## 다른 블록에 연결하기

이 블록의 모션 마스크 이미지는 다음에 연결할 수 있습니다:

* **시각화 블록** 원본 이미지 위에 겹쳐진 모션 마스크를 표시하거나 독립형 시각화로 표시하기 위해
* **객체 감지 블록** 마스크로 식별된 모션 영역에서만 감지 모델을 실행하기 위해
* **이미지 처리 블록** 모션 마스크 이미지에 추가 변환, 필터 또는 분석을 적용하기 위해
* **데이터 저장 블록** (예: Local File Sink, Roboflow Dataset Upload) 모션 마스크를 학습 데이터, 분석 또는 문서화용으로 저장하기 위해
* **조건 논리 블록** 마스크 이미지에 모션이 존재하는지 여부에 따라 워크플로 실행을 라우팅하기 위해
* **모델 학습 블록** 모션 기반 모델 또는 분할 작업의 학습 데이터로 모션 마스크를 사용하기 위해

### 유형 식별자

단계에서 다음 식별자를 사용하세요 `"type"` 필드: `roboflow_core/background_subtraction@v1` 워크플로에 이 블록을 단계로 추가하려면.

### 속성

| **이름** | **유형** | **설명**                                                                                                                                                                                                                       | 참조 |
| ------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name` | `str`  | 이 단계에 대한 고유 식별자를 입력하세요..                                                                                                                                                                                                     | ❌  |
| `임계값`  | `정수`   | MOG2 배경 차감 알고리즘에서 사용되는 마할라노비스 거리의 제곱에 대한 임계값입니다. 모션에 대한 민감도를 제어합니다. 값이 작을수록 민감도가 높아져(더 작은 변화를 감지) 오탐이 더 많이 발생할 수 있고, 값이 클수록 민감도가 낮아져(중요한 변화만 감지) 미세한 움직임을 놓칠 수 있습니다. 권장 범위는 8-32입니다. 기본값은 16..                               | ✅  |
| `히스토리` | `정수`   | 배경 모델을 구축하는 데 사용되는 이전 프레임 수입니다. 변화에 배경이 얼마나 빨리 적응하는지를 제어합니다 - 값이 클수록(예: 50-100) 일시적인 변화에는 덜 민감하지만 영구적인 배경 변화에는 천천히 적응하는 더 안정적인 배경 모델이 생성됩니다. 값이 작을수록(예: 10-20) 더 빠르게 적응하지만, 움직이는 객체가 멈추면 이를 배경으로 처리할 수 있습니다. 기본값은 30프레임입니다.. | ✅  |

해당 **참조** 열은 workflow 런타임에서 사용할 수 있는 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다. `워크플로` 런타임. 자세한 내용은 *바인딩* 자세한 내용은.

### 런타임 호환성

`소프트` - 런타임 `호스팅 서버리스`, `전용 배포`; 실행 `원격`; 입력 `비디오` : 이 블록은 프로세스 메모리에서 비디오별 상태를 유지합니다(video\_metadata.video\_identifier로 키 지정). 상태 비저장 또는 다중 복제 HTTP 런타임에서 원격 단계 실행을 사용하면 연속 요청이 서로 다른 작업자 프로세스에서 처리될 수 있으므로, 상태가 호출 사이에 초기화되어 추적 / 카운팅 / 집계를 위한 출력은 의미가 없어집니다. 안정적인 프레임 간 결과를 위해 지속적인 WebRTC 세션에서 로컬 단계 실행을 사용하세요.

`소프트` - 입력 `이미지` : 이 블록은 비디오나 반복 프레임 워크플로의 시간적 문맥에 의존합니다. 정지 이미지/사진에는 추적, 비교, 집계 또는 시각화할 의미 있는 히스토리가 없으므로 이 블록은 거의 또는 전혀 이점을 제공하지 않습니다.

### 입력 및 출력 바인딩

사용 가능한 연결은 바인딩 종류에 따라 다릅니다. 어떤 바인딩 종류가 `배경 차감` 버전 `v1` 가 있습니다.

<details>

<summary>입력 및 출력 바인딩</summary>

* 입력
  * `이미지` ([*`이미지`*](/workflows/ko/developer-guide/developer-guide/kinds/image.md)): 처리할 배경 차감용 입력 이미지 또는 비디오 프레임입니다. 이 블록은 프레임을 순차적으로 처리하여 배경 모델을 구축합니다 - 각 프레임이 배경 모델을 업데이트하고 학습된 배경과 다른 영역을 보여 주는 모션 마스크를 생성합니다. 워크플로 입력이나 이전 단계에서 연결할 수 있습니다..
  * `임계값` ([*`정수`*](/workflows/ko/developer-guide/developer-guide/kinds/integer.md)): MOG2 배경 차감 알고리즘에서 사용되는 마할라노비스 거리의 제곱에 대한 임계값입니다. 모션에 대한 민감도를 제어합니다. 값이 작을수록 민감도가 높아져(더 작은 변화를 감지) 오탐이 더 많이 발생할 수 있고, 값이 클수록 민감도가 낮아져(중요한 변화만 감지) 미세한 움직임을 놓칠 수 있습니다. 권장 범위는 8-32입니다. 기본값은 16..
  * `히스토리` ([*`정수`*](/workflows/ko/developer-guide/developer-guide/kinds/integer.md)): 배경 모델을 구축하는 데 사용되는 이전 프레임 수입니다. 변화에 배경이 얼마나 빨리 적응하는지를 제어합니다 - 값이 클수록(예: 50-100) 일시적인 변화에는 덜 민감하지만 영구적인 배경 변화에는 천천히 적응하는 더 안정적인 배경 모델이 생성됩니다. 값이 작을수록(예: 10-20) 더 빠르게 적응하지만, 움직이는 객체가 멈추면 이를 배경으로 처리할 수 있습니다. 기본값은 30프레임입니다..
* 출력
  * `이미지` ([`이미지`](/workflows/ko/developer-guide/developer-guide/kinds/image.md)): 워크플로의 이미지입니다.

</details>

<details>

<summary>예시 JSON 정의</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/background_subtraction@v1",
	    "image": "$inputs.image",
	    "threshold": 16,
	    "history": 30
	}
```

</details>
