For the complete documentation index, see llms.txt. This page is also available as Markdown.

모션 감지

OpenCV를 사용하여 비디오에서 움직임을 감지합니다.

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

이 블록의 작동 방식

이 블록은 배경 차감(특히 MOG2 알고리즘)을 사용하여 비디오 프레임에서 모션을 감지합니다. 이 블록은 프레임 간 상태를 유지하여 배경 모델을 구축하고 모션 패턴을 추적합니다:

  1. 배경 모델을 초기화합니다 - 첫 번째 프레임에서 지정된 히스토리와 임계값 매개변수를 사용하여 배경 차감기를 생성합니다

  2. 각 프레임을 처리합니다 - 학습된 배경 모델과 다른 픽셀을 식별하기 위해 배경 차감을 적용합니다

  3. 노이즈 필터링 - 노이즈를 제거하고 가까운 모션 영역을 일관된 윤곽선으로 결합하기 위해 형태학적 연산을 적용합니다

  4. 모션 영역 추출 - 모션 영역을 나타내는 윤곽선을 찾아 최소 크기로 필터링하고, 선택적으로 감지 영역으로 클리핑합니다

  5. 윤곽선 단순화 - 감지 데이터를 관리하기 쉽게 유지하기 위해 윤곽선의 복잡성을 줄입니다

  6. 출력 생성 - 바운딩 박스가 있는 객체 감지 예측을 생성하고, 모션 상태를 판별하며, 모션이 시작될 때 알람을 트리거하고, 모션 영역 폴리곤을 제공합니다

이 블록은 프레임 간 모션 상태를 추적합니다 - 알람 출력은 모션이 감지되지 않음에서 감지됨으로 전환될 때만 true가 되어, 모션이 처음 나타날 때 작업을 트리거하는 데 유용합니다.

일반적인 사용 사례

  • 보안 모니터링: 감시 카메라에서 모션을 감지하여 활동이 감지될 때 알림, 녹화 또는 통지를 트리거합니다

  • 리소스 최적화: 모션이 감지될 때만 객체 감지, 분류 같은 비용이 큰 추론 작업을 조건부로 실행하여 컴퓨팅 자원을 절약합니다

  • 활동 감지: 움직임을 위해 영역을 모니터링하여 점유 상태를 추적하고, 출입 이벤트를 식별하거나 무단 접근을 감지합니다

  • 비디오 분석: 비디오 스트림을 분석하여 모션 패턴을 식별하고, 활동 수준을 추적하거나 모니터링된 영역의 이상을 감지합니다

  • 스마트 녹화: 모션이 감지될 때 비디오 녹화 또는 스냅샷 캡처를 트리거하여, 연속 녹화에 비해 저장 요구 사항을 줄입니다

  • 구역 모니터링: 감지 영역을 사용하여 프레임 내 특정 영역을 모니터링함으로써, 바쁘지만 관련 없는 영역은 무시하면서 관련 영역에 모션 감지를 집중합니다

다른 블록에 연결하기

이 블록의 모션 감지 출력은 다음과 연결할 수 있습니다:

  • 조건 논리 블록 (예: Continue If) 모션이 감지되거나 알람이 트리거될 때만 워크플로 단계가 실행되도록 합니다

  • 객체 감지 블록 모션이 있는 프레임에서만 감지 모델을 실행하여 컴퓨팅 자원을 절약합니다

  • 알림 블록 (예: Email Notification, Slack Notification) 모션이 감지되거나 알람이 트리거될 때 알림을 전송합니다

  • 데이터 저장 블록 (예: Roboflow Dataset Upload, CSV Formatter) 분석용으로 모션 이벤트, 타임스탬프, 감지 데이터를 기록합니다

  • 시각화 블록 감지된 모션을 보여주는 프레임에 모션 영역, 바운딩 박스 또는 주석을 그립니다

  • 필터 블록 후속 처리로 전달하기 전에 모션 상태에 따라 이미지 또는 데이터를 필터링합니다

