In che modo il tracciamento degli oggetti riduce le inferenze ripetute in un NVR domestico?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Il tracciamento degli oggetti riduce le inferenze ripetute dell’NVR mantenendo l’identità del bersaglio tra i fotogrammi, così le osservazioni successive possono riutilizzare lo stato invece di trattare lo stesso bersaglio come nuovo.

Un NVR domestico ha comunque bisogno del rilevamento degli oggetti per individuare una persona, un veicolo o un animale, ma non è necessario che ogni decisione successiva riparta da zero a ogni fotogramma video. Quando un tracker associa i rilevamenti a un bersaglio persistente, la pipeline può mantenere posizione, identità, età e attributi memorizzati tra un’osservazione e l’altra, distanziare i passaggi costosi del rilevatore e rieseguire i modelli secondari solo quando il bersaglio cambia in modo significativo. Il risparmio deriva quindi dal riutilizzo dello stato, non dal fatto che il tracking sostituisca magicamente l’inferenza visiva.

Un rilevamento diventa più economico da riutilizzare quando dispone di una traccia persistente

Il rilevamento degli oggetti produce un riquadro e una classe per un fotogramma analizzato, mentre il tracking aggiunge continuità stabilendo se una nuova osservazione appartiene a un bersaglio già noto. Questa associazione trasforma una sequenza di riquadri visivamente simili in un oggetto con stato, la cui posizione e identità possono essere aggiornate nel tempo invece di essere ricreate in modo indipendente a ogni fotogramma.

Un tracker multi-oggetto può mantenere ID di traccia persistenti, offrendo alle fasi successive della pipeline una chiave stabile per la stessa persona o lo stesso veicolo. L’output utile non è semplicemente un altro rettangolo: è un record del bersaglio che persiste tra le osservazioni e può conservare uno storico.

Questo è il primo vantaggio in termini di calcolo, perché le regole successive non devono più chiedersi se ogni riquadro rappresenti un oggetto completamente nuovo. Il tempo di permanenza in una zona, la direzione, la deduplicazione degli eventi e i modelli per gli attributi successivi possono fare riferimento a un unico record di traccia finché il bersaglio non esce dall’inquadratura, viene perso o viene riassegnato.

Gli ID di traccia stabili permettono ai modelli secondari di riutilizzare la classificazione precedente

Il costo ripetuto maggiore spesso non è quello del tracker, ma quello di un modello secondario che altrimenti dovrebbe classificare a ogni fotogramma lo stesso oggetto già rilevato. Se un ID di traccia rimane stabile, la pipeline può associare al bersaglio il risultato precedente dell’attributo e aggiornarlo solo quando l’aspetto o le dimensioni dell’oggetto cambiano abbastanza da giustificare una nuova inferenza.

DeepStream implementa questo schema memorizzando nella cache la classificazione secondaria in base all’ID dell’oggetto e ripetendo l’inferenza quando un oggetto compare per la prima volta o quando l’area del suo riquadro aumenta considerevolmente. Un NVR domestico può applicare la stessa architettura ad attributi come il tipo di veicolo, la categoria di abbigliamento, la presenza di un pacco o un altro classificatore costoso per oggetto.

La cache rimane valida solo finché l’identità del bersaglio è affidabile e si prevede che l’attributo riutilizzato rimanga stabile. Un classificatore del colore può tollerare molti fotogrammi riutilizzati, mentre la posa, l’orientamento del volto o lo stato di un oggetto trasportato possono cambiare abbastanza rapidamente da rendere ancora necessario un aggiornamento periodico o basato sugli eventi.

Il riutilizzo degli attributi è più efficace quando la proprietà memorizzata cambia più lentamente della posizione dell’oggetto. Per questo una pipeline di tracking può riutilizzare per molti fotogrammi l’etichetta relativa al tipo di veicolo continuando ad aggiornare il riquadro a ogni fotogramma, separando lo stato geometrico rapido da quello semantico più lento invece di aggiornare ogni output alla stessa frequenza.

Il tracking può collegare i fotogrammi in cui il rilevatore principale viene saltato

Una volta stabilito un bersaglio, alcuni tracker possono propagare la sua posizione nei fotogrammi in cui il rilevatore principale non viene eseguito, per poi confrontare lo stato previsto con il nuovo rilevamento quando questo arriva. Ciò consente all’NVR di ridurre la frequenza del rilevatore senza trasformare ogni fotogramma saltato in un punto completamente cieco per gli oggetti già tracciati.

DeepStream supporta esplicitamente il salto dei fotogrammi del rilevatore mentre gli oggetti vengono tracciati tra un rilevamento e l’altro, e le indicazioni attuali sul tracker osservano che un tracking più efficace può consentire un intervallo maggiore tra i rilevamenti con una minore perdita di precisione. Il vantaggio aumenta quando il rilevatore principale è molto più costoso del tracker.

Il rilevatore continua ad avere compiti che il tracking non può ereditare: scoprire un nuovo oggetto, correggere la deriva, recuperare dopo un’occlusione e terminare o re-inizializzare le tracce ambigue. I metodi di associazione, come il tracking tramite associazione dei rilevamenti tra i fotogrammi, dipendono dai rilevamenti come elementi di prova; aumentando troppo l’intervallo, i risparmi di calcolo finiscono quindi per tradursi in ingressi mancati e correzioni meno efficaci.

Il risparmio netto dipende dal costo del rilevatore, dal movimento della scena e dalla stabilità delle tracce

Il tracking aggiunge i propri aggiornamenti di stato, la stima del movimento, il confronto delle caratteristiche e il lavoro di associazione; la domanda corretta è quindi se questo costo aggiuntivo sia inferiore all’inferenza che consente alla pipeline di evitare. Un rilevatore o classificatore secondario pesante offre maggiori possibilità di risparmio rispetto a un rilevatore leggero eseguito su un acceleratore poco utilizzato.

Un tracker consente inoltre un risparmio minore nelle scene affollate, dove molti oggetti entrano, escono, si sovrappongono o cambiano rapidamente aspetto, perché la creazione dei bersagli e la re-identificazione avvengono più spesso. La configurazione pratica di un NVR mantiene quindi separati il tasso di rilevamento della telecamera e la velocità di inferenza del rilevatore, quindi confronta latenza del tracker, intervallo di inferenza, numero di tracce attive, aggiornamenti del classificatore e recupero degli eventi sulle stesse clip registrate, invece di presumere che un unico intervallo sia efficiente in ogni situazione.

Il problema adiacente è illustrato dalla spiegazione di ZimaSpace, secondo cui gli eventi brevi possono scomparire prima che si formi una traccia valida. Il tracking riduce il lavoro ripetuto solo dopo che è disponibile uno stato utile; per questo l’efficienza di calcolo e la capacità di rilevare gli eventi brevi devono essere misurate insieme.

Il punto di equilibrio pratico può essere misurato come tempo dell’acceleratore risparmiato per oggetto tracciato, non in base ai soli FPS del tracker. Se il tracker consuma quasi lo stesso tempo del dispositivo richiesto dal lavoro del rilevatore saltato, oppure se la frequente re-identificazione costringe i classificatori a rieseguire l’inferenza, l’apparente riduzione del numero di inferenze potrebbe non tradursi in margine utile per aggiungere altre telecamere.

Hub Tecnologico e AI

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.