> 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/ja/burokku/blocks/video-processing/bo-tsort-tracker.md).

# 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 論文スタイル）。

3 つの検出セットを出力します:

* **tracked\_detections**：すべての確認済み追跡検出と割り当て済みのトラック ID。
* **new\_instances**：トラック ID が初めて現れる検出。
* **already\_seen\_instances**：トラック ID が以前のフレームで見られた検出。

このブロックは、トラッカー状態とインスタンスキャッシュを `video_identifier`ごとに個別に保持します。これにより、1 つのワークフロー内でマルチストリーム追跡が可能になります。

### 種別識別子

ステップで次の識別子を使用します `"type"` フィールド: `roboflow_core/trackers_botsort@v1` ワークフローにステップとしてブロックを追加するには。

### プロパティ

| **名前**                                    | **型**   | **説明**                                                                                  | 参照 |
| ----------------------------------------- | ------- | --------------------------------------------------------------------------------------- | -- |
| `name`                                    | `str`   | このステップの一意の識別子を入力してください。                                                                 | ❌  |
| `minimum_iou_threshold_first_assoc`       | `float` | 最初の（高信頼度）関連付けステップにおける最小融合類似度（IoU × 信頼度）。デフォルト: 0.2..                                    | ✅  |
| `minimum_iou_threshold_second_assoc`      | `float` | 2 回目の（低信頼度）関連付けステップにおける最小 IoU。デフォルト: 0.5..                                              | ✅  |
| `minimum_iou_threshold_unconfirmed_assoc` | `float` | 未確認トラックを残りの高信頼度検出にマッチさせるための最小融合類似度。デフォルト: 0.3..                                         | ✅  |
| `minimum_consecutive_frames`              | `int`   | 確認済みトラックとして出力される前に、トラックがマッチされ続けなければならない連続フレーム数（tracker\_id != -1）。デフォルト: 2..            | ✅  |
| `lost_track_buffer`                       | `int`   | 一致する検出を失った後もトラックを生存状態に保つフレーム数。値を大きくすると遮蔽回復が向上します。デフォルト: 30..                            | ✅  |
| `track_activation_threshold`              | `float` | 新しいトラックを生成するために必要な最小検出信頼度。このしきい値未満の検出は新規トラックの作成には使用されません。デフォルト: 0.7..                   | ✅  |
| `high_conf_det_threshold`                 | `float` | 関連付けに使用される高信頼度検出の信頼度しきい値。デフォルト: 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 で、新規/既出の出力が他のコアトラッカーと一致します.. | ✅  |
| `instances_cache_size`                    | `int`   | 新規/既出の分類のためにインスタンスキャッシュに保持されるトラック ID の最大数。FIFO 方式で破棄されます。デフォルト: 16384..                 | ❌  |

この **参照** 列は、で利用可能な動的値を使用してプロパティをパラメータ化できる可能性を示します `ワークフロー` 実行時。参照 *バインディング* 詳細情報

### 入出力バインディング

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `BoT-SORTトラッカー` のバージョン `v1` 持つか確認してください。

<details>

<summary>入出力バインディング</summary>

