> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ko/blocks/blocks/video-processing/byte-track-tracker.md).

# ByteTrack 추적기

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

ByteTrack는 탐지를 높은 신뢰도와 낮은 신뢰도 풀로 나누고 IoU 기반 연관을 두 차례 수행합니다. 첫 번째 라운드는 높은 신뢰도의 탐지를 기존 트랙과 매칭하고, 두 번째 라운드는 매칭되지 않은 트랙과 겹치는 약한 탐지를 복구합니다. 따라서 ByteTrack은 특히 효과적입니다 **밀집된 환경** 객체가 자주 부분적으로 가려지고 탐지기 신뢰도가 변동하는 환경에서.

**ByteTrack를 사용할 때:**

* 다양한 장면에서의 범용 추적.
* 부분 가림이 있는 밀집하거나 혼잡한 환경.
* 스포츠 추적과 빠르게 움직이는 객체(SportsMOT에서 최고 벤치마크 점수).
* 탐지기가 유지하고 싶은 높은 신뢰도와 낮은 신뢰도의 탐지를 함께 생성할 때.

**대안을 고려할 때:**

* 강력한 탐지기와 함께 최대한의 단순성과 속도를 원한다면 사용하세요 **SORT**.
* 심한 가림과 비선형 움직임이 있는 장면에서는 사용하세요 **OC-SORT**.

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

* **tracked\_detections**: 할당된 트랙 ID가 있는 모든 확정된 추적 탐지.
* **new\_instances**: 트랙 ID가 처음 나타나는 탐지.
* **already\_seen\_instances**: 이전 프레임에서 트랙 ID가 이미 확인된 탐지.

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

### 유형 식별자

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

### 속성

| **이름**                       | **유형**  | **설명**                                                                             | 참조 |
| ---------------------------- | ------- | ---------------------------------------------------------------------------------- | -- |
| `name`                       | `str`   | 이 단계에 대한 고유 식별자를 입력하세요..                                                           | ❌  |
| `minimum_iou_threshold`      | `float` | 탐지를 기존 트랙과 연관시키기 위해 필요한 최소 IoU입니다. 기본값: 0.1..                                      | ✅  |
| `minimum_consecutive_frames` | `정수`    | 트랙이 확인된 트랙(tracker\_id != -1)으로 출력되기 전에 연속으로 매칭되어야 하는 프레임 수입니다. 기본값: 2..           | ✅  |
| `lost_track_buffer`          | `정수`    | 일치하는 탐지를 잃은 후에도 트랙을 유지할 프레임 수입니다. 값이 높을수록 가림 복구가 향상됩니다. 기본값: 30..                  | ✅  |
| `track_activation_threshold` | `float` | 새 트랙을 생성하는 데 필요한 최소 탐지 신뢰도입니다. 이 임계값보다 낮은 탐지는 새 트랙을 만드는 데 사용되지 않습니다. 기본값: 0.7..    | ✅  |
| `high_conf_det_threshold`    | `float` | 연관에 사용되는 높은 신뢰도 탐지의 신뢰도 임계값입니다. 기본값: 0.6..                                         | ✅  |
| `instances_cache_size`       | `정수`    | new/already-seen 분류를 위해 인스턴스 캐시에 유지되는 최대 트랙 ID 수입니다. FIFO 방식으로 제거됩니다. 기본값: 16384.. | ❌  |

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

### 런타임 호환성

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

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

### 입력 및 출력 바인딩

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

<details>

<summary>입력 및 출력 바인딩</summary>

* 입력
  * `이미지` ([*`이미지`*](/workflows/ko/developer-guide/developer-guide/kinds/image.md)): 비디오 메타데이터(fps 및 video\_identifier)가 포함된 입력 이미지. 비디오별 트래커 상태를 초기화하고 조회하는 데 사용됩니다..
  * `detections` (*Union\[*[*`rle_instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/rle-instance-segmentation-prediction.md)*,* [*`object_detection_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/keypoint-detection-prediction.md)*]*): 현재 프레임에서 추적할 탐지 예측값..
  * `minimum_iou_threshold` ([*`0에서 1 사이의 실수`*](/workflows/ko/developer-guide/developer-guide/kinds/float-zero-to-one.md)): 탐지를 기존 트랙과 연관시키기 위해 필요한 최소 IoU입니다. 기본값: 0.1..
  * `minimum_consecutive_frames` ([*`정수`*](/workflows/ko/developer-guide/developer-guide/kinds/integer.md)): 트랙이 확인된 트랙(tracker\_id != -1)으로 출력되기 전에 연속으로 매칭되어야 하는 프레임 수입니다. 기본값: 2..
  * `lost_track_buffer` ([*`정수`*](/workflows/ko/developer-guide/developer-guide/kinds/integer.md)): 일치하는 탐지를 잃은 후에도 트랙을 유지할 프레임 수입니다. 값이 높을수록 가림 복구가 향상됩니다. 기본값: 30..
  * `track_activation_threshold` ([*`0에서 1 사이의 실수`*](/workflows/ko/developer-guide/developer-guide/kinds/float-zero-to-one.md)): 새 트랙을 생성하는 데 필요한 최소 탐지 신뢰도입니다. 이 임계값보다 낮은 탐지는 새 트랙을 만드는 데 사용되지 않습니다. 기본값: 0.7..
  * `high_conf_det_threshold` ([*`0에서 1 사이의 실수`*](/workflows/ko/developer-guide/developer-guide/kinds/float-zero-to-one.md)): 연관에 사용되는 높은 신뢰도 탐지의 신뢰도 임계값입니다. 기본값: 0.6..
* 출력
  * `tracked_detections` (*Union\[*[*`object_detection_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): 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`*](/workflows/ko/developer-guide/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): 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`*](/workflows/ko/developer-guide/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ko/developer-guide/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): sv.Detections(...) 객체 형태의 탐지된 바운딩 박스 예측, 다음 경우 `object_detection_prediction` 또는 sv.Detections(...) 객체 형태의 탐지된 바운딩 박스 및 세그멘테이션 마스크 예측, 다음 경우 `instance_segmentation_prediction` 또는 탐지된 바운딩 박스와 탐지된 키포인트가 포함된 sv.Detections(...) 객체 형태의 예측이며, `keypoint_detection_prediction` 또는 탐지된 바운딩 박스와 RLE로 인코딩된 세그멘테이션 마스크를 포함한 sv.Detections(...) 객체 형태의 Prediction, 만약 `rle_instance_segmentation_prediction`.

</details>

<details>

<summary>예시 JSON 정의</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/trackers_bytetrack@v1",
	    "image": "<block_does_not_provide_example>",
	    "detections": "$steps.object_detection_model.predictions",
	    "minimum_iou_threshold": 0.1,
	    "minimum_consecutive_frames": 2,
	    "lost_track_buffer": 30,
	    "track_activation_threshold": 0.7,
	    "high_conf_det_threshold": 0.6,
	    "instances_cache_size": "<block_does_not_provide_example>"
	}
```

</details>