유형 식별자

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

속성

이름

유형

설명

참조

name

str

이 단계에 대한 고유 식별자를 입력하세요..

minimum_contour_area

정수

모션 영역이 감지되기 위한 제곱 픽셀 단위의 최소 면적입니다. 이 임계값보다 작은 윤곽선은 노이즈, 작은 그림자 또는 사소한 픽셀 변화를 무시하기 위해 필터링됩니다. 값이 낮을수록 민감도는 높아지지만 더 많은 오탐지(예: 매우 민감한 감지는 100, 큰 객체만 감지하려면 500)가 발생할 수 있습니다. 기본값은 200제곱 픽셀입니다..

morphological_kernel_size

정수

가까운 모션 영역을 결합하고 노이즈를 필터링하는 데 사용되는 형태학적 커널의 픽셀 단위 크기입니다. 값이 클수록 더 멀리 떨어진 모션 영역이 하나의 윤곽선으로 합쳐지지만, 서로 다른 객체가 합쳐질 수도 있습니다. 값이 작을수록 더 많은 세부 정보가 유지되지만 감지가 조각난 채로 남을 수 있습니다. 이 커널은 타원형 모양을 사용합니다. 기본값은 3픽셀입니다..

임계값

정수

MOG2 배경 차감 알고리즘에서 사용되는 마할라노비스 거리의 제곱에 대한 임계값입니다. 모션에 대한 민감도를 제어합니다. 값이 작을수록 민감도가 높아져(더 작은 변화를 감지) 오탐이 더 많이 발생할 수 있고, 값이 클수록 민감도가 낮아져(중요한 변화만 감지) 미세한 움직임을 놓칠 수 있습니다. 권장 범위는 8-32입니다. 기본값은 16..

히스토리

정수

배경 모델을 구축하는 데 사용되는 이전 프레임 수입니다. 변화에 배경이 얼마나 빨리 적응하는지를 제어합니다 - 값이 클수록(예: 50-100) 일시적인 변화에는 덜 민감하지만 영구적인 배경 변화에는 천천히 적응하는 더 안정적인 배경 모델이 생성됩니다. 값이 작을수록(예: 10-20) 더 빠르게 적응하지만, 움직이는 객체가 멈추면 이를 배경으로 처리할 수 있습니다. 기본값은 30프레임입니다..

detection_zone

Union[List[Any], str]

프레임의 특정 영역으로 모션 감지를 제한하는 선택적 폴리곤 영역입니다. 모션은 이 영역 내에서만 감지되고 외부의 활동은 무시됩니다. 형식: [[x1, y1], [x2, y2], [x3, y3], ...]이며 좌표는 픽셀 단위입니다. 폴리곤은 3개를 초과하는 점을 가져야 합니다. 리스트, JSON 문자열 또는 다른 블록의 영역 출력을 참조하는 셀렉터로 제공할 수 있습니다. 문, 창문, 제한 구역 등 특정 영역에 집중하면서 바쁘지만 관련 없는 영역은 무시하는 데 유용합니다. 제공되지 않으면 전체 프레임에서 모션이 감지됩니다..

suppress_first_detections

bool

true이면, 배경 모델이 충분한 프레임(히스토리 매개변수로 지정됨)으로 초기화될 때까지 모션 감지를 억제합니다. 이렇게 하면 배경 모델이 아직 장면을 학습하지 못한 초기 프레임에서의 오탐지를 방지할 수 있습니다. false이면 이 블록은 즉시 모션 감지를 시도하며, 초기화 중에는 신뢰할 수 없는 결과를 만들 수 있습니다. 기본값은 true이며(대부분의 사용 사례에 권장됨)..

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

