Gli 8 migliori strumenti e algoritmi open source per il tracciamento degli oggetti
Scopri 8 tra i migliori strumenti open source per il tracciamento degli oggetti e l'analisi video in tempo reale. Guarda come funziona ciascuno e come scegliere quello più adatto al tuo progetto.
Abirami Vina13 min di lettura
Quando un’auto passa con il rosso e al conducente viene inviata una multa automatica, oppure un calciatore dribbla in campo e la telecamera segue l’azione fluidamente, l’AI lavora silenziosamente sullo sfondo. In particolare, questi sistemi si affidano alla visione artificiale, un sottocampo dell’AI che consente alle macchine di vedere, interpretare e comprendere le informazioni visive provenienti dal mondo.
Nell’ambito della visione artificiale, una delle attività chiave alla base di queste applicazioni è il tracciamento degli oggetti. Serve a identificare gli oggetti in ogni fotogramma di un video e poi seguirli mentre si muovono, si sovrappongono ad altri o cambiano direzione.
Oggi sono disponibili molti strumenti per il tracciamento degli oggetti e algoritmi, ciascuno progettato per casi d’uso, esigenze prestazionali e livelli di complessità diversi. Alcuni si concentrano sulla velocità e possono tracciare decine di oggetti in tempo reale, mentre altri privilegiano la precisione o la stabilità a lungo termine in condizioni difficili, come occlusioni, movimenti rapidi o scarsa illuminazione.
In particolare, i progetti open source hanno svolto un ruolo fondamentale nel far progredire questo settore. Poiché il loro codice è accessibile a tutti, sviluppatori e ricercatori possono studiarne il funzionamento, migliorare i metodi esistenti e adattarli a nuove applicazioni. Questa apertura ha contribuito a far evolvere rapidamente il tracciamento degli oggetti e a facilitarne l’integrazione nei sistemi reali.
In questo articolo esamineremo otto strumenti e algoritmi open source molto diffusi per il tracciamento di oggetti.
Che cos’è il tracciamento degli oggetti?#
Immagina un addetto alla sicurezza che guarda le riprese CCTV di un parcheggio. Decide di tenere d’occhio un’auto rossa. Mentre il video scorre, identifica mentalmente quell’auto e continua a seguirla ovunque vada, anche quando passano altre auto o qualcuno le cammina davanti.
Il tracciamento degli oggetti basato sull’AI funziona in modo simile, ma automaticamente e su larga scala. In altre parole, il tracciamento degli oggetti è il processo che segue un oggetto mentre si sposta tra i fotogrammi di un video e ne mantiene coerente l’identità da un fotogramma all’altro.
In molti sistemi, tutto inizia con il rilevamento degli oggetti, che individua ed etichetta oggetti come persone, veicoli o segnali stradali in ogni fotogramma. Poi, mentre questi oggetti si spostano, appaiono, scompaiono o si sovrappongono, il sistema di tracciamento collega i rilevamenti tra i fotogrammi per sapere quale oggetto è ciascuno e dove si sposta nel tempo.

