OC-SORTトラッカー
遮蔽や予測不能な動きを伴うオブジェクトを追跡します。
roboflow/trackers パッケージの OC-SORT アルゴリズムを使用して、動画フレーム間でオブジェクトを追跡します。
OC-SORTはSORTを2つの主要なメカニズムで拡張します:
観測中心の再更新(OCR): トラックが遮蔽後に再び現れたとき、OC-SORTはギャップの前後の実際の観測を用いてカルマンフィルタを遡って補正し、蓄積したドリフトを低減します。
観測中心のモメンタム(OCM): 方向整合性コストをIoUと組み合わせて関連付けに用い、候補検出がトラックの最近の動きと整合しない方向にある場合のマッチをペナルティ化します。
これにより、OC-SORTは遮蔽が多く、不規則な動きがあり、外観が均一なシーンにおいて、SORTよりも大幅に堅牢になります。
OC-SORTを使う場面:
人混みの多いシーンで、遮蔽が頻繁かつ長時間続く場合(例:歩行者、倉庫作業員)。
非線形または不規則な動きのパターン(例:ダンス、急な方向転換があるスポーツ)。
長いシーケンス全体でIDの一貫性が生の速度より重要な場合。
代替案を検討すべき場面:
信頼度が混在する検出結果を使う汎用トラッキングには、次を試してください ByteTrack.
強力な検出器を使って最大限シンプルかつ高速にしたい場合は、次を試してください SORT.
3種類の検出セットを出力します:
tracked_detections:割り当て済みのトラック ID を持つ、確認済みのすべての追跡検出。
new_instances:トラック ID が初めて現れた検出。
already_seen_instances:以前のフレームでそのトラック ID が見られた検出。
このブロックは、各 video_identifierごとにトラッカー状態とインスタンスキャッシュを個別に保持し、単一のワークフロー内で複数ストリームの追跡を可能にします。
型識別子
ステップで次の識別子を使用してください "type" フィールド: roboflow_core/trackers_ocsort@v1 ワークフローにこのブロックをステップとして追加するには。
プロパティ
名前
型
説明
参照
name
str
このステップの一意の識別子を入力してください。
❌
minimum_iou_threshold
float
検出を既存トラックに関連付けるために必要な最小 IoU。デフォルト: 0.3..
✅
minimum_consecutive_frames
整数
トラックが確認済みトラックとして出力される前に一致していなければならない連続フレーム数(tracker_id != -1)。デフォルト: 3..
✅
lost_track_buffer
整数
一致した検出を失った後もトラックを生存状態に保つフレーム数。値を大きくすると遮蔽からの復帰性能が向上します。デフォルト: 30..
✅
high_conf_det_threshold
float
関連付けに使用される高信頼度検出の信頼度しきい値。デフォルト:0.6..
✅
direction_consistency_weight
float
OC-SORTの関連付けコストにおける方向整合性項の重み。値を大きくすると、履歴上の移動方向と候補検出への方向の一致がより優先されます。デフォルト: 0.2..
✅
delta_t
整数
方向整合性モメンタムのために、トラックごとの速度推定にOC-SORTが使用する過去フレーム数。デフォルト: 3..
✅
instances_cache_size
整数
新規/既に確認済みの分類のためにインスタンスキャッシュに保持するトラック ID の最大数。FIFO で削除されます。デフォルト: 16384..
❌
この 参照 列は、で利用可能な動的値を使ってプロパティをパラメータ化できる可能性を示します ワークフロー 実行時。参照 バインディング 詳細は。
ランタイム互換性
soft - ランタイム hosted_serverless, dedicated_deployment;実行 リモート; 入力 動画 このブロックは、プロセスメモリ内に動画ごとの状態を保持します(video_metadata.video_identifier をキーとする)。ステートレスまたは複数レプリカのHTTPランタイムでリモートステップ実行を行うと、連続するリクエストが別々のワーカープロセスによって処理される可能性があるため、呼び出し間で状態がリセットされ、追跡/カウント/集計には意味のない出力になります。安定したフレーム間結果を得るには、永続的な WebRTC セッションでローカルステップ実行を使用してください。
soft - 入力 image このブロックは、動画または繰り返しフレームのワークフローからの時間的コンテキストに依存します。静止画像/写真では、追跡、比較、集計、可視化に使える意味のある履歴がないため、このブロックの利点はほとんど、またはまったくありません。
入力と出力のバインディング
利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が OC-SORTトラッカー のバージョン v1 あるか確認してください。
入力と出力のバインディング
入力
image(image):動画メタデータ(fps と video_identifier)を埋め込んだ入力画像。各動画のトラッカー状態の初期化と取得に使用します..検出(Union[rle_instance_segmentation_prediction,object_detection_prediction,instance_segmentation_prediction,keypoint_detection_prediction]):現在のフレームで追跡する検出予測..minimum_iou_threshold(float_zero_to_one):検出を既存トラックに関連付けるために必要な最小 IoU。デフォルト: 0.3..minimum_consecutive_frames(整数):トラックが確認済みトラックとして出力される前に一致していなければならない連続フレーム数(tracker_id != -1)。デフォルト: 3..lost_track_buffer(整数):一致した検出を失った後もトラックを生存状態に保つフレーム数。値を大きくすると遮蔽からの復帰性能が向上します。デフォルト: 30..high_conf_det_threshold(float_zero_to_one):関連付けに使用される高信頼度検出の信頼度しきい値。デフォルト:0.6..direction_consistency_weight(float_zero_to_one):OC-SORTの関連付けコストにおける方向整合性項の重み。値を大きくすると、履歴上の移動方向と候補検出への方向の一致がより優先されます。デフォルト: 0.2..delta_t(整数):方向整合性モメンタムのために、トラックごとの速度推定にOC-SORTが使用する過去フレーム数。デフォルト: 3..
出力
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(...) オブジェクトの形式で持つ Prediction の場合keypoint_detection_predictionまたは、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む Prediction。もし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(...) オブジェクトの形式で持つ Prediction の場合keypoint_detection_predictionまたは、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む Prediction。もし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(...) オブジェクトの形式で持つ Prediction の場合keypoint_detection_predictionまたは、sv.Detections(...) オブジェクト形式で、検出されたバウンディングボックスと RLE エンコードされたセグメンテーションマスクを含む Prediction。もしrle_instance_segmentation_prediction.
最終更新
役に立ちましたか?