> 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/path-deviation.md).

# 経路逸脱

## v2

追跡されたオブジェクトの実際の軌跡と期待される参照経路の間のフレシェ距離を計算することで、追跡対象オブジェクトが参照経路にどれだけ忠実に従っているかを測定し、経路順守の監視、経路逸脱の検出、自動化システムでの品質管理、行動分析ワークフローを可能にします。

## このブロックの仕組み

このブロックは、追跡対象オブジェクトの実際の移動経路をあらかじめ定義された参照経路と比較して、逸脱を測定します。このブロックは:

1. 一意の tracker ID を持つ追跡済み検出予測、動画メタデータを埋め込んだ画像、参照経路の定義を受け取ります
2. 画像からビデオメタデータを抽出します：
   * WorkflowImageDataオブジェクトからvideo\_metadataにアクセスします
   * video\_identifier を抽出して、異なる動画ごとに個別の経路追跡状態を維持します
   * 動画メタデータを使用して、動画ごとの経路追跡状態を初期化・管理します
3. 検出にトラッカーIDがあることを検証します（フレーム間でオブジェクトの移動を追跡するために必要）
4. 動画の経路追跡状態を初期化または取得します:
   * 各追跡対象オブジェクトの位置履歴を動画ごとに保持します
   * video\_identifier を使用してオブジェクトの経路を保存し、異なる動画の状態を分離します
   * 初めて現れたオブジェクトの新しい経路追跡エントリを作成します
5. 各検出のアンカーポイント座標を抽出します:
   * triggering\_anchor を使用して、バウンディングボックス上のどの点を追跡するかを決定します（既定値: CENTER）
   * 現在のフレーム内の各検出について、アンカーポイントの (x, y) 座標を取得します
   * アンカーポイントは、経路比較に使用されるオブジェクトの位置を表します
6. 時間の経過とともにオブジェクトの経路を蓄積します:
   * フレームが処理されるたびに、各オブジェクトのアンカーポイントをその経路履歴に追加します
   * 一意の tracker\_id ごとに個別の経路履歴を保持します
   * 処理済みのすべてのフレームにわたる位置を蓄積して、完全な軌跡経路を構築します
7. 各追跡対象オブジェクトのフレシェ距離を計算します:
   * **フレシェ距離**: 位置と点の順序の両方を考慮して、2つの曲線（経路）の類似性を測定します
   * オブジェクトの蓄積された経路（実際の軌跡）と参照経路（期待される軌跡）を比較します
   * 動的計画法を使用して、両方の経路を同時にたどるために必要な最小の「リードの長さ」を計算します
   * 各経路上の点の順序を考慮し、点間距離だけには依存しません
   * 値が低いほどオブジェクトは参照経路に忠実に従っており、値が高いほど逸脱が大きいことを示します
8. 検出メタデータに経路逸脱を保存します:
   * 各検出のメタデータにフレシェ距離の値を追加します
   * 各検出には、参照経路からどれだけ逸脱しているかを示す path\_deviation が含まれます
   * 距離はピクセル単位で測定されます（画像座標と同じ単位）
9. 永続的な経路追跡を維持します:
   * 経路履歴は動画全体のフレームにわたって蓄積されます
   * 各オブジェクトの逸脱は、追跡開始時点からの完全な経路に基づいて計算されます
   * video\_identifier ごとに個別の追跡状態を維持します
10. 経路逸脱情報を付加した検出結果を返します:
    * path\_deviation メタデータを追加した検出オブジェクトを出力します
    * 各検出には、参照経路からの逸脱を測定するフレシェ距離が含まれるようになりました

フレシェ距離は、2つの曲線のそれぞれに沿って動く点どうしを結ぶ「リード」の最短長を見つけることで、2つの曲線の類似性を測る指標です。単純なユークリッド距離とは異なり、フレシェ距離は経路上の点の順序と連続性を考慮するため、移動の順序が重要な軌跡の比較に最適です。参照経路を正確にたどるオブジェクトのフレシェ距離は 0 になり、大きく逸脱するオブジェクトほど値は大きくなります。

## 一般的な使用例

