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

추적 클래스 잠금

다수결 투표로 각 추적 객체의 클래스를 고정해 클래스 깜빡임을 제거합니다.

다수결 투표로 각 추적 객체의 클래스 레이블을 잠가, 모델이 같은 물리적 객체에 대해 유사한 클래스들 사이를 번갈아 예측하면서 발생하는 비디오 워크플로의 클래스 깜빡임을 제거합니다.

이 블록의 작동 방식

이 블록은 이미지의 비디오 메타데이터에 포함된 video_identifier를 키로 하여 추적별 투표 상태를 유지합니다:

  1. 잠금 전에는, 자격을 충족하는 모든 프레임(confidence >= vote_confidence)이 예측된 클래스에 대한 한 표로 집계됩니다. 한 클래스는 min_votes표를 모으고, 차점 클래스보다 lead_margin표 이상 앞서면 잠깁니다.

  2. 잠금 후에는 잠긴 클래스가 해당 추적의 이후 모든 검출에 기록됩니다. 보고되는 신뢰도는 집계된 투표의 누적 평균이며(1.0으로 상한이 적용됨).

  3. 잠긴 클래스는 동일한 도전자 클래스의 자격을 충족하는 연속된 switch_after 프레임이 있어야만 변경될 수 있습니다. 도전자 증거는 연속 구간 단위로 관리됩니다. 연속이 끊길 때마다 연속 카운터와 그 신뢰도 합이 모두 초기화되며, 전환이 성공하면 새 클래스의 집계값은 연속 값만으로 초기화되므로 보고되는 신뢰도는 1.0을 초과하지 않습니다.

  4. 잠긴 추적이 최근 사라진 위치에 NEW tracker id가 나타나면(reattach_window 프레임 이내, 바운딩 박스 IoU >= reattach_iou), 새 추적은 사라진 추적의 잠금 상태와 투표 상태를 물려받습니다. 이렇게 하면 짧은 검출 간격이나 가림으로 인해 tracker id가 바뀌어도 잠금이 유지됩니다. 잠긴 추적만 상속되며, 현재 프레임에 아직 존재하는 추적은 절대 상속되지 않습니다. 재연결을 비활성화하려면 reattach_window를 0으로 설정하세요.

  5. state_ttl 프레임 동안 보이지 않은 추적의 상태는 제거됩니다.

각 검출에는 불리언 class_locked 플래그가 detections.data에 포함됩니다.

요구 사항

검출에는 tracker_id가 포함되어야 합니다(Byte Tracker 같은 추적 블록 뒤에 이 블록을 연결하세요). 이미지의 video_metadata는 비디오 스트림별로 별도의 상태를 유지하는 데 사용됩니다.

유형 식별자

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

속성

이름

유형

설명

참조

name

str

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

min_votes

정수

초기 잠금이 획득되기 전에 클래스가 필요로 하는 누적 자격 투표 수입니다. 값이 높을수록 잠금은 지연되지만 초기 결정의 신뢰도는 더 높아집니다..

vote_confidence

float

프레임이 집계되기 위한 최소 예측 신뢰도입니다. 잠금 전 투표와 잠금 후 도전자 연속 구간 모두에 적용됩니다. 이 임계값보다 낮은 프레임은 무시됩니다..

lead_margin

정수

잠금 전에 1위 클래스가 차점 클래스보다 앞서야 하는 투표 수입니다. 두 클래스가 경합 중일 때 조기 잠금을 방지합니다..

switch_after

정수

기존 잠금을 변경하기 위해 필요한 동일한 도전자 클래스의 연속된 자격 충족 프레임 수입니다. 어떤 중단이든 연속 구간을 초기화합니다. 최소 1(값이 1이면 반대 프레임 하나만으로 전환됨; 여러 프레임의 연속을 강제하려면 >= 2를 사용하세요)..

state_ttl

정수

보이지 않는 추적의 상태가 제거되기까지의 프레임 수입니다..

reattach_window

정수