Fig. 1. Esempio di tracciamento degli oggetti (Fonte)
Esistono due tipi comuni di tracciamento: il tracciamento di un singolo oggetto (SOT), che si concentra su un oggetto principale (per esempio, seguire solo la palla in un video sportivo), e il tracciamento multi-oggetto (MOT), che segue più oggetti contemporaneamente e assegna a ciascuno un ID univoco (per esempio, seguire tutte le auto a un incrocio trafficato).
Indipendentemente dal tipo di tracciamento, la maggior parte dei sistemi si basa su tre componenti fondamentali: un rilevatore che individua gli oggetti in ogni fotogramma, un modello di movimento che ne prevede gli spostamenti probabili e una fase di abbinamento che collega i nuovi rilevamenti agli oggetti già tracciati. Questi componenti trasformano il video grezzo in informazioni significative su come gli oggetti si muovono e interagiscono nel tempo.
Perché servono strumenti open source per il tracciamento degli oggetti#
Prima di entrare nei dettagli, potresti chiederti: cosa rende così speciali gli strumenti e gli algoritmi open source per il tracciamento degli oggetti?
Gli strumenti open source hanno contribuito molto a rendere il tracciamento degli oggetti più semplice da usare e più accessibile. Poiché il codice è aperto, sviluppatori e ricercatori possono vedere esattamente come funziona un tracker, imparare dal suo funzionamento e adattarlo ai propri progetti, invece di trattarlo come una scatola nera.
Gli strumenti open source beneficiano anche di community solide. Molti strumenti di tracciamento open source sono gestiti da collaboratori attivi che aggiungono funzionalità, migliorano velocità e precisione, correggono bug e mantengono gli strumenti aggiornati con le ricerche più recenti. Questa collaborazione continua aiuta gli strumenti a restare affidabili e utili in applicazioni diverse.
Il costo è un altro motivo importante per cui sono rilevanti. Poiché gli strumenti open source sono gratuiti, studenti, startup e piccoli team possono sperimentare, realizzare prototipi e costruire sistemi reali senza preoccuparsi dei costi delle licenze o degli abbonamenti.
Gli 8 migliori strumenti e algoritmi open source per il tracciamento degli oggetti#
Oggi è disponibile un'ampia varietà di opzioni open source per creare sistemi di tracciamento. Alcune sono algoritmi o modelli di tracciamento che puoi integrare direttamente nella tua pipeline, mentre altre sono librerie e framework che semplificano l'esecuzione, la gestione e l'integrazione di questi modelli. Nel complesso, coprono tutto, dalla logica di tracciamento di base agli strumenti di supporto necessari in un progetto reale.
Ora esaminiamo otto popolari strumenti e algoritmi open source per il tracciamento degli oggetti.
1. Modelli Ultralytics YOLO e pacchetto Python Ultralytics#
Una delle opzioni più semplici e pratiche per il tracciamento di oggetti consiste nell’usare i modelli Ultralytics YOLO insieme al pacchetto Python Ultralytics. I modelli Ultralytics YOLO, come Ultralytics YOLO11 e il più recente Ultralytics YOLO26, sono modelli di visione artificiale che supportano diverse attività di visione, tra cui rilevamento di oggetti, segmentazione di istanze, stima della posa e tracciamento di oggetti.

Fig. 2. Un esempio di utilizzo di YOLO11 per rilevare e tracciare gli oggetti. (Fonte)
È interessante notare che i modelli non tracciano gli oggetti da soli tra un fotogramma e l’altro. Il pacchetto Python Ultralytics, una libreria che semplifica l’esecuzione e la distribuzione dei modelli Ultralytics YOLO, rende possibile il tracciamento combinando i rilevamenti di YOLO fotogramma per fotogramma con algoritmi dedicati al tracciamento multi-oggetto, come BoT-SORT e ByteTrack.
Grazie alla funzionalità di tracciamento integrata, il pacchetto Ultralytics e i modelli Ultralytics YOLO possono essere usati per rilevare gli oggetti in ogni fotogramma e assegnare loro ID coerenti, così da seguirli mentre si spostano, si sovrappongono, escono dall'inquadratura e vi rientrano. Questo approccio viene adottato sempre più spesso in settori come la produzione e il commercio al dettaglio, dove consente applicazioni quali i flussi di lavoro per il controllo dei difetti, il tracciamento dei flussi di inventario e il tracciamento dei clienti in negozio.
2. Tracker di OpenCV#
OpenCV è una vasta libreria di computer vision che include una raccolta di algoritmi per il tracciamento degli oggetti. La comunità OpenCV sviluppa e mantiene questa libreria dal 1999.
Anziché basarsi sul deep learning, la maggior parte di questi tracker usa metodi tradizionali di computer vision, come i filtri di correlazione e le tecniche basate su kernel (che seguono un oggetto confrontandone l'aspetto visivo, ad esempio il colore e la texture, da un fotogramma all'altro, invece di apprendere caratteristiche tramite reti neurali).
Quando usi questi algoritmi, in genere puoi prima selezionare l'oggetto da tracciare; poi, man mano che l'oggetto si sposta, il tracker cerca continuamente nei fotogrammi successivi la regione visiva più simile.