* 入力
  * `画像` ([*`画像`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): 埋め込み動画メタデータ（fps と video\_identifier）を含む入力画像。動画ごとのトラッカー状態を初期化し、取得するために使用されます。カメラ動作補償が有効な場合、フレームのピクセルはこの画像から読み取られます..
  * `detections` (*Union\[*[*`instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`object_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): 追跡対象の現在フレームの検出予測..
  * `minimum_iou_threshold_first_assoc` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): 最初の（高信頼度）関連付けステップにおける最小融合類似度（IoU × 信頼度）。デフォルト: 0.2..
  * `minimum_iou_threshold_second_assoc` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): 2 回目の（低信頼度）関連付けステップにおける最小 IoU。デフォルト: 0.5..
  * `minimum_iou_threshold_unconfirmed_assoc` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): 未確認トラックを残りの高信頼度検出にマッチさせるための最小融合類似度。デフォルト: 0.3..
  * `minimum_consecutive_frames` ([*`integer`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)): 確認済みトラックとして出力される前に、トラックがマッチされ続けなければならない連続フレーム数（tracker\_id != -1）。デフォルト: 2..
  * `lost_track_buffer` ([*`integer`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)): 一致する検出を失った後もトラックを生存状態に保つフレーム数。値を大きくすると遮蔽回復が向上します。デフォルト: 30..
  * `track_activation_threshold` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): 新しいトラックを生成するために必要な最小検出信頼度。このしきい値未満の検出は新規トラックの作成には使用されません。デフォルト: 0.7..
  * `high_conf_det_threshold` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): 関連付けに使用される高信頼度検出の信頼度しきい値。デフォルト: 0.6..
  * `enable_cmc` ([*`boolean`*](/workflows/ja/gaido/developer-guide/kinds/boolean.md)): カメラ動作補償を有効にします（各フレームの画像ピクセルを使用）。動くカメラに推奨されます..
  * `cmc_downscale` ([*`integer`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)): 速度と堅牢性のために CMC 内で適用されるダウンスケール係数。デフォルト: 2..
  * `instant_first_frame_activation` ([*`boolean`*](/workflows/ja/gaido/developer-guide/kinds/boolean.md)): true の場合、最初のフレームのトラックにすぐ ID が割り当てられます（論文スタイル）。デフォルトは false で、新規/既出の出力が他のコアトラッカーと一致します..
* 出力
  * `tracked_detections` (*Union\[*[*`object_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): 検出されたバウンディングボックスを含む予測。sv.Detections(...) オブジェクトの形式で、もし `object_detection_prediction` ): 検出されたバウンディングボックスとセグメンテーションマスクを含む予測。sv.Detections(...) オブジェクトの形式で、もし `instance_segmentation_prediction` または、検出されたバウンディングボックスと検出されたキーポイントを sv.Detections(...) オブジェクトの形式で持つ予測。 `keypoint_detection_prediction` または、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む予測。 `rle_instance_segmentation_prediction`.
  * `new_instances` (*Union\[*[*`object_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): 検出されたバウンディングボックスを含む予測。sv.Detections(...) オブジェクトの形式で、もし `object_detection_prediction` ): 検出されたバウンディングボックスとセグメンテーションマスクを含む予測。sv.Detections(...) オブジェクトの形式で、もし `instance_segmentation_prediction` または、検出されたバウンディングボックスと検出されたキーポイントを sv.Detections(...) オブジェクトの形式で持つ予測。 `keypoint_detection_prediction` または、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む予測。 `rle_instance_segmentation_prediction`.
  * `already_seen_instances` (*Union\[*[*`object_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/object-detection-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/ja/gaido/developer-guide/kinds/keypoint-detection-prediction.md)*,* [*`rle_instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/rle-instance-segmentation-prediction.md)*]*): 検出されたバウンディングボックスを含む予測。sv.Detections(...) オブジェクトの形式で、もし `object_detection_prediction` ): 検出されたバウンディングボックスとセグメンテーションマスクを含む予測。sv.Detections(...) オブジェクトの形式で、もし `instance_segmentation_prediction` または、検出されたバウンディングボックスと検出されたキーポイントを sv.Detections(...) オブジェクトの形式で持つ予測。 `keypoint_detection_prediction` または、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む予測。 `rle_instance_segmentation_prediction`.

</details>

<details>

<summary>JSON 定義の例</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/trackers_botsort@v1",
	    "image": "<block_does_not_provide_example>",
	    "detections": "$steps.object_detection_model.predictions",
	    "minimum_iou_threshold_first_assoc": 0.2,
	    "minimum_iou_threshold_second_assoc": 0.5,
	    "minimum_iou_threshold_unconfirmed_assoc": 0.3,
	    "minimum_consecutive_frames": 2,
	    "lost_track_buffer": 30,
	    "track_activation_threshold": 0.7,
	    "high_conf_det_threshold": 0.6,
	    "enable_cmc": false,
	    "cmc_method": "sparseOptFlow",
	    "cmc_downscale": 2,
	    "instant_first_frame_activation": false,
	    "instances_cache_size": "<block_does_not_provide_example>"
	}
```

</details>
