동작 필터링 가이드

모션 필터 모델을 사용하면 모션 이벤트가 포함된 더 작은 세그먼트로 긴 동영상 섹션을 잘라내어 계산 시간을 줄일 수 있습니다. 이 모델을 사용하면 동작 민감도, 최소 이벤트 길이, 전환 확인 기간, 및 대기 기간 을 설정하여 사용 사례에 맞게 동작 이벤트의 출력을 조정할 수 있습니다.

모델 매개변수

동작 필터 모델에는 이벤트 세그먼트와 모델이 이를 반환하는 방식을 조정하는 4개의 제어 매개변수가 있습니다.

매개변수 설명 플래그 기본값 사용 가능한 값
최소 이벤트 길이 모션 이벤트가 종료된 후 모션 이벤트가 캡처되는 최소 길이(초)입니다. --min-event-length INT 10 (초) 1~3600
움직임 감지 민감도 모델의 모션 이벤트 필터링 민감도입니다. 민감도가 높을수록 동작에 더 잘 반응하고 더 적극적인 동작 필터링을 제공하므로 더 많은 동작이 감지됩니다. --motion-sensitivity STRING "medium" "high", "medium", "low"
전환 확인 기간 감지된 모션 이벤트 전에 서비스가 캡처하는 동영상 콘텐츠의 양 (초)입니다. --lookback-length INT 3 (초) 0~300
대기 기간 동작 이벤트가 종료된 후 지정된 기간의 대기 기간이 발생합니다. 대기 기간 동안 모델은 동작 이벤트를 등록하지 않습니다. --cooldown-length INT 300 (초) 0~3600

동작 민감도

동작 필터를 실행할 때 동작 민감도는 모델이 동영상 스트림에서 생성하는 세그먼트 동영상 수를 결정하는 데 가장 중요한 역할을 합니다.

움직임 감지 민감도가 높을수록 모델 감지가 노이즈와 작은 움직임에 더 민감합니다. 이 높은 민감도 설정은 안정적인 조명이 포함되어 있고 멀리서 보이는 사람의 모습과 같이 움직이는 작은 객체를 보여주는 설정에 권장됩니다.

반대로 민감도가 낮은 경우 조명 간섭과 작은 움직임에 가장 덜 민감합니다. 이 설정은 실외 환경과 같이 조명 간섭이 더 많은 상황에 적합합니다. 이 설정은 가장 적극적인 필터링 옵션이므로 작은 객체의 움직임을 무시합니다.

최소 이벤트 길이

최소 이벤트 길이는 모델이 프레임에서 모션 이벤트 감지를 중지한 후 캡처하는 동영상의 기간입니다. 기본값은 10초이지만 1초에서 3,600초 사이의 시간을 지정할 수 있습니다. 최소 이벤트 길이 중에 새 동작이 감지되면 새로 감지된 모션 이벤트의 기간 더하기 최소 이벤트 길이의 새 카운트다운 동안 새 동작이 현재 동영상 세그먼트에 추가됩니다.

최소 이벤트 길이 다이어그램

예를 들어 프레임에서 두 대의 자동차가 움직이는 교차로 동영상을 생각해 보겠습니다. 첫 번째 자동차는 처음 3초 동안 지나가고 두 번째 자동차는 2초 후에 도착합니다. 최소 이벤트 길이를 1초로 설정하면 동작이 있는 동영상 세그먼트가 두 개 있습니다. 한 동영상 세그먼트에는 첫 번째 자동차가 포함되고 다른 세그먼트에는 두 번째 자동차가 포함됩니다. 하지만 모션 이벤트를 3초로 설정하면 동작이 있는 동영상 세그먼트가 하나만 생성됩니다. 두 번째 자동차는 첫 번째 자동차가 지나간 후 2초 후에만 프레임에 나타납니다.

최소 이벤트 길이를 설정할 때는 동영상에서 동작 이벤트가 일반적으로 얼마나 자주 발생하는지, 저장하려는 동영상 세그먼트 수를 고려하세요. 동작 이벤트가 자주 발생하지만 대부분의 동작 이벤트를 별도의 동영상 세그먼트에 저장하려면 최소 이벤트 길이를 더 짧은 기간으로 설정하세요. 동작 이벤트가 자주 발생하지 않지만 이벤트를 함께 그룹화하려면 최소 이벤트 길이를 더 긴 기간으로 설정하여 동일한 동영상 세그먼트에서 여러 이벤트를 캡처하세요.

전환 확인 기간

전환 확인 기간은 모션 이벤트가 감지되는 순간 바로 직전의 시간입니다. 이 창은 모델이 모션 이벤트를 감지하기 몇 초 전에 프레임에서 발생하는 상황을 확인하려는 경우에 유용합니다. 전환 확인 기간의 기본값은 3초이지만 0초에서 300초 사이의 값을 지정할 수 있습니다.

