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

프레임 지연

같은 비디오 스트림의 이전 프레임(N-k, 과거)에서 값을 참조합니다.

다음에서 생성된 값을 참조합니다 이전 동일한 비디오 스트림의 프레임입니다. 감지 결과, 숫자, 문자열, 이미지, ... 등 어떤 워크플로 출력이든 이 블록에 연결하고, 음수 오프셋, 그러면 이 블록은 그 값을 그대로 반환합니다 |오프셋| 프레임 전.

과거(0 이하) 오프셋만 지원됩니다. 진정한 미래 예측을 하려면 워크플로 전체 출력을 지연해야 하는데, 이는 동기식 런타임(WebRTC/webexec, 단일 이미지 HTTP)에서는 불가능하므로 여기서는 의도적으로 제공하지 않습니다.

이 블록의 작동 방식

  1. 읽습니다 video_metadata 연결된 이미지 다음을 얻기 위해 video_identifier (스트림별 상태를 분리해서 유지하는 데 사용되며) 그리고 단조 증가하는 frame_number (N).

  2. 들어오는 데이터 을 프레임 번호를 키로 하는 비디오별 링 버퍼에 저장합니다.

  3. 계산합니다 target_frame = N + offset (여기서 offset <= 0)이고 data[target_frame] 를 반환합니다. 버퍼에 있으면 default_value.

  4. 보고합니다 is_available (대상 프레임이 버퍼에 있었는지 여부)와 reference_frame_number (항상 현재 프레임 N).

일반적인 사용 사례

  • 현재 프레임을 과거 프레임과 비교하여 (-1, -5) 변화/추세를 감지합니다.

  • 느리게 지연된 신호를 해당 프레임과 정렬합니다.

  • N 프레임 전의 값이 무엇이었는지 기억합니다(예: 10프레임 이전의 지배적인 색상).

요구 사항 및 제한 사항

  • 오프셋 다음이어야 합니다 <= 0. 양수 오프셋은 거부됩니다.

  • |오프셋| 256을 초과할 수 없습니다. 버퍼링된 각 프레임은 메모리에 보관되므로, 큰 오프셋으로 이미지 스트림을 지연하는 것은 비용이 큽니다(1080p에서는 프레임당 약 6MB, 4K에서는 약 25MB). 가능하면 전체 이미지보다 작은 파생 값을 지연하는 것이 좋습니다.

  • 과거 오프셋은 모든 실행 컨텍스트에서 작동하며, 출력 지연은 발생하지 않습니다.

  • 상태는 video_identifier을 키로 하는 프로세스 메모리에 유지됩니다; 무상태/다중 복제 원격 HTTP 런타임에서는 성능이 저하됩니다.

  • 최대 16개의 스트림이 동시에 추적됩니다. 그 이상에서는 가장 오래 전에 확인된 스트림의 버퍼가 폐기됩니다.

  • 다음과 같은 스트림은 frame_number 재시작되면(예: 재연결 시) 버퍼가 지워집니다.

  • 상태는 워크플로의 수명 동안 유지되며, 재시작 시 초기화됩니다.

  • 값은 사용할 수 없으며( default_value) 요청된 |오프셋| 깊이에 도달할

  • 오프셋 런타임 선택기에 연결되어 있으면, 버퍼는 스트림에서 지금까지 관찰된 가장 큰 |오프셋| 값에 맞춰지므로, 얕은 오프셋과 깊은 오프셋을 번갈아 사용해도 깊은 기록을 사용할 수 있습니다. 스트림 중간에 오프셋을 늘리면, 충분한 새 프레임이 버퍼링된 후에야 더 깊은 프레임을 사용할 수 있습니다.

유형 식별자

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

속성

이름

유형

설명

참조

name

str

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

오프셋

정수

과거 방향의 상대 프레임 오프셋입니다. <= 0 이어야 합니다. 예: -1은 이전 프레임, -10은 10프레임 전, 0은 현재 프레임입니다. 버퍼링된 각 프레임이 메모리에 보관되므로 -256으로 제한됩니다..

default_value

Optional[bool, float, int, str]

요청된 프레임이 버퍼에서 (아직) 사용 가능하지 않을 때 반환되는 값..

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

런타임 호환성

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

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

입력 및 출력 바인딩

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

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): 버퍼를 인덱싱하는 데 사용되는 비디오 메타데이터(프레임 번호 및 스트림 식별자)를 제공하는 이미지/비디오 프레임..

    • 데이터 (Union[list_of_values, 이미지, instance_segmentation_prediction, *, keypoint_detection_prediction, object_detection_prediction]): 지연시킬 값입니다. 감지 결과, 숫자, 문자열, 이미지 또는 기타 모든 워크플로 출력일 수 있습니다..

    • 오프셋 (정수): 과거 방향의 상대 프레임 오프셋입니다. <= 0 이어야 합니다. 예: -1은 이전 프레임, -10은 10프레임 전, 0은 현재 프레임입니다. 버퍼링된 각 프레임이 메모리에 보관되므로 -256으로 제한됩니다..

  • 출력

    • 출력 (*): 어떤 요소와도 동일한 값.

    • is_available (boolean): 불리언 플래그.

    • reference_frame_number (정수): 정수 값.

예시 JSON 정의

마지막 업데이트

도움이 되었나요?