Multi-Object Tracking (MOT)
コンピュータビジョンにおけるマルチオブジェクトトラッキング (MOT) を探ります。自動運転、小売などで Ultralytics YOLO26 を使用してエンティティを検出し追跡する方法を学びましょう。
マルチオブジェクトトラッキング (MOT) は、コンピュータビジョン (CV) における動的なタスクであり、ビデオストリーム内の複数の個別のエンティティを検出し、時間の経過とともにその同一性を維持するものです。各フレームを独立したスナップショットとして扱う標準的な物体検出とは異なり、MOTは人工知能 (AI)に時間的な次元を導入します。群衆の中の特定の歩行者や高速道路上の車両など、検出された各インスタンスに一意の識別番号 (ID) を割り当てることで、MOTアルゴリズムはシステムが軌跡を追跡し、行動を分析し、相互作用を理解することを可能にします。この機能は現代のビデオ理解において不可欠であり、変化する環境において機械が連続性を認識できるようにします。
Link to this sectionMOTの仕組み#
現在主流のトラッキングシステムのほとんどは、「検出によるトラッキング (tracking-by-detection)」パラダイムに基づいています。この手法では、プロセスを「フレーム内に何があるかを特定する」ことと、「その結果を過去の既知のオブジェクトと関連付ける」ことの2つの主要な段階に分けています。
-
検出: 各フレームにおいて、YOLO26のような高性能モデルが画像をスキャンしてオブジェクトの位置を特定し、バウンディングボックスとクラス確率を生成します。
-
モーション予測: オブジェクトの次の移動先を予測するために、アルゴリズムはしばしばカルマンフィルタを使用します。この数学的ツールは、速度や位置といった動的システムの状態を推定し、次のフレームにおける探索範囲を絞り込むのに役立ちます。
-
データ関連付け: システムは、新しい検出結果を既存のトラックと一致させます。ハンガリアンアルゴリズムのような最適化手法は、一致コストを最小化することでこの割り当て問題を解決し、空間的な重なりを測定するためにIntersection over Union (IoU)を利用することが一般的です。
-
再識別 (ReID): 遮蔽(オクルージョン)が発生して視覚的な妨害が生じた場合、高度なトラッカーは視覚的な埋め込み (embeddings)を使用してオブジェクトが再出現した際にそれを認識します。これにより「IDの入れ替わり」を防ぎ、トンネルから出てきた車がトンネルに入った車と同一であることをシステムが認識できるようにします。
Link to this sectionMOTと単一オブジェクトトラッキングの違い#
用語は似ていますが、**マルチオブジェクトトラッキング (MOT)**は単一オブジェクトトラッキング (SOT)とは大きく異なります。SOTは最初のフレームで初期化された特定のターゲットを追跡することに焦点を当て、他のすべてのエンティティは無視されることが一般的です。対照的に、MOTはいつでもシーンに出入りする可能性のある未知かつ変動する数のターゲットを処理しなければなりません。そのため、MOTはトラックの開始、終了、および複数の移動物体の間の複雑な相互作用を処理するための堅牢なロジックが必要となり、計算負荷が高くなります。
Link to this section実社会での応用#
複数のエンティティを同時に追跡する能力は、いくつかの主要な産業においてイノベーションを推進しています。
- 自動運転: 自動運転車は安全に走行するためにMOTに大きく依存しています。歩行者、自転車、その他の車両を追跡することで、自律システムは衝突を避けるために将来の位置を予測できます。これは多くの場合、信頼性を最大化するためにカメラとLiDARセンサからのデータを融合することを含みます。
- 小売分析: 実店舗では、小売業者は小売業におけるAIを使用して顧客の行動フローをマッピングしています。MOTアルゴリズムは人流のヒートマップを生成し、管理者が店舗レイアウトを最適化したり、ピーク時の行列管理を改善したりするのに役立ちます。
- スポーツ分析: プロチームはMOTを使用して、選手の動きやチームのフォーメーションを分析しています。フィールド上のすべての選手を追跡することで、コーチは姿勢推定 (pose estimation)技術を用いて、速度、移動距離、戦術的な位置取りに関する詳細なメトリクスを抽出できます。
Link to this sectionPythonでのMOTの実装#
Ultralyticsを使用すると、最先端モデルを用いたトラッキングを簡単に実装できます。track()メソッドは検出とトラッキングのロジックをシームレスに統合しており、ByteTrackやBoT-SORTといったアルゴリズムをサポートしています。以下の例は、推奨される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()}")Link to this sectionマルチオブジェクトトラッキングにおける課題#
進歩にもかかわらず、MOTは依然として困難な分野です。オクルージョン(遮蔽)は主な困難の1つであり、オブジェクトが交差したり障害物の後ろに隠れたりすると、同一性を維持することが複雑になります。マラソンの混雑や鳥の群れのような混雑したシーンは、データ関連付けアルゴリズムの限界を試すものです。さらに、高解像度のビデオストリームを処理しながらリアルタイム推論速度を維持するには、効率的なモデルアーキテクチャと、多くの場合NVIDIA Jetsonデバイスのような専門的なハードウェアが必要になります。
これらの課題に対処するため、研究者は検出とトラッキングを単一のネットワークに統合するエンドツーエンドのディープラーニングアプローチを模索しています。また、Ultralytics Platformを活用して困難なデータセットをアノテーションし、堅牢なカスタムモデルをトレーニングすることも推奨されます。






