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

BoT-SORT 추적기

선택적 카메라 움직임 보정을 포함한 ByteTrack 스타일의 연관 방식(BoT-SORT)입니다.

다음을 사용하여 비디오 프레임 간 객체를 추적합니다 BoT-SORT roboflow/trackers 패키지의 알고리즘입니다.

BoT-SORT는 ByteTrack 스타일의 연관 파이프라인(고신뢰도 및 저신뢰도 검출, Kalman 트랙 상태)을 따르며 다음을 적용할 수 있습니다 카메라 모션 보상(CMC) 활성화되어 있으면 연관 전에 적용됩니다. CMC는 프레임 간 전역 아핀 모션을 추정하여 카메라가 움직일 때 예측 박스가 더 잘 정렬되도록 합니다.

BoT-SORT를 사용할 때:

  • 다음과 같은 장면: 움직이거나 흔들리는 카메라 (다음을 활성화) 카메라 모션 보상).

  • 밀집된 검출 노이즈에서 ByteTrack 스타일의 2단계 매칭이 도움이 됩니다.

  • 옵션 모션 보상 단계가 있는 ByteTrack 유사 동작을 원할 때.

대안을 고려할 때:

  • 고정 카메라이고 속도만 필요할 때: ByteTrack 또는 SORT 가 더 간단할 수 있습니다.

  • 카메라 모션 없이 심한 가림과 불규칙한 객체 움직임이 있는 경우: OC-SORT.

  • 희소 특징 CMC가 신뢰할 수 없는 저텍스처 배경.

카메라 모션 보상: 활성화되면 블록이 매 프레임 워크플로 이미지 픽셀을 추적기에 전달합니다. 이미지를 numpy 배열로 디코딩할 수 없으면, 해당 프레임에서는 CMC 없이 추적기가 실행됩니다(경고가 기록됨).

즉시 첫 프레임 활성화 기본값은 꺼짐이며, 다른 핵심 추적기 블록과 동작이 new_instances / already_seen_instances. 이를 활성화하면 프레임 1의 트랙에 즉시 안정적인 ID가 부여됩니다(원래 BoT-SORT 논문 방식).

세 가지 검출 세트를 출력합니다:

  • tracked_detections: 할당된 트랙 ID가 있는 모든 확정된 추적 검출입니다.

  • new_instances: 트랙 ID가 처음 나타나는 검출입니다.

  • already_seen_instances: 트랙 ID가 이전 프레임에서 이미 관측된 검출입니다.

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

유형 식별자

step에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/trackers_botsort@v1 를 워크플로에 단계로 추가합니다.

속성

이름

유형

설명

참조

name

str

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

minimum_iou_threshold_first_assoc

실수

첫 번째(고신뢰도) 연관 단계에서의 최소 융합 유사도(IoU × confidence). 기본값: 0.2..

minimum_iou_threshold_second_assoc

실수

두 번째(저신뢰도) 연관 단계에서의 최소 IoU. 기본값: 0.5..

minimum_iou_threshold_unconfirmed_assoc

실수

확정되지 않은 트랙을 남은 고신뢰도 검출과 매칭하기 위한 최소 융합 유사도. 기본값: 0.3..

minimum_consecutive_frames

int

트랙이 확정된 트랙(tracker_id != -1)으로 출력되기 전에 연속으로 매칭되어야 하는 프레임 수입니다. 기본값: 2..

lost_track_buffer

int

매칭된 검출을 잃은 후 트랙을 유지할 프레임 수입니다. 값이 높을수록 가림 복구가 향상됩니다. 기본값: 30..

track_activation_threshold

실수

새 트랙을 생성하는 데 필요한 최소 검출 신뢰도입니다. 이 임계값 미만의 검출은 새 트랙 생성에 사용되지 않습니다. 기본값: 0.7..

high_conf_det_threshold

실수

연관에 사용되는 고신뢰도 검출의 신뢰도 임계값입니다. 기본값: 0.6..