* **経路順守の監視**: 車両、ロボット、またはオブジェクトがあらかじめ定義された経路に従っているかを監視します（例: 車両が車線内に留まっていることの確認、ロボットがプログラムされた経路に従っているかの確認、オブジェクトが期待される経路に従っていることの確認）。これにより、順守監視ワークフローが可能になります
* **品質管理**: 製造または組立プロセスで、オブジェクトが特定の経路に従うべき場合の逸脱を検出します（例: コンベアベルトの逸脱の検出、組立ラインの経路の監視、製品の移動パターンの確認）。これにより、品質管理ワークフローが可能になります
* **交通分析**: 車両の移動パターンを分析し、車線逸脱や経路逸脱を検出します（例: 車両が車線から外れることの検出、経路順守の監視、交通パターンの順守状況の分析）。これにより、交通分析ワークフローが可能になります
* **セキュリティ監視**: セキュリティシナリオで、不審な移動パターンや予想される経路からの逸脱を検出します（例: 許可されていない経路逸脱の検出、境界侵入の試みの監視、移動の順守状況の追跡）。これにより、セキュリティ監視ワークフローが可能になります
* **自動化システム**: 自動化システム（ロボット、AGV、ドローン）が期待される経路を正しくたどっているかを監視・検証します（例: ロボットのナビゲーション精度の確認、自動搬送車の経路の確認、ドローンの飛行経路の検証）。これにより、自動化システム検証ワークフローが可能になります
* **行動分析**: 行動研究において移動パターンと経路順守を調査します（例: 動物の移動パターンの分析、経路追従行動の研究、経路選好の逸脱の測定）。これにより、行動研究ワークフローが可能になります

## 他のブロックへの接続

このブロックは、追跡済み検出、動画メタデータが埋め込まれた画像、参照経路を受け取り、path\_deviation メタデータが付加された検出結果を生成します:

* **Byte Trackerブロックの後** 追跡対象オブジェクトの経路逸脱を測定するため（例: 追跡中の車両の経路順守の測定、追跡中の人物の経路順守の分析、追跡中のオブジェクトの経路逸脱の監視）、トラッキングから経路分析へのワークフローを可能にします
* **物体検出またはインスタンスセグメンテーションブロックの後** トラッキングを有効にして移動経路を分析するため（例: 車両の経路分析、オブジェクトの経路順守の追跡、経路逸脱の測定）、検出から経路分析へのワークフローを可能にします
* **可視化ブロックの前** 経路逸脱情報を表示するため（例: 経路と逸脱の可視化、参照経路と実際の経路の表示、逸脱指標の表示）、経路逸脱の可視化ワークフローを可能にします
* **ロジックブロックの前** Continue If などを使って経路逸脱のしきい値に基づいて判断するため（例: 逸脱が上限を超えた場合に継続する、経路順守に基づいてフィルタリングする、経路違反でアクションをトリガーする）、経路ベースの判断ワークフローを可能にします
* **通知ブロックの前** 経路逸脱または順守違反を通知するため（例: 経路逸脱の警告、経路順守の問題の通知、逸脱ベースのアラートのトリガー）、経路ベースの通知ワークフローを可能にします
* **データ保存ブロックの前** 経路逸脱の測定値を記録するため（例: 経路順守データのログ、逸脱統計の保存、経路順守指標の記録）、経路逸脱データのログ記録ワークフローを可能にします

## バージョン差分

**v1からの強化点:**

* **入力の簡素化**: `image` を使用し、別個の `metadata` フィールドを要求する代わりに埋め込み動画メタデータを含む入力を使用することで、ワークフロー接続を簡素化し、入力の複雑さを削減します
* **統合の改善**: 動画メタデータを別のメタデータ入力ではなく画像オブジェクトから直接アクセスするため、画像ベースのワークフローとの統合が向上します

## 要件

このブロックには、tracker\_id 情報を含む追跡済み検出が必要です（検出は Byte Tracker などの追跡ブロックから来ている必要があります）。参照経路は、少なくとも 2 点からなるリストとして定義する必要があり、各点はちょうど 2 つの座標 (x, y) を持つタプルまたはリストでなければなりません。画像の video\_metadata には、異なる動画ごとに個別の経路追跡状態を維持するための video\_identifier が含まれている必要があります。このブロックは、各動画についてフレーム間で永続的な経路追跡を維持し、完全な軌跡を蓄積するため、フレームを順次処理する動画ワークフローで使用する必要があります。正確な経路逸脱の測定のため、検出は有効な tracker ID とともにフレーム間で一貫して提供される必要があります。フレシェ距離はピクセル単位で計算されます（画像座標と同じ単位）。

