Object Tracking
コンピュータビジョンにおけるオブジェクトトラッキングの仕組みを学びます。リアルタイム解析のために、Ultralytics YOLO26を使用して一意のIDでオブジェクトを識別および監視する方法を発見しましょう。
オブジェクトトラッキングは、コンピュータビジョン (CV) における動的なプロセスであり、ビデオ内の特定のエンティティを識別し、フレームシーケンスを通じてその動きを監視するものです。各スナップショットを独立して扱う静止画像解析とは異なり、トラッキングは時間の概念を導入します。これにより、人工知能 (AI) システムは、検出された各アイテム(車、人、動物など)に固有の識別番号 (ID) を割り当て、オブジェクトが移動、向きの変更、一時的な遮蔽を受けた場合でもそのアイデンティティを維持できます。この機能は、高度な動画理解の基盤であり、機械が行動を解析し、軌跡を計算し、生の映像から実行可能な洞察を導き出すことを可能にします。
Link to this sectionオブジェクトトラッキングの仕組み#
現代のトラッキングシステムは、一般的に「検出によるトラッキング (tracking-by-detection)」パラダイムを利用しています。このワークフローでは、強力な検出モデルと専門的なアルゴリズムを組み合わせて、時系列で検出結果を関連付けます。このプロセスは通常、以下の3つの主要な段階で構成されます。
-
Detection: In every frame, an object detection model, such as the state-of-the-art YOLO26, scans the image to locate objects of interest. The model outputs bounding boxes that define the spatial extent of each object.
-
モーション予測: カルマンフィルタなどのアルゴリズムは、現在の速度と軌跡に基づいてオブジェクトの将来の位置を推定します。この予測により、次のフレームでの探索空間が縮小され、システムの効率が向上します。
-
データ関連付け: システムは、ハンガリアンアルゴリズムのような最適化手法を使用して、新しい検出結果を既存のトラックに一致させます。このステップでは、予測ボックスが新しい検出とどの程度重なっているかを測定するために、Intersection over Union (IoU) などの指標が頻繁に使用されます。高度なトラッカーは、視覚的な特徴抽出を使用して、類似した外観を持つオブジェクトを再識別することもあります。
Link to this sectionオブジェクトトラッキングと物体検出の違い#
これらの用語は密接に関連していますが、機械学習 (ML) パイプライン内ではそれぞれ異なる機能を果たします。
- 物体検出は、「この画像には何がどこにあるか?」という問いに答えます。これはステートレスであり、過去のフレームのメモリを持たないことを意味します。車がビデオ内を走行している場合、検出器はフレーム1で「車」を、フレーム2でも「車」を認識しますが、それらが同一の車両であるとは認識しません。
- オブジェクトトラッキングは、「この特定のオブジェクトはどこへ向かっているのか?」という問いに答えます。これはステートフルです。フレーム1の「車」とフレーム2の「車」を接続し、「Car ID #42」が左から右へ移動しているというログをシステムが記録できるようにします。これは予測モデリングやカウントなどのタスクに不可欠です。
Link to this section実社会での応用#
オブジェクトの同一性を維持する能力により、さまざまな業界で複雑なリアルタイム推論アプリケーションが可能になります。
- 高度道路交通システム: トラッキングは、自動運転車が安全に走行するために不可欠です。歩行者や他の車両を追跡することで、車は潜在的な衝突を予測できます。さらに、交通エンジニアは、これらのシステムを使用して速度推定を行い、安全規制の施行や交通流の最適化を図ります。
- 小売アナリティクス: 実店舗では、顧客の行動を理解するためにリテールにおけるAIを活用しています。トラッキングにより、店長はオブジェクトカウントを実行して来店客数を測定したり、ヒートマップを使用してディスプレイ前での滞留時間を分析したり、待ち行列管理を最適化して待ち時間を短縮したりできます。
- スポーツ解析: プロスポーツにおいて、コーチはトラッキングとポーズ推定を組み合わせて、選手のバイオメカニクスやチーム編成を分析します。このデータは、肉眼では見えないパターンを明らかにすることで、競争上の優位性をもたらします。
Link to this sectionPythonでのトラッキングの実装#
Ultralyticsを使用すると、高性能なトラッキングを簡単に実装できます。ライブラリ内の track モードは、検出、モーション予測、ID割り当てを自動的に処理します。以下の例では、Ultralytics Platform 互換の YOLO26 モデルを使用して、ビデオ内のオブジェクトを追跡する方法を示しています。
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()}")Link to this section関連概念#
トラッキングのエコシステムを深く理解するためには、単なるボックスではなくオブジェクトの精密なピクセルレベルの輪郭を追跡するインスタンスセグメンテーションについて調査することが役立ちます。さらに、マルチオブジェクトトラッキング (MOT) の課題では、混雑したシーンや遮蔽物をアルゴリズムがどの程度うまく処理できるかを評価するために、MOTChallengeのような広く利用されているベンチマークが用いられることが一般的です。本番環境へのデプロイにおいて、開発者はNVIDIA DeepStreamやOpenCVといったツールを活用し、これらのモデルを効率的なパイプラインに統合します。