전환 확인 기간을 사용하여 움직이는 객체가 어디에서 시작되었는지 확인할 수 있습니다. 전환 확인 기간을 사용하여 모션 이벤트가 발생하기 몇 초 전에 프레임에 무엇이 있었는지 확인할 수도 있습니다. 전환 확인 기간은 프레임에 모션 이벤트로 감지되지 않는 작은 움직이는 객체가 있는 상황에서 유용합니다. 하지만 프레임의 작은 움직이는 객체가 감지된 더 큰 동작 이벤트를 유발했을 수 있습니다.

대기 기간

대기 기간은 모션 이벤트와 최소 이벤트 길이가 캡처된 후에 발생하는 기간입니다. 대기 기간 동안 감지된 동작은 동작 필터를 트리거하지 않습니다. 이 기간의 범위는 0초에서 3,600초 사이입니다. 기본값은 300초로 설정됩니다.

대기 기간은 사용자가 계산 비용을 절약할 수 있도록 설계되었습니다. 프레임의 움직임이 예상되고 동작이 발생하는 시점을 파악하는 데만 관심이 있고 그 이후에 발생하는 상황은 신경 쓰지 않는다면 대기 시간이 유용한 설정입니다.

모델 사용

Gemini Enterprise Agent Platform Vision SDK를 사용하여 동작 필터 모델을 사용할 수 있습니다.

vaictl 명령줄 도구를 사용하여 applying encoded-motion-filter를 지정하고 값을 전달하여 제어 매개변수를 설정하여 모델을 사용 설정합니다.

Gemini Enterprise Agent Platform Vision SDK

동작 필터 모델을 사용하여 요청을 보내려면 Gemini Enterprise Agent Platform Vision SDK를 설치해야 합니다.

다음 변수를 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다. Google Cloud
  • LOCATION_ID: 위치 ID입니다. 예를 들면 us-central1입니다. 지원되는 리전. 자세한 정보
  • LOCAL_FILE.EXT: 로컬 동영상 파일의 파일 이름입니다. 예를 들면 my-video.mp4입니다.
  • STREAM_ID: 클러스터에서 만든 스트림 ID입니다. 예를 들면 input-stream입니다.
  • --motion-sensitivity: 모션 이벤트 필터링의 민감도입니다. 옵션은 high, medium, low입니다.
  • --min-event-length: 모션 이벤트의 최소 기간(초)입니다. 기본값은 10초입니다. 사용 가능한 값: 1-3600
  • --lookback-length: 동작 이벤트가 시작되기 전 전환 확인 기간의 기간(초)입니다. 기본값은 3초입니다. 사용 가능한 값: 0-300.
  • --cooldown-length: 모션 이벤트가 발생한 후 대기 기간(초)입니다. 기본값은 300초 (5분)입니다. 사용 가능한 값: 0-3600
  • --continuous-mode: 연속 모드로 전송할지 여부입니다. 기본값은 true입니다.
  • OUTPUT_DIRECTORY: 출력 동영상 세그먼트 MP4 파일을 저장할 디렉터리입니다.

명령어 정보 보기

다음 명령어를 사용하여 명령어 및 선택적 매개변수에 관한 자세한 정보를 확인합니다.

vaictl send video-file applying motion-filter -h

동작 필터 모델을 사용하여 로컬 파일 콘텐츠 필터링

이 명령어는 모델이 동작을 감지하는 동영상 섹션만 전송합니다.

vaictl -p PROJECT_ID \
      -l LOCATION_ID \
      -c application-cluster-0 \
      --service-endpoint visionai.googleapis.com \
send video-file  --file-path LOCAL_FILE.EXT \
applying motion-filter --motion-sensitivity=medium \
      --min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to streams STREAM_ID --loop

동작 필터 모델을 사용하여 로컬 파일 콘텐츠 필터링 및 출력 저장

이 명령어는 --continuous_mode 플래그를 사용하여 모든 동작 세그먼트에 대해 별도의 동영상 파일을 출력합니다.

vaictl -p PROJECT_ID \
      -l LOCATION_ID \
      -c application-cluster-0 \
      --service-endpoint visionai.googleapis.com \
send video-file --file-path LOCAL_FILE.EXT --continuous-mode=false \
applying motion-filter --motion-sensitivity=medium \
      --min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to mp4file --mp4-file-path=OUTPUT_DIRECTORY

권장사항

동작 필터는 전송 중에 인코딩된 동영상을 디코딩하는 데 필요한 계산 시간을 줄이는 데 도움이 되는 경량 모델로 설계되었습니다. 필터를 가장 잘 작동시키려면 정지된 카메라를 관심 있는 객체에 직접 배치하세요. 프레임의 배경에 중요하지 않은 움직이는 객체를 포함하지 마세요. 예를 들어 움직이는 나무, 끊임없는 자동차 흐름, 움직이는 객체의 그림자와 같은 배경 객체가 포함된 프레임은 이러한 중요하지 않은 피사체의 움직임을 감지합니다.

