콘텐츠로 이동

CombineMasksVideo

어떤 노드인가요?

CombineMasksVideo 노드는 모든 입력 마스크에 대해 픽셀별 최댓값(Pixel-wise maximum) 연산을 수행하여 여러 마스크 비디오를 하나의 통합된 마스크 비디오로 병합합니다. 재생 시간이 서로 다른 비디오의 경우 짧은 비디오에 검은색 프레임을 패딩하여 처리합니다.

언제 사용하나요?

다음과 같은 상황에서 CombineMasksVideo 노드를 사용합니다:

  • 여러 개의 마스크 비디오를 하나의 마스크로 병합해야 할 때
  • 서로 다른 소스에서 추출한 객체 마스크들을 합치고 싶을 때
  • 통일해야 하는 여러 세그멘테이션 결과물을 다룰 때
  • 여러 트래킹 결과로부터 복합 마스크를 생성해야 할 때

사용 방법

기본 설정

  1. 워크플로우에 CombineMasksVideo 노드를 추가합니다.
  2. "mask_videos" 입력에 마스크 비디오 소스들을 연결합니다 (리스트 형태로 여러 비디오 수용 가능).
  3. 워크플로우를 실행하여 마스크를 병합합니다.

파라미터 (Parameters)

  • mask_videos: 병합할 마스크 비디오들의 리스트입니다. (VideoArtifact 및 VideoUrlArtifact 지원)

출력 (Outputs)

  • combined_mask: 병합된 마스크 비디오이며, 다른 노드에 연결할 수 있는 출력으로 제공됩니다.

작동 원리

이 노드는 픽셀별 최댓값 연산을 사용하여 비디오를 프레임 단위로 처리합니다:

  • 각 프레임은 (아직 변환되지 않은 경우) 그레이스케일로 변환됩니다.
  • 각 픽셀 위치마다 모든 입력 마스크 중 최댓값이 선택됩니다.
  • 결과적으로 입력 마스크 중 어느 하나라도 흰색인 픽셀 위치는 출력에서도 흰색으로 나타납니다.
  • 입력 비디오들의 재생 시간이 다른 경우, 가장 긴 비디오의 길이에 맞추어 짧은 비디오 뒤쪽에 검은색 프레임이 추가(패딩)됩니다.

진행률 표시기를 통해 처리 상태를 확인할 수 있습니다 (0-90%: 프레임 처리, 90-100%: 비디오 재합성).

예시

서로 다른 객체를 추적하는 두 개의 마스크 비디오를 결합하려는 경우:

  1. 두 마스크 비디오를 mask_videos 입력에 연결합니다.
  2. 워크플로우를 실행합니다.
  3. 두 입력 마스크 중 어느 한쪽이라도 흰색 픽셀이 있던 모든 영역이 흰색으로 표시된 출력 마스크가 생성됩니다.

중요 참고 사항

  • CombineMasksVideo 노드는 비디오 처리를 위해 FFmpeg를 사용합니다.
  • 모든 입력 마스크는 처리 중 그레이스케일로 변환됩니다.
  • 출력 비디오의 해상도는 첫 번째 입력 비디오와 일치합니다.
  • 재생 시간이 다른 비디오는 검은색 프레임 패딩을 통해 자동으로 처리됩니다.
  • 출력 비디오는 기준이 되는 첫 번째 비디오의 프레임 레이트를 유지합니다.
  • 문제 해결을 위한 로그 정보가 제공됩니다.