enable_cmc

bool

카메라 모션 보상을 활성화합니다(프레임별 이미지 픽셀 사용). 움직이는 카메라에 권장됩니다..

cmc_method

str

카메라 모션 추정기입니다. 다음 중 하나: orb, sift, sparseOptFlow, ecc. 기본값: {DEFAULT_CMC_METHOD!r}..

cmc_downscale

int

속도와 견고성을 위해 CMC 내부에 적용되는 다운스케일 계수입니다. 기본값: 2..

instant_first_frame_activation

bool

true이면 첫 번째 프레임의 트랙에 즉시 ID가 부여됩니다(논문 방식). 기본값 false이며, 이는 new/already-seen 출력이 다른 핵심 추적기와 일치하도록 합니다..

instances_cache_size

int

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

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

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 종류에 따라 달라집니다. 어떤 바인딩 종류가 있는지 확인하세요 BoT-SORT 트래커 버전 v1 가 있습니다.

입력 및 출력 바인딩
  • 입력

    • image (image): 비디오 메타데이터(fps 및 video_identifier)가 포함된 입력 이미지입니다. 비디오별 추적기 상태를 초기화하고 가져오는 데 사용됩니다. 카메라 모션 보상이 활성화된 경우 프레임 픽셀은 이 이미지에서 읽습니다..

    • 감지 결과 (Union[instance_segmentation_prediction, keypoint_detection_prediction, object_detection_prediction, rle_instance_segmentation_prediction]): 현재 프레임에서 추적할 검출 예측입니다..

    • minimum_iou_threshold_first_assoc (float_zero_to_one): 첫 번째(고신뢰도) 연관 단계에서의 최소 융합 유사도(IoU × confidence). 기본값: 0.2..

    • minimum_iou_threshold_second_assoc (float_zero_to_one): 두 번째(저신뢰도) 연관 단계에서의 최소 IoU. 기본값: 0.5..

    • minimum_iou_threshold_unconfirmed_assoc (float_zero_to_one): 확정되지 않은 트랙을 남은 고신뢰도 검출과 매칭하기 위한 최소 융합 유사도. 기본값: 0.3..

    • minimum_consecutive_frames (정수): 트랙이 확정된 트랙(tracker_id != -1)으로 출력되기 전에 연속으로 매칭되어야 하는 프레임 수입니다. 기본값: 2..

    • lost_track_buffer (정수): 매칭된 검출을 잃은 후 트랙을 유지할 프레임 수입니다. 값이 높을수록 가림 복구가 향상됩니다. 기본값: 30..

    • track_activation_threshold (float_zero_to_one): 새 트랙을 생성하는 데 필요한 최소 검출 신뢰도입니다. 이 임계값 미만의 검출은 새 트랙 생성에 사용되지 않습니다. 기본값: 0.7..

    • high_conf_det_threshold (float_zero_to_one): 연관에 사용되는 고신뢰도 검출의 신뢰도 임계값입니다. 기본값: 0.6..

    • enable_cmc (boolean): 카메라 모션 보상을 활성화합니다(프레임별 이미지 픽셀 사용). 움직이는 카메라에 권장됩니다..

    • cmc_downscale (정수): 속도와 견고성을 위해 CMC 내부에 적용되는 다운스케일 계수입니다. 기본값: 2..

    • instant_first_frame_activation (boolean): true이면 첫 번째 프레임의 트랙에 즉시 ID가 부여됩니다(논문 방식). 기본값 false이며, 이는 new/already-seen 출력이 다른 핵심 추적기와 일치하도록 합니다..

  • 출력

    • 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(...) 객체 형식으로 제공됩니다. 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(...) 객체 형식으로 제공됩니다. 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(...) 객체 형식으로 제공됩니다. rle_instance_segmentation_prediction.

예시 JSON 정의

마지막 업데이트

도움이 되었나요?