콘텐츠로 이동

AdjustMaskSize

어떤 노드인가요?

AdjustMaskSize 노드는 마스크의 경계를 팽창(Dilation, 확장)하거나 침식(Erosion, 축소)하여 비디오 내 마스크 크기를 조절합니다. 비디오 속성을 그대로 유지하면서 형태학적 연산(Morphological operations)을 통해 각 프레임을 개별적으로 처리합니다.

언제 사용하나요?

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

  • 마스크 경계를 확장하여 주변 영역을 더 많이 포함해야 할 때 (팽창)
  • 가장자리 아티팩트나 얇은 테두리를 제거하기 위해 마스크를 축소해야 할 때 (침식)
  • 세그멘테이션 또는 트래킹 결과로 생성된 마스크의 경계를 다듬을 때
  • 정확한 픽셀 단위로 마스크 적용 영역을 조절하고 싶을 때

사용 방법

기본 설정

  1. 워크플로우에 AdjustMaskSize 노드를 추가합니다.
  2. "mask_video" 입력에 마스크 비디오 소스를 연결합니다.
  3. "adjustment" 슬라이더를 조절하여 원하는 확장 또는 축소 값을 설정합니다.
  4. 워크플로우를 실행하여 마스크 비디오를 처리합니다.

파라미터 (Parameters)

  • mask_video: 크기를 조절할 마스크 비디오입니다. (VideoArtifact 및 VideoUrlArtifact 지원)

  • adjustment: 픽셀 단위의 마스크 크기 조절 값입니다. (-25 ~ +25, 기본값: 0)

    • 양수 값 (1 ~ 25): 마스크를 확장합니다 (팽창).
    • 음수 값 (-25 ~ -1): 마스크를 축소합니다 (침식).
    • 0: 변경 없이 원본 그대로 통과시킵니다 (처리 건너뜀).

출력 (Outputs)

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

작동 원리

이 노드는 형태학적 연산을 프레임별로 적용합니다:

  • 팽창 (Dilation, 양수 조절값): 최댓값 필터(Maximum filter)를 적용하여 마스크 내 흰색 영역을 확장합니다. 각 흰색 픽셀은 원형 커널(Circular kernel)을 사용하여 지정된 픽셀 수만큼 바깥쪽으로 확장됩니다.

  • 침식 (Erosion, 음수 조절값): 최솟값 필터(Minimum filter)를 적용하여 마스크 내 흰색 영역을 축소합니다. 각 흰색 픽셀은 원형 커널을 사용하여 지정된 픽셀 수만큼 안쪽으로 축소됩니다.

  • 조절값 0: adjustment가 0일 때는 별도 처리 없이 입력 비디오를 그대로 반환합니다.

원형 커널을 사용하므로 모든 방향으로 균일하고 자연스럽게 확장 또는 축소됩니다. 진행률 표시기를 통해 처리 상태를 확인할 수 있습니다 (0-90%: 프레임 처리, 90-100%: 비디오 재합성).

예시

주변 영역을 더 포함하기 위해 마스크를 5픽셀 확장하려는 경우:

  1. 마스크 비디오를 mask_video 입력에 연결합니다.
  2. adjustment5로 설정합니다.
  3. 워크플로우를 실행합니다.
  4. 출력 마스크는 모든 방향으로 경계가 5픽셀씩 확장됩니다.

마스크에서 3픽셀 테두리를 제거하려는 경우:

  1. 마스크 비디오를 mask_video 입력에 연결합니다.
  2. adjustment-3으로 설정합니다.
  3. 워크플로우를 실행합니다.
  4. 출력 마스크는 모든 방향으로 경계가 3픽셀씩 축소됩니다.

중요 참고 사항

  • AdjustMaskSize 노드는 비디오 프레임 추출 및 재합성을 위해 FFmpeg를 사용합니다.
  • 효율적인 연산 처리를 위해 PIL (Pillow)의 MaxFilter 및 MinFilter 형태학적 연산을 사용합니다.
  • 원형 커널을 적용하여 부드럽고 자연스러운 결과를 제공합니다.
  • 입력 마스크는 처리 과정에서 자동으로 그레이스케일로 변환됩니다.
  • 출력 비디오는 입력과 동일한 해상도, 프레임 레이트, 재생 시간을 유지합니다.
  • adjustment가 0일 때는 효율성을 위해 모든 처리를 건너뜁니다.
  • 문제 해결을 위한 로그 정보가 제공됩니다.