Fig. 3. Tracciamento degli oggetti con OpenCV (Fonte)
Questi metodi potrebbero non essere robusti quanto i moderni sistemi di tracciamento basati sul deep learning nelle scene complesse o affollate, ma sono ancora ampiamente usati perché sono leggeri, veloci e facili da eseguire. Inoltre, poiché questi tracker funzionano in modo efficiente sulle CPU e di solito non richiedono una GPU, sono adatti a esperimenti rapidi, all'apprendimento in aula e ai progetti amatoriali.
3. ByteTrack#
ByteTrack è uno degli algoritmi open source più popolari per il tracciamento di più oggetti. Anziché abbinare solo i rilevamenti di cui il modello è molto sicuro, usa anche quelli con un livello di confidenza più basso, che molti sistemi normalmente ignorano.
Questo gli permette di continuare a tracciare oggetti difficili da vedere per brevi periodi, ad esempio quando sono parzialmente coperti, lontani o in rapido movimento. Grazie alla sua velocità e affidabilità, ByteTrack viene comunemente usato in applicazioni come l'analisi del traffico, il tracciamento dei pedoni e il monitoraggio nel commercio al dettaglio, dove sono importanti le prestazioni in tempo reale e la coerenza degli ID.
Come accennato in precedenza, se usi i modelli Ultralytics YOLO per il rilevamento, puoi abilitare facilmente ByteTrack tramite il pacchetto Python Ultralytics. Puoi però usarlo anche in modo indipendente in pipeline personalizzate, per progetti che vanno dai prototipi di ricerca ai sistemi di produzione scritti in C++.
4. DeepSORT#
Un altro algoritmo molto usato per il tracciamento di più oggetti è DeepSORT, abbreviazione di Deep Simple Online and Real-Time Tracking. È una versione avanzata di SORT, sigla di Simple Online and Real-Time Tracking.
Come ByteTrack, SORT segue un approccio di tracciamento basato sul rilevamento. SORT si affida però a un filtro di Kalman, un modello matematico che stima la posizione futura di un oggetto in base ai suoi spostamenti passati, per prevedere dove potrebbe spostarsi ciascun oggetto.
Successivamente abbina i nuovi rilevamenti alle tracce esistenti, basandosi soprattutto sulla posizione e sulla sovrapposizione delle bounding box. SORT è quindi veloce e leggero, ma può avere difficoltà quando gli oggetti si sovrappongono, si incrociano o scompaiono brevemente dalla visuale.
DeepSORT migliora SORT aggiungendo informazioni sull’aspetto al processo di tracciamento. Oltre al movimento e alla posizione, usa un modello di re-identificazione (re-ID) basato sul deep learning, che impara come appaiono gli oggetti. Questo consente al tracker di riconoscere lo stesso oggetto tra i fotogrammi, anche quando il movimento non basta a distinguerlo dagli altri.
Per questo motivo, DeepSORT viene comunemente usato in applicazioni come la videosorveglianza e il monitoraggio delle folle, in cui le persone si sovrappongono spesso o vengono brevemente occultate. Oggi, però, è considerato un modello di riferimento classico e i metodi di tracciamento più recenti spesso ottengono prestazioni migliori nelle scene più impegnative.
5. Norfair#
Norfair è una libreria di tracciamento leggera e flessibile, pensata per non costringerti a usare una pipeline di tracciamento predefinita. Può aggiungere il tracciamento a quasi qualsiasi rilevatore, purché i risultati del rilevatore possano essere rappresentati come un insieme di punti, ad esempio i centri delle bounding box, i keypoint o dati di coordinate personalizzati.

Fig. 4. Tracciamento di oggetti nel mondo reale con Norfair (Fonte)
Questa flessibilità la rende particolarmente utile nei progetti che coinvolgono input insoliti o schemi di movimento dinamici, nei quali gli strumenti standard per il tracciamento di più oggetti potrebbero non essere sufficienti. La libreria fornisce anche funzioni di distanza integrate che permettono di controllare l'abbinamento dei rilevamenti tra i fotogrammi.
Queste funzioni di distanza misurano la somiglianza tra due punti o oggetti e offrono agli utenti il pieno controllo sulla logica di tracciamento. Norfair viene spesso usato nella robotica, nell'analisi del movimento sportivo, nella navigazione dei droni e nelle applicazioni che si basano molto sul tracciamento dei punti di riferimento della posa o dei keypoint.
6. MMTracking#
MMTracking è una toolbox open source per il tracciamento sviluppata dal team OpenMMLab, che realizza anche librerie di computer vision ampiamente usate come MMDetection. Basata su MMDetection, offre un framework flessibile per sviluppare e sperimentare sistemi di tracciamento.
Uno dei suoi maggiori punti di forza è il design modulare. Invece di vincolarti a una singola pipeline, MMTracking ti permette di configurare e sostituire diversi componenti, come i rilevatori, i moduli di tracciamento e, in alcune configurazioni, i modelli di reidentificazione. Grazie a questa flessibilità, è particolarmente popolare nella ricerca e nei progetti avanzati, in cui i team vogliono confrontare i metodi, testare nuove idee o perfezionare le pipeline di tracciamento.
7. FairMOT#
FairMOT è un framework per il tracciamento di più oggetti, progettato per seguirne molti contemporaneamente. A differenza delle pipeline tradizionali basate sul rilevamento, che eseguono prima il rilevamento e poi collegano gli oggetti tra i fotogrammi in una fase separata, FairMOT apprende insieme il rilevamento e la reidentificazione in un'unica rete.

