YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

マルチオブジェクトトラッキング(MOT)

コンピュータービジョンにおけるMulti-Object Tracking (MOT)を探ります。自律走行、小売などにおいて、Ultralytics YOLO26を使用してエンティティをdetectし、trackする方法を学びましょう。

Multi-Object Tracking (MOT) は、コンピュータービジョン (CV)における動的なタスクであり、ビデオストリーム内で複数の異なるエンティティをdetectし、時間の経過とともにそれらのIDを維持します。各フレームを孤立したスナップショットとして扱う標準的な物体検出とは異なり、MOTは人工知能 (AI)に時間的次元を導入します。群衆の中の特定の歩行者や高速道路上の車両など、detectされた各インスタンスに一意の識別番号 (ID) を割り当てることで、MOTアルゴリズムは、システムが軌跡をtrackし、行動を分析し、相互作用を理解することを可能にします。この機能は、現代のビデオ理解の基礎であり、変化する環境における連続性を機械が認識することを可能にします。

MOTはどのように機能するか

現代のほとんどのtrackシステムは、「tracking-by-detection」パラダイムで動作します。このアプローチは、プロセスを2つの主要な段階に分離します。すなわち、フレーム内にあるものを識別し、その発見を過去の既知のオブジェクトと関連付けることです。

  1. 検出: 各フレームで、YOLO26のような高性能モデルが画像をスキャンしてオブジェクトを特定し、bounding boxesとクラス確率を生成します。
  2. Motion Prediction: オブジェクトが次にどこに移動するかを予測するために、アルゴリズムはしばしばカルマンフィルターを使用します。この数学的ツールは、速度や位置などの動的システムの状態を推定し、後続のフレームでの探索領域を絞り込むのに役立ちます。
  3. データ関連付け: システムは新しいdetectを既存のtrackにマッチングさせます。ハンガリアンアルゴリズムのような最適化手法は、マッチングコストを最小化することでこの割り当て問題を解決し、多くの場合、空間的な重なりを測定するためにIntersection over Union (IoU)に依存します。
  4. 再識別 (ReID): オクルージョンとして知られる視覚的な遮蔽が発生した場合、高度なトラッカーは視覚的な埋め込みを使用して、オブジェクトが再出現したときにそれを認識します。これにより「IDスイッチング」を防ぎ、トンネルから出てくる車が、入っていった車と同じであることをシステムが認識できるようにします。

MOTと単一物体 track の区別

用語は似ていますが、Multi-Object Tracking (MOT)Single Object Tracking (SOT)とは大きく異なります。SOTは最初のフレームで初期化された1つの特定のターゲットをtrackすることに焦点を当て、他のすべてのエンティティを無視することがよくあります。対照的に、MOTはいつでもシーンに出入りする可能性のある、未知かつ変動する数のターゲットを処理しなければなりません。これにより、MOTは計算上より要求が厳しくなります。なぜなら、trackの開始、終了、および複数の移動体間の複雑な相互作用を処理するための堅牢なロジックが必要となるからです。

実際のアプリケーション

複数のエンティティを同時にtrackする能力は、いくつかの主要産業でイノベーションを推進しています。

  • 自動運転: 自動運転車は、安全に走行するためにMOTに大きく依存しています。歩行者、自転車、その他の車両をtrackすることで、自律システムは将来の位置を予測し、衝突を回避できます。これには、最大限の信頼性を得るために、カメラとLiDARセンサーからのデータ融合がしばしば含まれます。
  • 小売分析: 実店舗では、小売業者が小売業におけるAIを使用して顧客の行動経路をマッピングします。MOTアルゴリズムは来店客数のヒートマップを生成し、管理者が店舗レイアウトを最適化し、ピーク時のキュー管理を改善するのに役立ちます。
  • スポーツ分析: プロチームはMOTを使用して、選手の動きとチームのフォーメーションを分析します。フィールド上のすべての選手をtrackingすることで、コーチは姿勢推定技術を使用して、速度、移動距離、戦術的ポジショニングに関する詳細な指標を抽出できます。

python を用いた MOT の実装

Ultralyticsは、最先端モデルを用いたトラッキングの実装を簡素化します。 track() このメソッドは、detectとtrackのロジックをシームレスに統合し、次のようなアルゴリズムをサポートします。 バイトトラック そして ボット・ソート。以下の例は、推奨される方法を使用してビデオ内の車両をtrackする方法を示しています。 YOLO26モデル.

from ultralytics import YOLO

# Load the official YOLO26 small model
model = YOLO("yolo26s.pt")

# Track objects in a video file (or use '0' for webcam)
# The 'persist=True' argument keeps track IDs consistent between frames
results = model.track(source="traffic_analysis.mp4", show=True, persist=True)

# Print the IDs of objects tracked in the first frame
if results[0].boxes.id is not None:
    print(f"Tracked IDs: {results[0].boxes.id.int().tolist()}")

マルチオブジェクトtrackにおける課題

進歩にもかかわらず、MOTは依然として困難な分野です。オクルージョンが主な困難であり、オブジェクトが交差したり障害物の後ろに隠れたりすると、識別を維持することは複雑です。混雑したシーン、例えば賑やかなマラソンや鳥の群れなどは、データアソシエーションアルゴリズムの限界を試します。さらに、高解像度ビデオストリームを処理しながらリアルタイム推論速度を維持するには、効率的なモデルアーキテクチャと、しばしばNVIDIA Jetsonデバイスのような特殊なハードウェアが必要です。

これらの課題に対処するため、研究者たちは検出と追跡を単一のネットワークに統合するエンドツーエンドの深層学習アプローチを模索しており、また、困難なデータセットにアノテーションを付け、堅牢なカスタムモデルを訓練するためにUltralytics Platformを活用しています。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。