관심 있는 객체를 전경에 배치하고 끊임없이 움직이는 배경 객체의 양을 최대한 줄이세요. 요약하자면

  • 정지된 카메라를 사용합니다.
  • 끊임없이 움직이는 배경을 피해야 합니다.
  • 최소한의 움직임은 감지되지 않습니다.
  • 객체가 충분히 큰지 확인합니다.

실내 권장사항

일정한 조명과 최소한의 배경 움직임이 있는 실내 환경의 경우 다음 실내 권장사항을 따르세요.

  • 민감도를 높입니다. 프레임의 객체가 더 커지고 프레임의 노이즈도 줄어듭니다.
  • 더 작은 전환 확인 기간과 더 짧은 이벤트 길이를 사용합니다. 실내 움직임은 더 느리고 움직임이 발생할 수 있는 공간이 제한되어 있습니다.

이러한 실내 권장사항을 따르면 동작 필터가 최소한의 시간으로 객체 움직임을 기록할 수 있습니다.

실외 권장사항

실외 환경의 경우 필터 성능에 영향을 미칠 수 있는 실외 장면의 변수가 더 많습니다. 예를 들어 움직이는 나무의 그림자 또는 프레임의 햇빛 변화는 동작 필터 모델의 감지된 움직임입니다. 다음 조건과 이에 대응하는 가장 좋은 방법을 고려하세요.

상황 1:

보행자가 가끔 지나가는 인도를 캡처하는 동영상을 생각해 보겠습니다. 이러한 움직임은 느린 캐주얼 워킹에서 스케이트보드 통과와 같이 빠를 수 있습니다. 다음 안내를 사용하세요.

  • 최소 기간과 전환 확인 기간을 더 긴 값으로 설정합니다. 동작 속도는 실내 시나리오보다 범위가 더 크므로 최소 기간과 전환 확인 기간을 늘리면 모델이 전체 모션 이벤트를 캡처할 수 있습니다.
  • 동작 민감도를 더 높게 설정합니다. 실외 환경에는 움직이는 나무와 그림자와 같이 자연스럽게 움직이는 객체가 더 많이 포함되어 있습니다. 사람과 자전거와 같은 관심 있는 객체에만 집중하려면 배경 객체의 지속적인 감지를 피하기 위해 동작 민감도를 더 높게 설정하세요.

상황 2:

자동차가 끊임없이 지나가고 보행자가 가끔 지나가는 거리에 초점을 맞춘 다른 동영상을 생각해 보겠습니다. 다음 안내를 사용하세요.

  • 민감도를 중간 또는 낮음으로 설정합니다. 민감도 설정을 낮추면 모델이 프레임에서 다양한 크기의 움직이는 객체를 캡처할 수 있습니다.
  • 전환 확인 기간과 최소 이벤트 길이를 더 짧은 값으로 설정합니다. 거리의 자동차와 기타 차량은 사람과 자전거보다 훨씬 빠른 속도로 이동합니다. 이러한 매개변수에 더 짧은 값을 설정하면 동작 속도가 더 빠르고 객체가 프레임에 빠르게 들어가고 나간다는 점을 고려합니다.
  • 짧은 대기 시간을 설정합니다. 동작 속도가 더 빠르기 때문에 첫 번째 객체 직후에 다음 객체가 프레임에 들어갈 수 있습니다. 따라서 더 짧은 대기 시간이 이를 고려합니다.

제한사항

동작 필터는 각 프레임의 동작 벡터에 크게 의존하므로 몇 가지 제한사항을 염두에 두어야 합니다.

  1. 카메라 각도: 움직이는 카메라는 프레임에 끊임없이 움직임이 있으므로 정지된 카메라를 사용합니다.
  2. 객체 크기: 동작 필터로 최상의 성능을 얻을 수 있도록 프레임에 주요 객체가 충분히 크게 표시되도록 피사체를 프레임에 넣으세요.
  3. 조명: 프레임의 갑작스러운 밝기 변화 또는 강렬한 그림자 움직임과 같은 조명 변화는 모델 성능을 저하시킬 수 있습니다. 전체 동영상의 밝기 톤이 비슷하여 모델이 동작을 해석하는 방식에 영향을 미치고 모델 성능을 저하시키는 낮은 다이내믹 레인지입니다.
  4. 카메라 위치: 모델은 프레임의 움직임을 감지하도록 설계되었습니다. 여기에는 바람에 나무가 움직이거나 프레임 밖의 객체가 그림자를 만드는 것과 같은 배경 움직임이 포함됩니다. 이러한 움직임을 만드는 배경 객체를 가리키는 프레임의 큰 부분이 있으면 모델 성능에 영향을 미칠 수 있습니다.