Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Multi-Object Tracking (MOT)

複数物体追跡(MOT)は、動画内のすべての物体を追跡し、フレームをまたいで物体ごとに1つのIDを維持します。トラッカーによる検出結果の対応付け、評価指標、コードを解説します。

マルチオブジェクトトラッキング(MOT)は、コンピュータービジョンのタスクであり、動画内の関心対象となるすべての物体を同時に追跡します。各物体に永続的なIDを割り当て、フレーム間の位置を軌跡として記録します。物体の数は不明で、人や車両が入ってきたり、出ていったり、交差したり、互いの背後に隠れたりするため、絶えず変化します。そのためトラッカーは、各フレームでどの検出が既存トラックの継続を示すのか、どれが新しいトラックを開始するのか、どのトラックが終了したのかを判断する必要があります。MOTは最も一般的な物体追跡の形式です。単一物体追跡(SOT)は、クラスを問わず最初のフレームで選択された1つの対象を追跡します。

マルチオブジェクトトラッキングの仕組み#

ほとんどのMOTシステムは、検出ベースの追跡を使用します。物体検出モデルが各フレームで物体を検出し、トラッカーが検出結果を保持している既存のトラックに関連付けます。トラッカーは、通常カルマンフィルターを使ったモーションモデルで各トラックの位置を予測します。そして、ボックスの重なり(IoU)、動き、および必要に応じて物体再識別(Re-ID)モデルによる外観埋め込みから、予測トラックと新しい検出結果のコスト行列を作成します。次に、ハンガリアンアルゴリズムを使った線形割り当て問題として対応付けを解きます。一致したトラックはIDを維持し、信頼度の高い未対応の検出結果は新しいトラックを開始します。対応する検出がないトラックは「ロスト」として一定数のフレーム保持され、オクルージョン後に再検出できるようにします。

混雑した環境では、一部が隠れた人の信頼度の低い検出を単純なしきい値で破棄してしまうため、対応付けが難しくなります。ByteTrackは、2回目の対応付けに低信頼度の検出結果を利用します。

トラッカーの設計#

  • SORTとその派生手法: SORT(2016年)は、カルマンフィルター、IoUコスト、ハンガリアンアルゴリズムを組み合わせました。DeepSORTはオクルージョン後にIDを復元するための外観特徴を追加し、ByteTrackは低信頼度の検出を使う段階を追加しました。OC-SORTはオクルージョンに強い動きの推定を実現し、BoT-SORTは移動カメラに対応するためのカメラ動き補正を追加しました。
  • 検出と埋め込みの同時処理(FairMOT): FairMOTは検出結果とRe-ID埋め込みを同時に出力する単一のネットワークをトレーニングするため、外観特徴の抽出に2つ目のモデルは必要ありません。
  • エンドツーエンド追跡(MOTR): MOTRとTrackFormerは、各物体のIDをフレーム間で引き継ぐトラッククエリによってDETR Transformerを拡張し、トレーニング中に対応付けを学習します。

Ultralytics YOLOのトラックモードは、あらゆるYOLO26の検出、セグメンテーション、姿勢推定、または回転ボックスモデルに対して、検出ベースのトラッキングを実行します。組み込みトラッカー6種類は、tracker引数で選択できます。TrackTrack(デフォルト)、BoT-SORT、ByteTrack、OC-SORT、Deep OC-SORT、FastTrackerを利用できます。この例では短い動画の人物を追跡し、各IDが存続するフレーム数を数えます。

from collections import Counter

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
video = "https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov"

# COCOクラス0の人物を追跡し、各トラックIDが出現するフレーム数を数えます
frames_per_id = Counter()
for result in model.track(video, stream=True, classes=[0]):
    if result.boxes.is_track:
        frames_per_id.update(result.boxes.id.int().tolist())

# 最も長い5つの軌跡を(トラックID、フレーム数)として表示します
print(frames_per_id.most_common(5))

各ペアはトラックIDと、そのIDが維持されたフレーム数を示します。長く続くIDは、トラッカーが多くのフレームにわたって同じ人物を追跡し続けたことを意味します。

追跡品質の測定#

MOTの評価には、ベンチマークとしてMOT17、混雑した場面を対象とするMOT20、ダンサーの見た目が似ていて動きが予測しにくいDanceTrackなどが使われます。主な指標は次の3つです。

  • MOTA: 見逃した物体、誤検出、IDスイッチの合計を正解物体数で割り、1から差し引いた値です。そのため、検出品質に大きく左右されます。
  • IDF1: 正しくIDが付与された検出結果のF1スコアであり、各正解物体のIDがどれだけ一貫して維持されるかを測定します。
  • HOTA: 検出精度と対応付け精度の幾何平均であり、物体の検出と追跡対象間の関連付けを同等に評価します。

課題#

  • オクルージョン: 物体が多数のフレームにわたって隠れると、動きの予測や外観による対応付けで復元できない限り、再び現れたときに新しいIDが付与されることがあります。
  • 混雑した環境と似た外観: 人の密集した集団や、同じユニフォームを着たスポーツ選手では、IoUと外観のコストだけでは区別が難しくなり、IDが入れ替わることがあります。
  • カメラの動き: パンや振動によってすべてのボックスが一斉に動くため、トラッカーが補正しない限り、等速運動モデルが機能しなくなります。
  • リアルタイムの処理時間: 検出、対応付け、Re-IDモデルは各フレームの処理時間を分け合います。また、別個のRe-IDモデルを使うと、検出した物体ごとにネットワークの処理が1回追加されます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

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

機械学習の未来に向けた歩みを始めましょう