> 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トラッカー

roboflow/trackers パッケージの **BoT-SORT** アルゴリズムを使用して、動画フレーム間でオブジェクトを追跡します。

BoT-SORTはByteTrack風のアソシエーションパイプライン（高信頼・低信頼の検出、カルマン追跡状態）に従い、必要に応じて **カメラモーション補償（CMC）** を適用できます。CMCはフレーム間のグローバルなアフィン運動を推定するため、カメラが動いているときに予測 बॉックスの位置がよりよく一致します。

**BoT-SORTを使う場合：**

* 次のようなシーン： **動いている、または揺れているカメラ** （を有効化 **カメラモーション補償**).
* ByteTrack風の2段階マッチングが役立つ、検出ノイズが多い場合。
* オプションのモーション補償ステージ付きで、ByteTrackのような挙動が欲しい場合。

**代替案を検討すべき場面：**

* 固定カメラで速度だけが必要な場合： **ByteTrack** または **SORT** のほうがよりシンプルかもしれません。
* カメラの動きがなく、遮蔽が激しく物体の動きが不規則な場合： **OC-SORT**.
* 疎な特徴量ベースのCMCが信頼できない、低テクスチャな背景。

**カメラモーション補償：** 有効にすると、このブロックは各フレームでワークフロー画像のピクセルをトラッカーに渡します。画像をnumpy配列にデコードできない場合、そのフレームではCMCなしでトラッカーが実行されます（警告がログに記録されます）。

**最初のフレームで即時に有効化** はオフが既定で、動作が他のコアトラッカーブロックと `new_instances` / `already_seen_instances`一致するようになっています。フレーム1のトラックに、オリジナルのBoT-SORT論文風に、すぐ安定したIDを付与したい場合に有効にしてください。

3種類の検出セットを出力します：

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

このブロックは、各 `video_identifier`ごとにトラッカー状態とインスタンスキャッシュを個別に保持し、単一のワークフロー内で複数ストリームの追跡を可能にします。

### 型識別子

ステップで次の識別子を使用してください `"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`              | `整数`    | トラックが確定トラック（tracker\_id != -1）として出力される前に、一致する必要がある連続フレーム数。デフォルト：2..                           | ✅  |
| `lost_track_buffer`                       | `整数`    | 一致した検出を失った後もトラックを生存状態に保つフレーム数。値を大きくすると遮蔽からの復帰性能が向上します。デフォルト: 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`                           | `整数`    | 速度と堅牢性のためにCMC内部で適用される縮小率。既定値: 2..                                                             | ✅  |
| `instant_first_frame_activation`          | `bool`  | true の場合、最初のフレームのトラックはすぐにIDを受け取ります（論文風）。new/already-seen の出力が他のコアトラッカーと一致するよう、既定では false です.. | ✅  |
| `instances_cache_size`                    | `整数`    | 新規/既に確認済みの分類のためにインスタンスキャッシュに保持するトラック ID の最大数。FIFO で削除されます。デフォルト: 16384..                      | ❌  |

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

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

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

<details>

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

* 入力
  * `image` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): 埋め込み動画メタデータ（fps と video\_identifier）を含む入力画像。動画ごとのトラッカー状態の初期化と取得に使用します。カメラモーション補償が有効な場合は、この画像からフレームピクセルが読み取られます..
  * `検出` (*Union\[*[*`rle_instance_segmentation_prediction`*](/workflows/ja/gaido/developer-guide/kinds/rle-instance-segmentation-prediction.md)*,* [*`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)*]*）：現在のフレームで追跡する検出予測..
  * `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` ([*`整数`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)）：トラックが確定トラック（tracker\_id != -1）として出力される前に、一致する必要がある連続フレーム数。デフォルト：2..
  * `lost_track_buffer` ([*`整数`*](/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` ([*`整数`*](/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を受け取ります（論文風）。new/already-seen の出力が他のコアトラッカーと一致するよう、既定では 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(...) オブジェクトの形式で持つ Prediction の場合 `keypoint_detection_prediction` または、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む Prediction。もし `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(...) オブジェクトの形式で持つ Prediction の場合 `keypoint_detection_prediction` または、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む Prediction。もし `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(...) オブジェクトの形式で持つ Prediction の場合 `keypoint_detection_prediction` または、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む Prediction。もし `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>
