Yolo 深圳
深セン
今すぐ参加
用語集

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

コンピュータビジョンにおけるマルチオブジェクトトラッキング(MOT)を探求しましょう。自動運転や小売など、Ultralytics YOLO26を用いたtrack detect track 学びます。

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

MOTの仕組み

現代の追跡システムの多くは「検出による追跡」というパラダイムで動作する。この手法ではプロセスを主に二つの段階に分ける:フレーム内の対象を識別し、その発見結果を過去の既知の物体と関連付ける。

  1. 検出:各フレームにおいて、YOLO26のような高性能モデルが画像を走査し、物体を特定します。これにより、境界ボックスとクラス確率が生成されます。
  2. 運動予測:物体の次の移動先を予測するため、アルゴリズムはしばしばカルマンフィルタを用いる。この数学的ツールは動的システムの状態(速度や位置など)を推定し、次のフレームにおける探索領域を絞り込むのに役立つ。
  3. データアソシエーション:システムは新規検出を既存のトラックに照合する。ハンガリアン法などの最適化手法は、空間的重なりを測定するために交差率(IoU)に依存することが多く、照合コストを最小化することでこの割り当て問題を解決する。
  4. 再識別(ReID):視覚的遮蔽(オクルージョン)が発生した場合、高度なトラッカーは視覚的埋め込みを用いて対象が再出現した際に認識する。これにより「IDの切り替え」を防止し、トンネルから出てくる車両が進入した車両と同一であることをシステムが認識できるようにする。

MOTと単一物体追跡の区別

用語は類似しているが、マルチオブジェクト追跡(MOT) はシングルオブジェクト追跡(SOT)とは大きく異なる。 SOTは最初のフレームで初期化された特定の単一ターゲットの追跡に焦点を当て、他の全ての物体を無視することが多い。これに対しMOTは、いつでもシーンに出入りする可能性のある未知かつ変動する数のターゲットを処理しなければならない。これによりMOTは計算負荷が高くなり、track 終了処理や複数の移動体間の複雑な相互作用を扱うための堅牢なロジックが必要となる。

実際のアプリケーション

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

  • 自動運転:自動運転車は安全な走行のためにMOT(物体追跡)に大きく依存している。歩行者、自転車、他の車両を追跡することで、自動運転システムは衝突回避のために将来の位置を予測できる。この際、信頼性を最大化するため、カメラとLiDARセンサーからのデータを融合させる場合が多い。
  • 小売分析:実店舗では、小売業者がAIを活用して顧客の行動経路を可視化しています。MOTアルゴリズムは人の流れのヒートマップを生成し、店舗レイアウトの最適化やピーク時の列管理の改善を支援します。
  • スポーツ分析:プロチームはMOTを用いて選手の動きやチームフォーメーションを分析する。 フィールド上の全選手を追跡することで、コーチ陣は姿勢推定技術を用いて速度、走行距離、戦術的ポジショニングに関する詳細な指標を抽出できる。

PythonによるMOTの実装

Ultralytics 、最先端モデルを用いたトラッキングの実装を容易Ultralytics 。 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()}")

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

進歩にもかかわらず、MOTは依然として困難な分野である。遮蔽が主要な課題であり、物体が経路を交差したり障害物の背後に隠れたりする場合、同一性を維持することは複雑である。混雑したシーン(例えば混雑したマラソンや鳥の群れ)データ関連付けアルゴリズムの限界を試す。さらに、高解像度ビデオストリームを処理しながらリアルタイム推論速度を維持するには、効率的なモデルアーキテクチャと、NVIDIA デバイスなどの専用ハードウェアがしばしば必要となる。

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

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加