### 型識別子

ステップで次の識別子を使用してください `"type"` フィールド： `roboflow_core/path_deviation_analytics@v2` ワークフローにこのブロックをステップとして追加するには。

### プロパティ

| **名前**              | **型**       | **説明**                                                                                                                                                                                                | 参照 |
| ------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`              | `str`       | このステップの一意の識別子を入力してください。                                                                                                                                                                               | ❌  |
| `triggering_anchor` | `str`       | 経路計算のためにオブジェクト位置を追跡する際に使用するバウンディングボックス上の点です。オプションには CENTER（既定値）、BOTTOM\_CENTER、TOP\_CENTER、CENTER\_LEFT、CENTER\_RIGHT などがあります。このアンカーポイントの座標はフレーム間で蓄積され、オブジェクトの軌跡経路を構築します。その経路はフレシェ距離を使って参照経路と比較されます。。 | ✅  |
| `reference_path`    | `List[Any]` | 少なくとも 2 点からなるリストとしての期待される参照経路で、各点は \[x, y] 座標のタプルまたはリストです。例: \[(100, 200), (200, 300), (300, 400)] は 3 点からなる経路を定義します。フレシェ距離は、追跡対象オブジェクトがこの参照経路にどれだけ忠実に従っているかを測定します。点は期待される軌跡に沿って順序付ける必要があります。。        | ✅  |

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

### ランタイム互換性

`soft` - ランタイム `hosted_serverless`, `dedicated_deployment`；実行 `リモート`; 入力 `動画` このブロックは、プロセスメモリ内に動画ごとの状態を保持します（video\_metadata.video\_identifier をキーとする）。ステートレスまたは複数レプリカのHTTPランタイムでリモートステップ実行を行うと、連続するリクエストが別々のワーカープロセスによって処理される可能性があるため、呼び出し間で状態がリセットされ、追跡／カウント／集計には意味のない出力になります。安定したフレーム間結果を得るには、永続的な WebRTC セッションでローカルステップ実行を使用してください。

`soft` - 入力 `image` このブロックは、動画または繰り返しフレームのワークフローからの時間的コンテキストに依存します。静止画像／写真では、追跡、比較、集計、可視化に使える意味のある履歴がないため、このブロックの利点はほとんど、またはまったくありません。

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

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `経路偏差` のバージョン `v2` あるか確認してください。

<details>

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

* 入力
  * `image` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): video\_identifier を含む動画メタデータ。video\_identifier は、異なる動画ごとに個別の経路追跡状態を維持するために使用されます。フレーム間での永続的な経路蓄積に必要です。。
  * `検出` (*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)*]*): 追跡対象オブジェクトの検出またはインスタンスセグメンテーションの予測。追跡ブロックからの tracker\_id 情報を含む必要があります。このブロックは、オブジェクトの軌跡を構築するためにフレーム間のアンカーポイント位置を追跡し、それらを参照経路と比較します。出力される検出結果には、参照経路からのフレシェ距離を含む path\_deviation メタデータが含まれます。。
  * `triggering_anchor` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)): 経路計算のためにオブジェクト位置を追跡する際に使用するバウンディングボックス上の点です。オプションには CENTER（既定値）、BOTTOM\_CENTER、TOP\_CENTER、CENTER\_LEFT、CENTER\_RIGHT などがあります。このアンカーポイントの座標はフレーム間で蓄積され、オブジェクトの軌跡経路を構築します。その経路はフレシェ距離を使って参照経路と比較されます。。
  * `reference_path` ([*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)): 少なくとも 2 点からなるリストとしての期待される参照経路で、各点は \[x, y] 座標のタプルまたはリストです。例: \[(100, 200), (200, 300), (300, 400)] は 3 点からなる経路を定義します。フレシェ距離は、追跡対象オブジェクトがこの参照経路にどれだけ忠実に従っているかを測定します。点は期待される軌跡に沿って順序付ける必要があります。。
* 出力
  * `path_deviation_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)*]*）：sv.Detections(...) 形式の検出バウンディングボックスを含む予測。 `object_detection_prediction` または、sv.Detections(...) 形式の検出バウンディングボックスとセグメンテーションマスクを含む予測。 `instance_segmentation_prediction`.

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/path_deviation_analytics@v2",
	    "image": "<block_does_not_provide_example>",
	    "detections": "$steps.object_detection_model.predictions",
	    "triggering_anchor": "CENTER",
	    "reference_path": [
	        [
	            100,
	            200
	        ],
	        [
	            200,
	            300
	        ],
	        [
	            300,
	            400
	        ]
	    ]
	}
