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

Object Tracking

物体追跡は、動画フレーム間で検出結果を対応付け、移動やオクルージョンを経ても各物体のIDを維持します。トラッカーの仕組みとコードを解説します。

物体追跡はコンピュータービジョンのタスクです。連続する動画フレーム内で物体の位置を特定し、その位置を軌跡として結び付けることで、各物体に永続的なIDを付与します。フレームにID 7として入った車は、移動、旋回、バスの陰に一時的に隠れる間もID 7のままです。これにより、システムは車を一度だけ数え、速度を測定し、進行方向を推定できます。単一物体追跡は最初のフレームで選んだ1つの対象を追跡します。一方、実務で最も一般的な複数物体追跡(MOT)は、対象クラスのすべての物体を同時に追跡します。

物体追跡の仕組み#

ほとんどの複数物体トラッカーは、検出ベースの追跡を採用しています。物体検出モデルが各フレーム内の物体を検出し、トラッカーが時間を追って検出結果を結び付けます。トラッカーは、通常はカルマンフィルターであるモーションモデル、Intersection over Union(IoU)で測定するバウンディングボックスの重なり、物体再識別(Re-ID)モデルによる任意の外観埋め込み、およびハンガリアンアルゴリズムなどの線形割り当てソルバーを使います。各フレームで、次の4つのステップを実行します。

  1. 予測: カルマンフィルターは速度一定を仮定し、新しいフレームで既存トラックのボックスがどこに現れるかを予測します。
  2. スコア付け: トラッカーは、IoU、モーション、トラッカーによっては外観の類似度を基に、予測したトラックと新しい検出結果とのコスト行列を作成します。
  3. 割り当て: ソルバーがコスト最小の一対一のマッチングを選びます。
  4. トラックの管理: マッチしたトラックは状態を更新します。信頼度の高い未マッチ検出は新しいトラックを開始します。未マッチのトラックは「ロスト」として数フレーム分保持し、遮蔽後に復元できるようにします。

検出が数フレーム途切れてもIDを安定させるのが、ライフサイクル処理です。

基本となる設計は2016年のSORTにまでさかのぼります。SORTはカルマンフィルター、IoUコスト、ハンガリアンアルゴリズムのみを使用しました。DeepSORTは外観特徴を追加して遮蔽後のIDを復元できるようにしました。ByteTrackは、しばしば一部が遮蔽された物体である低信頼度の検出結果も第2パスでマッチさせることで、再現率を改善しました。後続のトラッカーは、移動カメラ向けのカメラモーション補償や、混雑したシーンに対応する高度な関連付けルールを追加しています。

追跡と検出の比較#

検出器はステートレスです。各フレームを独立して処理するため、フレーム1の車とフレーム2の車は、互いに無関係な検出結果になります。追跡では状態を追加し、フレーム間でIDを引き継ぎます。これはカウント、滞在時間、速度推定に不可欠です。追跡はポイントトラッキングやオプティカルフローとも異なります。これらはピクセルや表面上の点を追跡しますが、ラベル付き物体としてグループ化しません。

Ultralytics YOLOのトラックモードは、あらゆるYOLO26の検出、セグメンテーション、姿勢推定、または回転ボックスモデルに状態を追加します。組み込みトラッカー6種類が用意されており、ByteTrack、BoT-SORT、デフォルトのTrackTrackなどを使用できます。

from ultralytics import YOLO

# Load a YOLO26 detector; track() pairs it with a tracker that assigns persistent IDs
model = YOLO("yolo26n.pt")

detections, track_ids = 0, set()
for result in model.track(
    "https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov", stream=True
):
    detections += len(result.boxes)
    if result.boxes.is_track:
        track_ids.update(result.boxes.id.int().tolist())

print(f"Detections summed over all frames: {detections}")
print(f"Unique tracked objects: {len(track_ids)}")

各IDは、物体が映るすべてのフレームを通じて1つの物体を表すため、IDのユニーク数は検出数の合計より少なくなります。

実際のアプリケーション#

  • 交通量監視と速度推定: 各車両をフレーム間で追跡することで、車両数のカウント、車線単位の交通流分析、トラックが1秒間に移動した距離に基づく速度推定が可能になります。
  • 小売分析: 店舗のカメラで買い物客を追跡し、同じ人を二重に数えることなく、来店者数、行列の長さ、陳列棚の前での滞在時間を測定します。
  • スポーツ分析: 放送局やコーチは選手とボールを追跡し、移動距離、速度、チームのフォーメーションを算出します。
  • 自動運転車とロボティクス: 認識パイプラインで歩行者や車両を追跡し、速度を推定するとともに、次の1秒間にどこにいるかを予測します。

追跡品質の測定#

トラッカーは、ベンチマークで比較します。たとえば、MOT17、密集した群衆を対象とするMOT20、見た目が似ていて動きが予測しにくい人々を対象とするDanceTrackがあります。MOTAは見逃し、誤検出、ID切り替えを1つのスコアにまとめますが、検出品質の影響が大きくなります。IDF1は、正解の各物体に単一のIDがどれほど一貫して付与されるかを測定します。HOTAは、検出精度と関連付け精度の幾何平均を使って両者のバランスを取ります。

ソリューションを見る

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

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

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の未来を一緒に築きましょう!

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