Fig. 5. Come funziona il framework FairMOT (Fonte)
Questa configurazione congiunta aiuta a mantenere identità più coerenti, soprattutto nelle scene affollate, in cui le persone spesso si sovrappongono o si muovono rapidamente. FairMOT viene comunemente usato in scenari come il tracciamento dei pedoni e il monitoraggio delle folle, oltre che in contesti come l'analisi nel commercio al dettaglio e il monitoraggio del traffico, dove è importante tracciare molti obiettivi in tempo reale.
8. SiamMask#
SiamMask è un metodo di tracciamento di un singolo oggetto che va oltre molti altri tracker, producendo una maschera di segmentazione insieme a una bounding box. In parole semplici, non si limita a disegnare un rettangolo attorno all'obiettivo: ne delinea anche la forma a livello di pixel, una funzione utile quando l'obiettivo cambia forma, ruota o viene nascosto parzialmente.

Fig. 6. Tracciamento e segmentazione di un oggetto con SiamMask (Fonte)
Questo approccio usa un design di tracciamento siamese, in cui il tracker acquisisce una piccola immagine di riferimento dell'obiettivo dal primo fotogramma, spesso chiamata template. Poi, in ogni nuovo fotogramma, cerca in una regione più ampia e individua il punto più simile a quel template.
SiamMask amplia questa idea basata sull'abbinamento. Prevede anche una maschera dell'obiettivo a livello di pixel, così durante la riproduzione del video ottieni sia la posizione dell'oggetto sia un contorno più preciso.
Fattori chiave per scegliere uno strumento di tracciamento degli oggetti#
Oggi, nel campo dell'AI, sono disponibili diversi strumenti open source per il tracciamento degli oggetti. La scelta migliore per il tuo progetto di computer vision dipende dalle esigenze del tuo caso d'uso specifico. Ecco alcuni fattori da considerare:
- Precisione: è fondamentale nelle scene affollate o visivamente complesse, in cui il sistema di visione deve mantenere ID stabili anche in caso di sovrapposizione, occlusione o movimenti rapidi.
- Velocità: nelle applicazioni in tempo reale, come la robotica, il monitoraggio del traffico e l'analisi sportiva, la reattività può essere più importante della precisione assoluta.
- Facilità di integrazione: alcuni strumenti di tracciamento degli oggetti sono facili da integrare e funzionano con poche righe di codice, mentre altri richiedono più configurazione, impostazioni o interventi personalizzati sulla pipeline.
- Vincoli di distribuzione: l'ambiente di destinazione, ad esempio server con GPU, dispositivi edge o hardware mobile, può determinare quale approccio di tracciamento sia praticabile.
- Scalabilità: se il tuo sistema deve tracciare molti oggetti contemporaneamente o elaborare più flussi video, il tracker dovrebbe scalare in modo efficiente senza un forte calo delle prestazioni.
Ogni strumento o algoritmo di tracciamento degli oggetti risponde a esigenze diverse. In definitiva, la scelta giusta dipende dai tuoi requisiti specifici, dai vincoli di esecuzione, dalle metriche di prestazione e dal grado di personalizzazione richiesto dal tuo progetto per l'approccio di tracciamento.
Punti chiave#
Il tracciamento degli oggetti si è evoluto dalle prime tecniche artigianali agli attuali sistemi di deep learning all'avanguardia, capaci di interpretare movimento, identità e comportamento con una precisione notevole. Gli strumenti open source hanno svolto un ruolo determinante in questo progresso. Democratizzano l'accesso ad algoritmi potenti, incoraggiano la sperimentazione e permettono ai ricercatori di creare pipeline di tracciamento sofisticate senza licenze restrittive o infrastrutture complesse.
Visita la nostra community e il nostro repository GitHub per saperne di più sull'AI. Esplora le pagine delle nostre soluzioni dedicate all'AI in agricoltura e alla computer vision nella produzione. Scopri le nostre opzioni di licenza e inizia a creare il tuo modello di visione.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