런타임 호환성

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

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

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 모션 감지 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): 분석할 모션 입력 이미지 또는 비디오 프레임입니다. 이 블록은 프레임을 순차적으로 처리하여 배경 모델을 구축합니다 - 각 프레임은 배경 모델을 업데이트하고 학습된 배경 패턴에 상대적인 모션을 감지합니다. 워크플로 입력이나 이전 단계에서 연결할 수 있습니다..

    • minimum_contour_area (정수): 모션 영역이 감지되기 위한 제곱 픽셀 단위의 최소 면적입니다. 이 임계값보다 작은 윤곽선은 노이즈, 작은 그림자 또는 사소한 픽셀 변화를 무시하기 위해 필터링됩니다. 값이 낮을수록 민감도는 높아지지만 더 많은 오탐지(예: 매우 민감한 감지는 100, 큰 객체만 감지하려면 500)가 발생할 수 있습니다. 기본값은 200제곱 픽셀입니다..

    • morphological_kernel_size (정수): 가까운 모션 영역을 결합하고 노이즈를 필터링하는 데 사용되는 형태학적 커널의 픽셀 단위 크기입니다. 값이 클수록 더 멀리 떨어진 모션 영역이 하나의 윤곽선으로 합쳐지지만, 서로 다른 객체가 합쳐질 수도 있습니다. 값이 작을수록 더 많은 세부 정보가 유지되지만 감지가 조각난 채로 남을 수 있습니다. 이 커널은 타원형 모양을 사용합니다. 기본값은 3픽셀입니다..

    • 임계값 (정수): MOG2 배경 차감 알고리즘에서 사용되는 마할라노비스 거리의 제곱에 대한 임계값입니다. 모션에 대한 민감도를 제어합니다. 값이 작을수록 민감도가 높아져(더 작은 변화를 감지) 오탐이 더 많이 발생할 수 있고, 값이 클수록 민감도가 낮아져(중요한 변화만 감지) 미세한 움직임을 놓칠 수 있습니다. 권장 범위는 8-32입니다. 기본값은 16..

    • 히스토리 (정수): 배경 모델을 구축하는 데 사용되는 이전 프레임 수입니다. 변화에 배경이 얼마나 빨리 적응하는지를 제어합니다 - 값이 클수록(예: 50-100) 일시적인 변화에는 덜 민감하지만 영구적인 배경 변화에는 천천히 적응하는 더 안정적인 배경 모델이 생성됩니다. 값이 작을수록(예: 10-20) 더 빠르게 적응하지만, 움직이는 객체가 멈추면 이를 배경으로 처리할 수 있습니다. 기본값은 30프레임입니다..

    • detection_zone (Union[zone, list_of_values]): 프레임의 특정 영역으로 모션 감지를 제한하는 선택적 폴리곤 영역입니다. 모션은 이 영역 내에서만 감지되고 외부의 활동은 무시됩니다. 형식: [[x1, y1], [x2, y2], [x3, y3], ...]이며 좌표는 픽셀 단위입니다. 폴리곤은 3개를 초과하는 점을 가져야 합니다. 리스트, JSON 문자열 또는 다른 블록의 영역 출력을 참조하는 셀렉터로 제공할 수 있습니다. 문, 창문, 제한 구역 등 특정 영역에 집중하면서 바쁘지만 관련 없는 영역은 무시하는 데 유용합니다. 제공되지 않으면 전체 프레임에서 모션이 감지됩니다..

    • suppress_first_detections (boolean): true이면, 배경 모델이 충분한 프레임(히스토리 매개변수로 지정됨)으로 초기화될 때까지 모션 감지를 억제합니다. 이렇게 하면 배경 모델이 아직 장면을 학습하지 못한 초기 프레임에서의 오탐지를 방지할 수 있습니다. false이면 이 블록은 즉시 모션 감지를 시도하며, 초기화 중에는 신뢰할 수 없는 결과를 만들 수 있습니다. 기본값은 true이며(대부분의 사용 사례에 권장됨)..

  • 출력

예시 JSON 정의

마지막 업데이트

도움이 되었나요?