Object Re-identification (Re-ID)
Nesne yeniden tanımlama (Re-ID), görünüş gömmelerini karşılaştırarak aynı kişiyi veya aracı kameralar arasında, zaman aralıklarından sonra ve örtüşme durumlarında yeniden tanır.
Nesne yeniden tanımlama (Re-ID), aynı nesne başka bir kamerada, daha sonra veya gizlendikten sonra yeniden ortaya çıktığında onu tanıyan bir bilgisayarlı görü görevidir. Nesne algılama, görüntüde bir kişi olduğunu bildirirken Re-ID, bu kişinin on dakika önce giriş kamerasının önünden geçen kişi olup olmadığını belirler. Bunu giysi renkleri, vücut şekli, taşınan çantalar veya bir aracın rengi ve tavan ayrıntıları gibi görünüş özelliklerini karşılaştırarak yapar; bu nedenle kamera ağlarında görüntüler arasında örtüşme olmadan gözlemleri ilişkilendirmede başlıca araçtır. Kişi Re-ID ve araç Re-ID, en çok incelenen türlerdir.
Yeniden Tanımlama Nasıl Çalışır#
Bir Re-ID sistemi, algılanan her nesneyi kompakt bir görünüş tanımlayıcısına dönüştürür ve bu tanımlayıcıları karşılaştırır:
- Algıla ve kırp: Bir algılayıcı her kişiyi veya aracı bulur; nesnenin sınırlayıcı kutusunun içindeki görüntü kırpılıp yeniden boyutlandırılır.
- Gömme vektörüne kodla: Bir evrişimli sinir ağı veya görsel Transformer, kırpılan görüntüyü nesnenin görünüşünü özetleyen, birkaç yüz ile birkaç bin sayıdan oluşan bir vektöre dönüştürür.
- Kosinüs benzerliği ile eşleştir: Sorgu gömme vektörü, saklanan gömme vektörlerinden oluşan bir galeriyle karşılaştırılır ve galeri en benzerden en az benzeyene doğru sıralanır; bazı sistemler bunun yerine Öklid uzaklığını kullanır.
En iyi skor için belirlenen eşik, sorgunun bilinen bir kimliğe mi yoksa yeni bir kimliğe mi ait olduğuna karar verir:
Kodlayıcılar, aynı kimliğe ait gömme vektörlerinin bir araya gelmesi ve farklı kimliklere ait olanların birbirinden uzaklaşması için metrik öğrenmeyle eğitilir. Yaygın bir yöntem, bir çapa görüntüsünü aynı kimliğe ait başka bir görüntüye yaklaştıran ve farklı kimliğe ait bir görüntüden uzaklaştıran üçlü kayıpla kimlik sınıflandırma kaybını birleştirir; benzer görünen örneklere odaklanmak için zor negatif örnek madenciliği kullanır. Zor olan, değişmezliği sağlamaktır: aynı kişi; farklı bakış açıları, ışık koşulları, çözünürlükler ve kısmi örtülmelerde birbirine yakın gömme vektörlerine eşlenmelidir.
Re-ID, İzleme ve Yüz Tanıma#
Re-ID sıklıkla yakındaki iki görevle karıştırılır:
- Nesne izleme: Genellikle Kalman filtresiyle nesnelerin hareketini tahmin ederek tek bir videodaki nesneleri izler ve kareden kareye kutuları örtüşme değerlerine göre eşleştirir. Uzun süre gizlenen veya görüntüden çıkan bir nesne bu zamansal sürekliliği bozar; Re-ID, tam da bu boşluklarda kimliği yeniden belirler.
- Yüz tanıma: Bir kişiyi yıllarca sabit kalan yüz özelliklerinden tanır ve yüzün görünür olmasını gerektirir. Kişi Re-ID, kişiyi arkadan ve düşük çözünürlükte tanıyabilir; büyük ölçüde giysilere dayandığından genellikle yalnızca saatlerce veya bir gün boyunca geçerlidir.
Çoklu Nesne İzleyicilerinde Re-ID#
2017'deki DeepSORT döneminden beri birçok çoklu nesne izleme (MOT) izleyicisi, Re-ID gömme vektörlerini hareket ipuçlarıyla birleştiriyor. Böylece yolları kesişen iki kişi kendi kimliklerini koruyor ve bir sütunun arkasında kaybolan kişi eski kimliğini geri kazanıyor. Ultralytics YOLO izleme modunda BoT-SORT, Deep OC-SORT ve TrackTrack izleyicileri with_reid: True kabul eder ve yolo26n-reid.onnx ile yolo26x-reid.onnx arasındaki YOLO26 Re-ID kodlayıcılarını yükleyebilir; bu kodlayıcılar ilk kullanımda indirilir:
from ultralytics import YOLO
from ultralytics.utils import YAML
from ultralytics.utils.checks import check_yaml
# Copy the default TrackTrack settings and enable Re-ID with a YOLO26 appearance encoder
cfg = YAML.load(check_yaml("tracktrack.yaml"))
cfg.update(with_reid=True, model="yolo26n-reid.onnx")
YAML.save("tracktrack_reid.yaml", cfg)
# Track people (class 0); appearance embeddings help restore IDs after occlusions
model = YOLO("yolo26n.pt")
source = "https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov"
identities = set()
for result in model.track(source, tracker="tracktrack_reid.yaml", classes=[0], stream=True):
if result.boxes.is_track:
identities.update(result.boxes.id.int().tolist())
print(f"Person identities assigned: {len(identities)}")İzleyicinin bir örtülme sonrasında geri kazandığı her kimlik, yazdırılan sayıyı videodaki gerçek kişi sayısına yaklaştırır.
Gerçek Dünya Uygulamaları#
- Perakende analitiği: Bir müşterinin koridor kameralarındaki görüntülerini ilişkilendirmek, mağaza genelindeki anonim güzergâhları, kalış sürelerini ve dönüşüm hunilerini ortaya çıkarır.
- Trafik yönetimi: Araç Re-ID, plaka okunamadığında bile yolculuk sürelerini ve başlangıç-varış noktası akışlarını ölçmek için farklı kavşaklardaki aynı araca ait görüntüleri ilişkilendirir.
- Spor: Oyuncu Re-ID, oyuncular yayın karesinden çıktığında veya bir mücadelede kümelendiğinde kimliklerin tutarlı kalmasını sağlar.
- Yaban hayatı araştırmaları: Hayvan Re-ID, kamera tuzakları ve drone görüntülerindeki kürk desenleri ve yüzgeç işaretlerinden tek tek zebraları, balinaları veya büyük kedileri tanır.
Kıyaslamalar ve Metrikler#
Re-ID, bir bilgi erişim problemi olarak değerlendirilir. Rank-1 doğruluğu, en üst sıradaki galeri görüntüsünün doğru kimliği gösterdiği sorguların oranıdır; ortalama hassasiyet (mAP) ise tüm galerideki doğru eşleşmelerin ne kadar iyi sıralandığını ölçer. Klasik kişi Re-ID kıyaslaması Market-1501, bir üniversite kampüsünde altı kamerayla çekilmiş 1.501 kişiye ait 32.668 sınırlayıcı kutu içerir.










