YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

物体追跡

コンピュータービジョンにおけるオブジェクト track の仕組みを学びましょう。Ultralytics YOLO26 を使用して、リアルタイム分析のために一意のIDを持つオブジェクトを識別し監視する方法を発見してください。

オブジェクトトラッキングは、コンピュータービジョン(CV)における動的なプロセスであり、ビデオ内の特定のエンティティを識別し、一連のフレームにわたるその動きを監視します。各スナップショットを個別に扱う静的画像分析とは異なり、トラッキングは時間の次元を導入します。これにより、人工知能(AI)システムは、車、人物、動物などの検出された各アイテムに一意の識別番号(ID)を割り当て、オブジェクトが移動したり、向きを変えたり、一時的に遮られたりしてもそのIDを維持できます。この機能は、高度なビデオ理解の基礎であり、機械が生の映像から行動を分析し、軌道を計算し、実用的な洞察を導き出すことを可能にします。

物体追跡の仕組み

現代のtrackingシステムは、一般的に「tracking-by-detection(検出による追跡)」パラダイムを利用しています。このワークフローは、強力なdetectionモデルと特殊なアルゴリズムを組み合わせて、時間経過に伴うdetectionを関連付けます。このプロセスは通常、3つの主要な段階に従います。

  1. 検出: すべてのフレームで、最先端のYOLO26のようなobject detectionモデルが画像をスキャンして関心のあるオブジェクトを特定します。モデルは、各オブジェクトの空間的範囲を定義するbounding boxesを出力します。
  2. Motion Prediction: カルマンフィルターのようなアルゴリズムは、オブジェクトの現在の速度と軌道に基づいて将来の位置を推定します。この予測により、次のフレームの探索空間が減少し、システムがより効率的になります。
  3. データ関連付け: システムは、ハンガリアンアルゴリズムのような最適化手法を使用して、新しいdetectを既存のtrackにマッチングさせます。このステップでは、予測されたボックスが新しいdetectとどの程度重なるかを測定するために、Intersection over Union (IoU)のようなメトリクスに依存することがよくあります。高度なtrackは、視覚的な特徴抽出を使用して、類似したオブジェクトを再識別することもあります。

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

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

  • オブジェクトdetectは、「この画像には何がどこにありますか?」という質問に答えます。これはステートレスであり、以前のフレームの記憶がないことを意味します。車がビデオを通過する場合、detectorはフレーム1で「車」を、フレーム2で「車」を認識しますが、それらが同じ車両であるとは知りません。
  • オブジェクトトラッキングは、「この特定のオブジェクトはどこへ向かっているのか?」という問いに答えます。これはステートフルです。フレーム1の「車」をフレーム2の「車」に接続し、システムが「車両ID #42」が左から右へ移動していることを記録できるようにします。これは予測モデリングやカウントなどのタスクに不可欠です。

実際のアプリケーション

オブジェクトの同一性を維持する能力は、さまざまな業界で複雑なリアルタイム推論アプリケーションを可能にします。

  • インテリジェント交通システム: 自動運転車が安全に走行するためには、trackが不可欠です。歩行者や他の車両をtrackすることで、車は潜在的な衝突を予測できます。さらに、交通エンジニアはこれらのシステムを速度推定に利用し、安全規制を施行し、交通の流れを最適化します。
  • 小売分析: 実店舗では、小売業におけるAIを使用して顧客行動を理解しています。trackにより、店舗管理者は物体カウントを実行して来店客数を測定し、ヒートマップを使用してディスプレイ前の滞留時間を分析し、キュー管理を最適化して待ち時間を短縮することができます。
  • スポーツ分析: プロスポーツでは、コーチはtrackingと姿勢推定を組み合わせて、選手の生体力学とチームのフォーメーションを分析します。このデータは、肉眼では見えないパターンを明らかにすることで、競争上の優位性を提供します。

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

Ultralyticsは、高性能なtrackの実装を簡素化します。 track ライブラリのモードは、detect、モーション予測、ID割り当てを自動的に処理します。以下の例は、その使用方法を示しています。 Ultralyticsプラットフォーム ビデオ内でオブジェクトをtrackするための互換性のある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()}")

関連概念

trackのエコシステムを完全に理解するには、ボックスだけでなくオブジェクトの正確なピクセルレベルの輪郭をtrackするインスタンスsegmentを探求することが役立ちます。さらに、マルチオブジェクトトラッキング (MOT) の課題では、アルゴリズムが混雑したシーンやオクルージョンをどの程度うまく処理できるかを評価するために、MOTChallengeのような広く使用されているベンチマークがしばしば用いられます。本番環境でのデプロイメントには、開発者はしばしばNVIDIA DeepStreamOpenCVのようなツールを利用して、これらのモデルを効率的なパイプラインに統合します。

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

未来の機械学習で、新たな一歩を踏み出しましょう。