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

物体追跡

コンピュータビジョンにおけるオブジェクト追跡の仕組みを学びましょう。Ultralytics を活用し、ユニークIDでオブジェクトを識別・監視してリアルタイム分析を行う方法を発見してください。

物体追跡は、コンピュータビジョン(CV)における動的なプロセスであり、動画内の特定の物体を識別し、一連のフレームにわたるその動きを追跡することを含む。各スナップショットを個別に扱う静止画解析とは異なり、追跡には時間の次元が導入される。これにより人工知能(AI)システムは、 自動車、人物、動物など検出された各アイテムに固有の識別番号(ID)を割り当て、 対象物が移動したり向きを変えたり一時的に隠れたりしてもその同一性を維持できる。この能力は高度な映像理解の基盤であり、 機械が行動を分析し、軌道を計算し、生の映像から実用的な知見を導き出すことを可能にする。

物体追跡の仕組み

現代の追跡システムは一般的に「検出による追跡」パラダイムを採用している。このワークフローは 強力な検出モデルと特殊なアルゴリズムを組み合わせて、時間軸に沿った検出結果を関連付ける。このプロセスは通常 以下の3つの主要な段階を経る:

  1. 検出:各フレームにおいて、 最先端のYOLO26などの 物体検出モデルが 画像を走査し、関心対象物体を特定する。 モデルは各物体の空間的範囲を定義する 境界ボックスを出力する。
  2. 運動予測: カルマンフィルタなどのアルゴリズムは、 対象物の現在の速度と軌跡に基づいて将来の位置を推定する。 この予測により次のフレームの探索領域が縮小され、 システムの効率が向上する。
  3. データアソシエーション:システムはハンガリアンアルゴリズムなどの最適化手法を用いて、新規検出結果を既存のトラッキング対象に照合します。このステップでは、予測ボックスと新規検出領域の重なり度合いを測定するため、交差率(IoU)などの指標が頻繁に用いられます。高度なトラッカーでは、視覚的特徴抽出を用いて類似した外観のオブジェクトを再識別する場合もあります。

オブジェクト追跡 vs. 物体検出

これらの用語は密接に関連しているものの、機械学習(ML)パイプライン内ではそれぞれ異なる機能を果たします。

  • 物体検出は「この画像に何が存在し、どこにあるか」という問いに答えます。 これはステートレスであり、つまり過去のフレームの記憶を持ちません。 例えば車が動画内を移動した場合、検出器はフレーム1に「車」を、フレーム2に「車」を認識しますが、 それらが同一の車両であるとは認識しません。
  • オブジェクト追跡はこの特定のオブジェクトはどこへ向かっているのか?」という疑問に答えます。 これはステートフルです。フレーム1の「車」をフレーム2の「車」と結びつけ、システムが「車ID #42」が左から右へ移動していることを記録できるようにします。これは予測モデリングやカウントといったタスクに不可欠です。

実際のアプリケーション

オブジェクトの同一性を維持する能力により、 様々な産業分野における複雑な リアルタイム推論アプリケーションが可能となる。

  • 高度道路交通システム:追跡機能は自律走行車が安全に走行するために不可欠である。歩行者や他の車両を追跡することで、自動車は衝突の可能性を予測できる。さらに、交通技術者はこれらのシステムを速度推定に活用し、安全規制の施行と交通流の最適化を実現している。
  • 小売分析:実店舗は小売AIを活用し顧客行動を理解する。 追跡機能により店舗管理者は以下の分析が可能: ・客数計測による来店客数の測定 ・ヒートマップを用いた陳列前滞在時間の分析 ・待ち時間削減のための列管理最適化
  • スポーツ分析:プロスポーツでは、コーチ陣がトラッキング技術と姿勢推定を組み合わせて選手のバイオメカニクスやチームのフォーメーションを分析する。このデータは肉眼では見えないパターンを明らかにすることで、競争上の優位性をもたらす。

Pythonトラッキングを実装する

Ultralytics 高性能なトラッキングの実装を簡単Ultralytics 。 track ライブラリのモード 検出、動き予測、ID割り当てを自動的に処理します。以下の例は、その使用方法を示しています。 Ultralytics 互換性のあるYOLO26モデルを用いて、動画内のtrack 。

from ultralytics import YOLO

# Load the official YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Track objects in a video file or webcam (source=0)
# 'show=True' displays the video with bounding boxes and unique IDs
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=True)

# Access the unique tracking IDs from the results
if results[0].boxes.id is not None:
    print(f"Detected Track IDs: {results[0].boxes.id.cpu().numpy()}")

関連概念

追跡のエコシステムを完全に理解するには、 インスタンスセグメンテーションを調査することが有用です。 これは単なるボックスではなく、オブジェクトの正確なピクセルレベルの輪郭を追跡します。 さらに、マルチオブジェクト追跡(MOT)の課題では、 混雑したシーンやオクルージョンをアルゴリズムがどれだけ適切に処理できるかを評価するため、 MOTChallengeのような広く使用されているベンチマークが頻繁に用いられます。 実稼働環境での導入では、開発者はNVIDIA OpenCV などのツールを活用し、これらのモデルを効率的なパイプラインに統合します。

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

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

今すぐ参加