```

</details>

## v1

追跡されたオブジェクトの実際の軌跡と期待される参照経路の間のフレシェ距離を計算することで、追跡対象オブジェクトが参照経路にどれだけ忠実に従っているかを測定し、経路順守の監視、経路逸脱の検出、自動化システムでの品質管理、行動分析ワークフローを可能にします。

## このブロックの仕組み

このブロックは、追跡対象オブジェクトの実際の移動経路をあらかじめ定義された参照経路と比較して、逸脱を測定します。このブロックは:

1. 一意の tracker ID を持つ追跡済み検出予測、動画メタデータ、および参照経路の定義を受け取ります
2. 検出にトラッカーIDがあることを検証します（フレーム間でオブジェクトの移動を追跡するために必要）
3. 動画の経路追跡状態を初期化または取得します:
   * 各追跡対象オブジェクトの位置履歴を動画ごとに保持します
   * video\_identifier を使用してオブジェクトの経路を保存し、異なる動画の状態を分離します
   * 初めて現れたオブジェクトの新しい経路追跡エントリを作成します
4. 各検出のアンカーポイント座標を抽出します:
   * triggering\_anchor を使用して、バウンディングボックス上のどの点を追跡するかを決定します（既定値: CENTER）
   * 現在のフレーム内の各検出について、アンカーポイントの (x, y) 座標を取得します
   * アンカーポイントは、経路比較に使用されるオブジェクトの位置を表します
5. 時間の経過とともにオブジェクトの経路を蓄積します:
   * フレームが処理されるたびに、各オブジェクトのアンカーポイントをその経路履歴に追加します
   * 一意の tracker\_id ごとに個別の経路履歴を保持します
   * 処理済みのすべてのフレームにわたる位置を蓄積して、完全な軌跡経路を構築します
6. 各追跡対象オブジェクトのフレシェ距離を計算します:
   * **フレシェ距離**: 位置と点の順序の両方を考慮して、2つの曲線（経路）の類似性を測定します
   * オブジェクトの蓄積された経路（実際の軌跡）と参照経路（期待される軌跡）を比較します
   * 動的計画法を使用して、両方の経路を同時にたどるために必要な最小の「リードの長さ」を計算します
   * 各経路上の点の順序を考慮し、点間距離だけには依存しません
   * 値が低いほどオブジェクトは参照経路に忠実に従っており、値が高いほど逸脱が大きいことを示します
7. 検出メタデータに経路逸脱を保存します:
   * 各検出のメタデータにフレシェ距離の値を追加します
   * 各検出には、参照経路からどれだけ逸脱しているかを示す path\_deviation が含まれます
   * 距離はピクセル単位で測定されます（画像座標と同じ単位）
8. 永続的な経路追跡を維持します:
   * 経路履歴は動画全体のフレームにわたって蓄積されます
   * 各オブジェクトの逸脱は、追跡開始時点からの完全な経路に基づいて計算されます
   * video\_identifier ごとに個別の追跡状態を維持します
9. 経路逸脱情報を付加した検出結果を返します:
   * path\_deviation メタデータを追加した検出オブジェクトを出力します
   * 各検出には、参照経路からの逸脱を測定するフレシェ距離が含まれるようになりました

フレシェ距離は、2つの曲線のそれぞれに沿って動く点どうしを結ぶ「リード」の最短長を見つけることで、2つの曲線の類似性を測る指標です。単純なユークリッド距離とは異なり、フレシェ距離は経路上の点の順序と連続性を考慮するため、移動の順序が重要な軌跡の比較に最適です。参照経路を正確にたどるオブジェクトのフレシェ距離は 0 になり、大きく逸脱するオブジェクトほど値は大きくなります。

## 一般的な使用例

* **経路順守の監視**: 車両、ロボット、またはオブジェクトがあらかじめ定義された経路に従っているかを監視します（例: 車両が車線内に留まっていることの確認、ロボットがプログラムされた経路に従っているかの確認、オブジェクトが期待される経路に従っていることの確認）。これにより、順守監視ワークフローが可能になります
* **品質管理**: 製造または組立プロセスで、オブジェクトが特定の経路に従うべき場合の逸脱を検出します（例: コンベアベルトの逸脱の検出、組立ラインの経路の監視、製品の移動パターンの確認）。これにより、品質管理ワークフローが可能になります
* **交通分析**: 車両の移動パターンを分析し、車線逸脱や経路逸脱を検出します（例: 車両が車線から外れることの検出、経路順守の監視、交通パターンの順守状況の分析）。これにより、交通分析ワークフローが可能になります
* **セキュリティ監視**: セキュリティシナリオで、不審な移動パターンや予想される経路からの逸脱を検出します（例: 許可されていない経路逸脱の検出、境界侵入の試みの監視、移動の順守状況の追跡）。これにより、セキュリティ監視ワークフローが可能になります
* **自動化システム**: 自動化システム（ロボット、AGV、ドローン）が期待される経路を正しくたどっているかを監視・検証します（例: ロボットのナビゲーション精度の確認、自動搬送車の経路の確認、ドローンの飛行経路の検証）。これにより、自動化システム検証ワークフローが可能になります
* **行動分析**: 行動研究において移動パターンと経路順守を調査します（例: 動物の移動パターンの分析、経路追従行動の研究、経路選好の逸脱の測定）。これにより、行動研究ワークフローが可能になります

## 他のブロックへの接続

このブロックは、追跡済み検出、動画メタデータ、および参照経路を受け取り、path\_deviation メタデータが付加された検出結果を生成します:

* **Byte Trackerブロックの後** 追跡対象オブジェクトの経路逸脱を測定するため（例: 追跡中の車両の経路順守の測定、追跡中の人物の経路順守の分析、追跡中のオブジェクトの経路逸脱の監視）、トラッキングから経路分析へのワークフローを可能にします
* **物体検出またはインスタンスセグメンテーションブロックの後** トラッキングを有効にして移動経路を分析するため（例: 車両の経路分析、オブジェクトの経路順守の追跡、経路逸脱の測定）、検出から経路分析へのワークフローを可能にします
* **可視化ブロックの前** 経路逸脱情報を表示するため（例: 経路と逸脱の可視化、参照経路と実際の経路の表示、逸脱指標の表示）、経路逸脱の可視化ワークフローを可能にします
* **ロジックブロックの前** Continue If などを使って経路逸脱のしきい値に基づいて判断するため（例: 逸脱が上限を超えた場合に継続する、経路順守に基づいてフィルタリングする、経路違反でアクションをトリガーする）、経路ベースの判断ワークフローを可能にします
* **通知ブロックの前** 経路逸脱または順守違反を通知するため（例: 経路逸脱の警告、経路順守の問題の通知、逸脱ベースのアラートのトリガー）、経路ベースの通知ワークフローを可能にします
* **データ保存ブロックの前** 経路逸脱の測定値を記録するため（例: 経路順守データのログ、逸脱統計の保存、経路順守指標の記録）、経路逸脱データのログ記録ワークフローを可能にします

## 要件

このブロックには、tracker\_id 情報を含む追跡済み検出が必要です（検出は Byte Tracker などの追跡ブロックから来ている必要があります）。参照経路は、少なくとも 2 点からなるリストとして定義する必要があり、各点はちょうど 2 つの座標 (x, y) を持つタプルまたはリストでなければなりません。このブロックは、異なる動画ごとに個別の経路追跡状態を維持するための video\_identifier を含む動画メタデータを必要とします。このブロックは、各動画についてフレーム間で永続的な経路追跡を維持し、完全な軌跡を蓄積するため、フレームを順次処理する動画ワークフローで使用する必要があります。正確な経路逸脱の測定のため、検出は有効な tracker ID とともにフレーム間で一貫して提供される必要があります。フレシェ距離はピクセル単位で計算されます（画像座標と同じ単位）。

### 型識別子

ステップで次の識別子を使用してください `"type"` フィールド： `roboflow_core/path_deviation_analytics@v1` ワークフローにこのブロックをステップとして追加するには。

### プロパティ

| **名前**              | **型**       | **説明**                                                                                                                                                                                               | 参照 |
| ------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`              | `str`       | このステップの一意の識別子を入力してください。                                                                                                                                                                              | ❌  |
| `triggering_anchor` | `str`       | 経路計算のためにオブジェクト位置を追跡する際に使用するバウンディングボックス上の点です。オプション: CENTER（既定値）、BOTTOM\_CENTER、TOP\_CENTER、CENTER\_LEFT、CENTER\_RIGHT などがあります。このアンカーポイントの座標はフレーム間で蓄積され、オブジェクトの軌跡経路を構築します。その経路はフレシェ距離を使って参照経路と比較されます。。 | ✅  |
| `reference_path`    | `List[Any]` | 少なくとも 2 点からなるリストとしての期待される参照経路で、各点は \[x, y] 座標のタプルまたはリストです。例: \[(100, 200), (200, 300), (300, 400)] は 3 点からなる経路を定義します。フレシェ距離は、追跡対象オブジェクトがこの参照経路にどれだけ忠実に従っているかを測定します。点は期待される軌跡に沿って順序付ける必要があります。。       | ✅  |

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

