Object Re-identification (Re-ID)
La re-identificazione degli oggetti (Re-ID) riconosce la stessa persona o lo stesso veicolo attraverso telecamere diverse, intervalli di tempo e occlusioni, confrontando gli embedding dell'aspetto.
La re-identificazione degli oggetti (Re-ID) è un'attività di visione artificiale che riconosce lo stesso oggetto quando riappare in un'altra videocamera, in un momento successivo o dopo essere stato nascosto. Mentre il rilevamento di oggetti segnala che un'immagine contiene una persona, la Re-ID stabilisce se si tratta della stessa persona passata davanti alla videocamera dell'ingresso dieci minuti prima. Lo fa confrontando l'aspetto, ad esempio i colori degli abiti, la corporatura, le borse trasportate oppure il colore e i dettagli del tetto di un veicolo; per questo è lo strumento principale per collegare le osservazioni nelle reti di videocamere con campi visivi non sovrapposti. La Re-ID delle persone e la Re-ID dei veicoli sono le forme più studiate.
Come funziona la re-identificazione#
Un sistema di Re-ID trasforma ogni oggetto rilevato in un descrittore compatto dell'aspetto e confronta questi descrittori:
- Rilevamento e ritaglio: un rilevatore individua ogni persona o veicolo, quindi ritaglia e ridimensiona la porzione d'immagine contenuta nel riquadro di delimitazione.
- Codifica in un'embedding: una rete neurale convoluzionale o un vision transformer mappa il ritaglio in un vettore composto da alcune centinaia o alcune migliaia di numeri che riassumono l'aspetto dell'oggetto.
- Confronto tramite similarità coseno: l'embedding della query viene confrontata con una raccolta di embedding memorizzati, ordinata dal più al meno simile; alcuni sistemi usano invece la distanza euclidea.
Una soglia applicata al punteggio migliore stabilisce quindi se la query corrisponde a un'identità nota oppure a una nuova:
Gli encoder vengono addestrati con l'apprendimento metrico, in modo che gli embedding della stessa identità si raggruppino e quelli di identità diverse si separino. Una tecnica comune combina una funzione di perdita per la classificazione dell'identità con una funzione di perdita triplet, che avvicina un'immagine ancora a un'altra immagine della stessa identità e la allontana da un'immagine di un'identità diversa, ricorrendo alla selezione degli esempi negativi più difficili per concentrarsi sui soggetti dall'aspetto simile. La sfida principale è l'invarianza: la stessa persona deve corrispondere a embedding vicini da diverse angolazioni, con illuminazione e risoluzione differenti e in presenza di occlusioni parziali.
Re-ID a confronto con tracciamento e riconoscimento facciale#
La Re-ID viene spesso confusa con due attività affini:
- Tracciamento degli oggetti: segue gli oggetti all'interno di un singolo video prevedendone il movimento, solitamente con un filtro di Kalman, e confrontando la sovrapposizione dei riquadri tra un fotogramma e l'altro. Si basa sulla continuità temporale, che viene meno quando un oggetto è occluso a lungo o esce dal campo visivo; la Re-ID ripristina l'identità proprio in queste situazioni.
- Riconoscimento facciale: identifica una persona dai tratti del viso, stabili per anni, e richiede che il viso sia visibile. La Re-ID delle persone funziona anche quando sono riprese di spalle e a bassa risoluzione; poiché si basa soprattutto sugli abiti, in genere è valida solo per alcune ore o per un giorno.
La Re-ID nei tracker multi-oggetto#
A partire da DeepSORT nel 2017, molti tracker per il tracciamento multi-oggetto (MOT) hanno integrato gli embedding Re-ID con indizi di movimento, così che due persone che si incrociano mantengano ciascuna il proprio ID e che una persona che scompare dietro una colonna recuperi l'ID precedente. Nella modalità di tracciamento di Ultralytics YOLO, i tracker BoT-SORT, Deep OC-SORT e TrackTrack accettano with_reid: True e possono caricare encoder Re-ID YOLO26, da yolo26n-reid.onnx a yolo26x-reid.onnx, che vengono scaricati al primo utilizzo:
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)}")Ogni ID recuperato dal tracker dopo un'occlusione mantiene il conteggio visualizzato più vicino al numero effettivo di persone nel video.
Applicazioni nel mondo reale#
- Analisi della vendita al dettaglio: collegare le osservazioni di un cliente tra le videocamere dei corridoi permette di ricostruire percorsi anonimi nell'intero negozio, tempi di permanenza e percorsi di conversione.
- Gestione del traffico: la Re-ID dei veicoli collega le osservazioni della stessa auto in diversi incroci per misurare i tempi di percorrenza e i flussi origine-destinazione, anche quando le targhe non sono leggibili.
- Sport: la Re-ID dei giocatori mantiene coerenti le identità quando i giocatori escono dall'inquadratura televisiva o si ammassano in una mischia.
- Ricerca sulla fauna selvatica: la Re-ID animale identifica singole zebre, balene o grandi felini tramite il disegno del mantello e i segni sulle pinne in immagini di fototrappole e droni.
Benchmark e metriche#
La Re-ID viene valutata come problema di recupero. L'accuratezza Rank-1 è la quota di query per cui l'immagine in cima alla classifica della raccolta mostra l'identità corretta, mentre la precisione media (mAP) misura quanto bene vengono classificate tutte le corrispondenze corrette nell'intera raccolta. Market-1501, il benchmark classico per la Re-ID delle persone, contiene 32.668 riquadri di delimitazione di 1.501 persone riprese da sei videocamere in un campus universitario.