잠긴 추적이 이 프레임 수 이내에 사라진 위치에 NEW tracker id가 나타나면, 새 추적은 사라진 추적의 잠금과 투표를 물려받습니다. 짧은 검출 간격으로 인한 tracker id 전환을 이어줍니다. 재연결을 비활성화하려면 0으로 설정하세요..

reattach_iou

float

잠금이 상속되기 위한, 새 검출의 바운딩 박스와 최근에 사라진 잠긴 추적의 마지막으로 알려진 바운딩 박스 사이의 최소 IoU입니다. 값이 높을수록 객체가 사라진 지점에 더 가깝게 다시 나타나야 합니다..

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

런타임 호환성

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

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

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 추적 클래스 잠금 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): 내장된 비디오 메타데이터가 포함된 이미지입니다. video_metadata에는 서로 다른 비디오에 대해 별도의 투표 상태를 유지하는 데 사용되는 video_identifier가 포함됩니다..

    • detections (Union[rle_instance_segmentation_prediction, object_detection_prediction, instance_segmentation_prediction, keypoint_detection_prediction]): 추적된 예측(객체 검출, 인스턴스 세그멘테이션, 키포인트 검출 또는 RLE 인스턴스 세그멘테이션). 추적 블록의 tracker_id 정보를 포함해야 합니다..

    • min_votes (정수): 초기 잠금이 획득되기 전에 클래스가 필요로 하는 누적 자격 투표 수입니다. 값이 높을수록 잠금은 지연되지만 초기 결정의 신뢰도는 더 높아집니다..

    • vote_confidence (0에서 1 사이의 실수): 프레임이 집계되기 위한 최소 예측 신뢰도입니다. 잠금 전 투표와 잠금 후 도전자 연속 구간 모두에 적용됩니다. 이 임계값보다 낮은 프레임은 무시됩니다..

    • lead_margin (정수): 잠금 전에 1위 클래스가 차점 클래스보다 앞서야 하는 투표 수입니다. 두 클래스가 경합 중일 때 조기 잠금을 방지합니다..

    • switch_after (정수): 기존 잠금을 변경하기 위해 필요한 동일한 도전자 클래스의 연속된 자격 충족 프레임 수입니다. 어떤 중단이든 연속 구간을 초기화합니다. 최소 1(값이 1이면 반대 프레임 하나만으로 전환됨; 여러 프레임의 연속을 강제하려면 >= 2를 사용하세요)..

    • state_ttl (정수): 보이지 않는 추적의 상태가 제거되기까지의 프레임 수입니다..

    • reattach_window (정수): 잠긴 추적이 이 프레임 수 이내에 사라진 위치에 NEW tracker id가 나타나면, 새 추적은 사라진 추적의 잠금과 투표를 물려받습니다. 짧은 검출 간격으로 인한 tracker id 전환을 이어줍니다. 재연결을 비활성화하려면 0으로 설정하세요..

    • reattach_iou (0에서 1 사이의 실수): 잠금이 상속되기 위한, 새 검출의 바운딩 박스와 최근에 사라진 잠긴 추적의 마지막으로 알려진 바운딩 박스 사이의 최소 IoU입니다. 값이 높을수록 객체가 사라진 지점에 더 가깝게 다시 나타나야 합니다..

  • 출력

    • tracked_detections (Union[object_detection_prediction, instance_segmentation_prediction, keypoint_detection_prediction, rle_instance_segmentation_prediction]): sv.Detections(...) 객체 형태의 탐지된 바운딩 박스 예측, 다음 경우 object_detection_prediction 또는 sv.Detections(...) 객체 형태의 탐지된 바운딩 박스 및 세그멘테이션 마스크 예측, 다음 경우 instance_segmentation_prediction 또는 탐지된 바운딩 박스와 탐지된 키포인트가 포함된 sv.Detections(...) 객체 형태의 예측이며, keypoint_detection_prediction 또는 탐지된 바운딩 박스와 RLE로 인코딩된 세그멘테이션 마스크를 포함한 sv.Detections(...) 객체 형태의 Prediction, 만약 rle_instance_segmentation_prediction.

예시 JSON 정의

마지막 업데이트

도움이 되었나요?