### ランタイム互換性

`soft` - ランタイム `hosted_serverless`, `dedicated_deployment`；実行 `リモート`; 入力 `動画` このブロックは、プロセスメモリ内に動画ごとの状態を保持します（video\_metadata.video\_identifier をキーとする）。ステートレスまたは複数レプリカのHTTPランタイムでリモートステップ実行を行うと、連続するリクエストが別々のワーカープロセスによって処理される可能性があるため、呼び出し間で状態がリセットされ、追跡／カウント／集計には意味のない出力になります。安定したフレーム間結果を得るには、永続的な WebRTC セッションでローカルステップ実行を使用してください。

`soft` - 入力 `image` このブロックは、動画または繰り返しフレームのワークフローからの時間的コンテキストに依存します。静止画像／写真では、追跡、比較、集計、可視化に使える意味のある履歴がないため、このブロックの利点はほとんど、またはまったくありません。

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

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

<details>

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

* 入力
  * `metadata` ([*`video_metadata`*](/workflows/ja/gaido/developer-guide/kinds/video-metadata.md)): 異なる動画ごとに個別の経路追跡状態を維持するための video\_identifier を含む動画メタデータ。フレーム間での永続的な経路蓄積に必要です。。
  * `検出` (*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)*]*): 追跡対象オブジェクトの検出またはインスタンスセグメンテーションの予測。追跡ブロックからの tracker\_id 情報を含む必要があります。このブロックは、オブジェクトの軌跡を構築するためにフレーム間のアンカーポイント位置を追跡し、それらを参照経路と比較します。出力される検出結果には、参照経路からのフレシェ距離を含む path\_deviation メタデータが含まれます。。
  * `triggering_anchor` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)): 経路計算のためにオブジェクト位置を追跡する際に使用するバウンディングボックス上の点です。オプション: CENTER（既定値）、BOTTOM\_CENTER、TOP\_CENTER、CENTER\_LEFT、CENTER\_RIGHT などがあります。このアンカーポイントの座標はフレーム間で蓄積され、オブジェクトの軌跡経路を構築します。その経路はフレシェ距離を使って参照経路と比較されます。。
  * `reference_path` ([*`list_of_values`*](/workflows/ja/gaido/developer-guide/kinds/list-of-values.md)): 少なくとも 2 点からなるリストとしての期待される参照経路で、各点は \[x, y] 座標のタプルまたはリストです。例: \[(100, 200), (200, 300), (300, 400)] は 3 点からなる経路を定義します。フレシェ距離は、追跡対象オブジェクトがこの参照経路にどれだけ忠実に従っているかを測定します。点は期待される軌跡に沿って順序付ける必要があります。。
* 出力
  * `path_deviation_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)*]*）：sv.Detections(...) 形式の検出バウンディングボックスを含む予測。 `object_detection_prediction` または、sv.Detections(...) 形式の検出バウンディングボックスとセグメンテーションマスクを含む予測。 `instance_segmentation_prediction`.

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/path_deviation_analytics@v1",
	    "metadata": "<block_does_not_provide_example>",
	    "detections": "$steps.object_detection_model.predictions",
	    "triggering_anchor": "CENTER",
	    "reference_path": [
	        [
	            100,
	            200
	        ],
	        [
	            200,
	            300
	        ],
	        [
	            300,
	            400
	        ]
	    ]
	}
```

</details>
