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

OC-SORT 추적기

가려짐과 예측 불가능한 움직임을 통해 객체를 추적합니다.

비디오 프레임 전반의 객체를 추적합니다 OC-SORT roboflow/trackers 패키지의 알고리즘입니다.

OC-SORT는 SORT를 두 가지 핵심 메커니즘으로 확장합니다:

  1. 관측 중심 재갱신(OCR): 트랙이 가려짐 이후 다시 나타나면, OC-SORT는 간격 전후의 실제 관측값을 사용해 칼만 필터를 사후적으로 보정하여 누적 드리프트를 줄입니다.

  2. 관측 중심 모멘텀(OCM): 방향 일관성 비용이 매칭 과정에서 IoU와 함께 결합되어, 후보 검출이 트랙의 최근 운동과 일치하지 않는 방향에 있을 때 페널티를 부여합니다.

이로 인해 OC-SORT는 가려짐이 심하고, 움직임이 불규칙하며, 외형이 유사한 장면에서 SORT보다 훨씬 더 견고합니다.

OC-SORT를 사용할 때:

  • 빈번하고 장시간 지속되는 가려짐이 있는 혼잡한 장면(예: 보행자, 창고 작업자).

  • 비선형적이거나 불규칙한 움직임 패턴(예: 춤, 급격한 방향 전환이 있는 스포츠).

  • 긴 시퀀스에서 개체 동일성 일관성이 원시 속도보다 더 중요할 때.

대안을 고려할 때:

  • 혼합 신뢰도 검출이 있는 범용 추적에는 다음을 사용해 보세요 ByteTrack.

  • 강력한 검출기를 사용해 최대한 단순하고 빠르게 하려면 다음을 사용해 보세요 SORT.

다음의 세 탐지 세트를 출력합니다:

  • tracked_detections: 할당된 트랙 ID가 있는 모든 확정된 추적 탐지.

  • new_instances: 트랙 ID가 처음 나타나는 탐지.

  • already_seen_instances: 이전 프레임에서 트랙 ID가 이미 확인된 탐지.

블록은 각 ...마다 별도의 트래커 상태와 인스턴스 캐시를 유지합니다 video_identifier, 단일 워크플로 내에서 여러 스트림 추적을 가능하게 합니다.

유형 식별자

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

속성

이름

유형

설명

참조

name

str

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

minimum_iou_threshold

float

기존 트랙과 탐지를 연결하는 데 필요한 최소 IoU입니다. 기본값: 0.3..

minimum_consecutive_frames

정수

확정된 트랙으로 출력되기 전에 트랙이 일치해야 하는 연속 프레임 수(tracker_id != -1). 기본값: 3..

lost_track_buffer

정수

일치하는 탐지를 잃은 후에도 트랙을 유지할 프레임 수입니다. 값이 높을수록 가림 복구가 향상됩니다. 기본값: 30..

high_conf_det_threshold

float

연관에 사용되는 높은 신뢰도 탐지의 신뢰도 임계값입니다. 기본값: 0.6..

direction_consistency_weight

float

OC-SORT 연결 비용에서 방향 일관성 항의 가중치입니다. 값이 높을수록 과거 운동 방향과 후보 검출 방향의 정렬을 더 우선시합니다. 기본값: 0.2..

delta_t

정수

방향 일관성 모멘텀을 위해 OC-SORT가 각 트랙의 속도를 추정하는 데 사용하는 과거 프레임 수입니다. 기본값: 3..

instances_cache_size

정수

new/already-seen 분류를 위해 인스턴스 캐시에 유지되는 최대 트랙 ID 수입니다. FIFO 방식으로 제거됩니다. 기본값: 16384..

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

런타임 호환성

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

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

입력 및 출력 바인딩

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

입력 및 출력 바인딩
  • 입력

    • 이미지 (이미지): 비디오 메타데이터(fps 및 video_identifier)가 포함된 입력 이미지. 비디오별 트래커 상태를 초기화하고 조회하는 데 사용됩니다..

    • minimum_iou_threshold (0에서 1 사이의 실수): 기존 트랙과 탐지를 연결하는 데 필요한 최소 IoU입니다. 기본값: 0.3..

    • minimum_consecutive_frames (정수): 확정된 트랙으로 출력되기 전에 트랙이 일치해야 하는 연속 프레임 수(tracker_id != -1). 기본값: 3..

    • lost_track_buffer (정수): 일치하는 탐지를 잃은 후에도 트랙을 유지할 프레임 수입니다. 값이 높을수록 가림 복구가 향상됩니다. 기본값: 30..

    • high_conf_det_threshold (0에서 1 사이의 실수): 연관에 사용되는 높은 신뢰도 탐지의 신뢰도 임계값입니다. 기본값: 0.6..

    • direction_consistency_weight (0에서 1 사이의 실수): OC-SORT 연결 비용에서 방향 일관성 항의 가중치입니다. 값이 높을수록 과거 운동 방향과 후보 검출 방향의 정렬을 더 우선시합니다. 기본값: 0.2..

    • delta_t (정수): 방향 일관성 모멘텀을 위해 OC-SORT가 각 트랙의 속도를 추정하는 데 사용하는 과거 프레임 수입니다. 기본값: 3..

  • 출력

    • 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.

    • new_instances (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.

    • already_seen_instances (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 정의

마지막 업데이트

도움이 되었나요?