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

オブジェクトの再識別(Re-ID)

オブジェクトの再IDを発見:監視、小売分析、フォレンジックを強化するために、外観エンベッディングを使用して、重複していないカメラ間で人や車両を照合します。

物体再識別(Re-ID)は、コンピュータビジョン(CV)における専門技術であり、 異なるカメラビュー間や長期間にわたり、特定の物体や個人を関連付けることに焦点を当てています。 標準的な物体検出が単一画像内の物体のクラス(例:「人物」や「自動車」)を識別するのに対し、Re-IDは特定された物体が以前に観測されたものと同一の物体であるかどうかを判定します。この能力は、単一カメラでは全域をカバーできない大規模環境における移動の統合的な理解を構築し、孤立した視覚的観測点同士を効果的に結びつける上で極めて重要です。

再識別がどのように機能するか

再識別(Re-ID)の基本的な課題は、照明、姿勢、カメラ角度、背景の雑音の変化にもかかわらず、同一性を一致させることです。これを達成するため、システムは単純なバウンディングボックス座標を超え、対象物の視覚的コンテンツを分析します。

  • 特徴抽出:物体が検出されると、 深層学習(DL)モデルが画像の一部を処理し、 特徴ベクトル(埋め込みと呼ばれることが多い)を生成する。 このベクトルは、衣服の質感や車両の色など、 高次元の視覚的特徴を数値形式で表現する。
  • メトリック学習:本システムはメトリック学習を用いて、同一オブジェクトの埋め込みが数学的に近接し、異なるオブジェクトの埋め込みが離れることを保証する。この目的のために、サイアミーズニューラルネットワークなどの手法が一般的に訓練される。
  • 類似性マッチング:推論時、システムはクエリオブジェクトの埋め込みと、事前に保存されたアイデンティティの「ギャラリー」との間でコサイン類似 度またはユークリッド距離を計算する。類似度スコアが特定の閾値を超えた場合、一致が宣言される。

再IDと物体追跡

再識別(Re-ID)と物体追跡は、 ビジョン処理パイプラインにおいて 補完的でありながら異なる役割を果たすため、 両者を区別することが重要である。

  • 物体追跡:このプロセスは、カルマンフィルタなどのアルゴリズムによって駆動されることが多く、ある動画フレームから直後のフレームへ、物体の位置を予測する。時間的連続性と空間的重なり(例えば交差率(IoU))に大きく依存している。
  • 再識別:再識別(Re-ID)は追跡が失敗した際に機能します。例えば、物体が遮蔽物によって完全に隠された場合や、あるカメラの視野から外れて別のカメラの視野に入った場合などです。位置履歴ではなく外観に基づいて同一性を再確立し、分散ネットワーク全体での堅牢なマルチオブジェクト追跡(MOT)を実現します。

実際のアプリケーション

再識別は、孤立した検知情報を実用的な軌跡に変換し、 様々な分野における高度な分析を可能にします。

  • スマートシティセキュリティ: 都市監視において、再識別技術(Re-ID)は オペレーターが特定の個人track 都市全域の交通カメラネットワークでtrack 。 これは捜査活動において極めて重要であり、 当局が数千時間分の映像を手作業で確認することなく 行方不明の子供や容疑者を特定することを可能にします。
  • 小売分析: AIを活用した小売環境において、店舗はRe-ID技術を用いて顧客の行動経路を把握します。買い物客が通路やフロア間を移動する際に再識別することで、小売業者は人気の経路のヒートマップを生成し、店舗レイアウトを最適化できます。生体認証データではなく数値埋め込みデータを分析することで、プライバシーを保護しながらこれらを実現します。

再識別機能を用いた追跡の実装

YOLO26やYOLO11などの現代的なモデル YOLO11Ultralytics は、困難な条件下でも対象の同一性を維持するためにRe-ID 概念を利用するトラッカーと統合可能です。Ultralytics ライブラリで利用可能なBoT-SORTトラッカー、動作手がかりと外観特徴を組み合わせて堅牢な性能を実現します。

以下の例は、この追跡を動画ファイルに適用する方法を示しています:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Track objects in a video using BoT-SORT
# BoT-SORT uses appearance features to help re-identify objects after occlusions
results = model.track(source="path/to/video.mp4", tracker="botsort.yaml", persist=True)

# Process results
for result in results:
    if result.boxes.id is not None:
        print(f"Tracked IDs: {result.boxes.id.cpu().numpy()}")

これらの機能を支えるアーキテクチャについてさらに探求するには、 畳み込みニューラルネットワーク(CNN) およびResNetバックボーンの検討が推奨される。 これらの基礎を理解することで、 特定の環境向けにカスタム再識別モデルを微調整するための 適切なトレーニングデータの選択に役立つ。

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

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

今すぐ参加