コンピュータビジョンにおけるオブジェクト追跡の仕組みを学びましょう。Ultralytics を活用し、ユニークIDでオブジェクトを識別・監視してリアルタイム分析を行う方法を発見してください。
物体追跡は、コンピュータビジョン(CV)における動的なプロセスであり、動画内の特定の物体を識別し、一連のフレームにわたるその動きを追跡することを含む。各スナップショットを個別に扱う静止画解析とは異なり、追跡には時間の次元が導入される。これにより人工知能(AI)システムは、 自動車、人物、動物など検出された各アイテムに固有の識別番号(ID)を割り当て、 対象物が移動したり向きを変えたり一時的に隠れたりしてもその同一性を維持できる。この能力は高度な映像理解の基盤であり、 機械が行動を分析し、軌道を計算し、生の映像から実用的な知見を導き出すことを可能にする。
現代の追跡システムは一般的に「検出による追跡」パラダイムを採用している。このワークフローは 強力な検出モデルと特殊なアルゴリズムを組み合わせて、時間軸に沿った検出結果を関連付ける。このプロセスは通常 以下の3つの主要な段階を経る:
これらの用語は密接に関連しているものの、機械学習(ML)パイプライン内ではそれぞれ異なる機能を果たします。
オブジェクトの同一性を維持する能力により、 様々な産業分野における複雑な リアルタイム推論アプリケーションが可能となる。
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 などのツールを活用し、これらのモデルを効率的なパイプラインに統合します。