Object Re-identification (Re-ID)
物体再識別(Re-ID)がカメラビュー間でIDを照合する方法を学びます。堅牢なビジュアルトラッキングのために、Ultralytics YOLO26とBoT-SORTを使用する方法を確認します。
オブジェクト再識別(Re-ID)は、異なる重複しないカメラビュー間、または長時間にわたって、特定のオブジェクトや個人を照合するために設計された、コンピュータビジョン(CV)の専門的なタスクです。標準的なオブジェクト検出では、エンティティのクラスを認識すること、つまり画像に「人物」や「車」が含まれていることの識別に焦点を当てます。一方、Re-IDではさらに一歩進み、外観に基づいて、それが具体的にどの人物または車であるかを判断します。この機能は、1台のカメラではエリア全体をカバーできない大規模な環境で、移動に関する一貫したストーリーを構築するために不可欠です。分離された個々の視覚的観測結果を効果的に結び付けることができます。
再識別の仕組み#
Re-IDの中心的な課題は、照明、カメラアングル、姿勢、背景の乱雑さが変化しても、同一性の一貫性を維持することです。これを実現するため、システムでは通常、ディープニューラルネットワークを含む複数段階のパイプラインを使用します。
- 特徴抽出: オブジェクトが検出されると、畳み込みニューラルネットワーク(CNN)が画像の切り抜きを分析し、一般に埋め込みと呼ばれる特徴ベクトルを生成します。このベクトルは、衣服の質感や車両の色など、オブジェクト固有の視覚的特徴を密に表現した数値表現です。
- メトリックラーニング: 基盤となるモデルは、メトリックラーニングの手法を使用してトレーニングされます。目標は、同一オブジェクトの埋め込みがベクトル空間内で数学的に近くなり、異なるオブジェクトの埋め込みが遠く離れるようにすることです。シャムニューラルネットワークのような特殊なアーキテクチャは、これらの関係の学習によく使用されます。
- 類似度マッチング: デプロイ時には、システムがクエリオブジェクトの埋め込みを、保存されたアイデンティティのギャラリーと比較します。この比較では通常、コサイン類似度またはユークリッド距離を計算します。類似度スコアが事前定義されたしきい値を超えると、システムは一致を確認します。
Re-IDとオブジェクトトラッキングの比較#
Re-IDとオブジェクトトラッキングは、ビジョンパイプライン内で補完的でありながら異なる役割を果たすため、区別することが重要です。
- オブジェクトトラッキング: この処理は時間的な連続性に依存します。カルマンフィルターなどのアルゴリズムは、オブジェクトの現在の速度と軌道に基づいて、直後のフレームにおける将来の位置を予測します。隣接するフレーム内の検出結果を関連付けるために、交差領域対和集合比(IoU)を使用することがよくあります。
- 再識別: Re-IDは、時間的な連続性が途切れた場合に不可欠です。これは、オブジェクトが遮蔽物の背後に隠れるオクルージョンが発生した場合や、オブジェクトが一方のカメラの視野から出て別のカメラに入る場合に起こります。Re-IDは位置履歴ではなく外観に基づいて同一性を再確立し、堅牢なマルチオブジェクトトラッキング(MOT)を可能にします。
実世界での利用例#
分断されたビュー間で同一性を維持できるため、さまざまな業界で高度な分析が可能になります。
- スマートシティの交通管理: スマートシティにおけるAIの文脈では、Re-IDによって自治体のシステムが都市全体の交差点ネットワークを移動する車両を追跡できます。これにより、ナンバープレート認識だけに頼ることなく、平均移動時間の算出や信号機のタイミングの最適化が可能になります。
- 小売顧客分析: 小売業者は、買い物客の行動を把握するためにRe-IDを活用します。異なる通路で確認された同一顧客の情報を関連付けることで、店舗は人気のある経路のヒートマップを生成できます。これにより、店舗レイアウトの最適化やスタッフ配置の調整に役立ち、孤立した個々のインタラクションだけでなく、顧客の行動全体に関するインサイトを得られます。
Re-ID機能を使用したトラッキングの実装#
最新のビジョンAIワークフローでは、高性能な検出器とRe-IDの概念を活用するトラッカーを組み合わせることがよくあります。YOLO26モデルは、外観特徴を活用してトラッキングの一貫性を維持するBoT-SORTなどのトラッカーとシームレスに統合できます。データセットとトレーニングパイプラインを効率的に管理したいユーザー向けに、Ultralytics Platformはアノテーションとデプロイのための統合インターフェースを提供します。
次の例では、Ultralytics Pythonパッケージを使用してオブジェクトトラッキングを実行する方法を示します。このパッケージによって、同一性の持続性が自動的に管理されます。
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Track objects in a video file
# The 'persist=True' argument is vital for maintaining IDs across frames
# BoT-SORT is a tracker that can utilize appearance features for Re-ID
results = model.track(
source="https://www.ultralytics.com/blog/ultralytics-yolov8-for-speed-estimation-in-computer-vision-projects",
tracker="botsort.yaml",
persist=True,
)
# Print the unique ID assigned to the first detected object in the first frame
if results[0].boxes.id is not None:
print(f"Tracked Object ID: {results[0].boxes.id[0].item()}")堅牢なパフォーマンスを実現するには、これらのモデルのトレーニングに高品質なトレーニングデータが必要です。トリプレット損失などの手法は、埋め込みの識別能力を向上させるため、特定のRe-IDサブモジュールのトレーニング中によく使用されます。また、Re-IDシステムが誤った一致をどの程度回避できているかを評価する際には、適合率と再現率のニュアンスを理解することも重要です。









