I migliori 8 strumenti e algoritmi open source per il tracciamento degli oggetti
Scopri 8 strumenti open source di primo piano per il tracciamento degli oggetti nell’analisi video in tempo reale. Scopri come funziona ciascuno e come scegliere quello più adatto al tuo progetto.

Quando un'auto passa con il semaforo rosso e al conducente viene inviato automaticamente un verbale, oppure quando un calciatore dribbla lungo il campo e la telecamera segue fluidamente l'azione, l'AI lavora silenziosamente in background. In particolare, questi sistemi si basano sulla computer vision, un sottocampo dell'AI che consente alle macchine di vedere, interpretare e comprendere le informazioni visive del mondo.
Nell'ambito della computer vision, una delle attività fondamentali alla base di queste applicazioni è il tracking degli oggetti. Viene utilizzato per identificare gli oggetti in ogni fotogramma di un video e seguirli mentre si muovono, si sovrappongono ad altri oggetti o cambiano direzione.
Oggi sono disponibili molti strumenti per il tracking degli oggetti e algoritmi, ciascuno progettato per diversi casi d'uso, requisiti di prestazioni e livelli di complessità. Alcuni si concentrano sulla velocità e possono monitorare 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 progresso di questo settore. Poiché il loro codice è accessibile pubblicamente, sviluppatori e ricercatori possono studiarne il funzionamento, migliorare i metodi esistenti e adattarli a nuove applicazioni. Questa apertura ha contribuito alla rapida evoluzione del tracking degli oggetti e ne ha facilitato l'integrazione nei sistemi del mondo reale.
In questo articolo esploreremo otto strumenti e algoritmi open source diffusi per il tracking degli oggetti. Iniziamo!
Che cos'è il tracking degli oggetti?#
Immagina una situazione in cui una guardia giurata sta guardando le riprese CCTV di un parcheggio. Decide di tenere d'occhio un'auto rossa. Mentre il video scorre, associa mentalmente un'etichetta a quell'auto e la segue ovunque vada, anche quando altre auto le passano accanto o le persone le camminano davanti.
Il tracking degli oggetti basato sull'AI è simile, ma funziona automaticamente e su larga scala. In altre parole, il tracking degli oggetti è il processo di seguire un oggetto mentre si sposta tra i fotogrammi di un video e di mantenerne coerente l'identità da un fotogramma all'altro.
In molti sistemi, il processo 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 muovono, compaiono, scompaiono o si sovrappongono, il sistema di tracking collega i rilevamenti tra i fotogrammi, così sa quale oggetto è ciascuno e dove si sposta nel tempo.

Fig. 1. Uno sguardo al tracking degli oggetti (Fonte)
Esistono due tipi comuni di tracking: il tracking di un singolo oggetto (SOT), che si concentra su un oggetto principale (come seguire solo il pallone in un video sportivo), e il tracking di più oggetti (MOT), che segue molti oggetti contemporaneamente e assegna a ciascuno un ID univoco (come monitorare tutte le auto a un incrocio trafficato).
Indipendentemente dal tipo di tracking, la maggior parte dei sistemi si basa su tre componenti fondamentali: un rilevatore per individuare gli oggetti in ogni fotogramma, un modello di movimento per prevedere come è probabile che tali oggetti si muovano e una fase di associazione per collegare i nuovi rilevamenti agli oggetti già monitorati. Questi elementi trasformano il video grezzo in informazioni significative su come gli oggetti si muovono e interagiscono nel tempo.
La necessità di strumenti open source per il tracking degli oggetti#
Prima di entrare nei dettagli, potresti chiederti: cosa rende così speciali gli strumenti e gli algoritmi open source per il tracking degli oggetti?
Gli strumenti open source hanno contribuito a rendere il tracking degli oggetti più facile da usare e più ampiamente accessibile. Poiché il codice è aperto, sviluppatori e ricercatori possono vedere esattamente come funziona un tracker, imparare da esso e adattarlo ai propri progetti, invece di trattarlo come una scatola nera.
Inoltre, beneficiano di community solide. Molti strumenti open source per il tracking sono gestiti da collaboratori attivi che aggiungono nuove funzionalità, migliorano velocità e precisione, correggono bug e mantengono gli strumenti allineati con le ricerche più recenti. Questa collaborazione continua li aiuta a rimanere affidabili e utili in diverse applicazioni.
Il costo è un altro motivo importante della loro rilevanza. Poiché gli strumenti open source sono gratuiti, studenti, startup e piccoli team possono sperimentare, creare prototipi e sviluppare sistemi reali senza preoccuparsi dei costi di licenza o degli abbonamenti.
I migliori 8 strumenti e algoritmi open source per il tracciamento degli oggetti#
Oggi è disponibile un'ampia varietà di opzioni open source per creare sistemi di tracking. Alcune sono algoritmi o modelli di tracking che puoi integrare direttamente nella tua pipeline, mentre altre sono librerie e framework che semplificano l'esecuzione, la gestione e l'integrazione di tali modelli. Insieme, coprono tutto, dalla logica di tracking fondamentale agli strumenti complementari necessari in un progetto reale.
Ora diamo un'occhiata a otto strumenti e algoritmi open source diffusi per il tracking degli oggetti.
1. Modelli Ultralytics YOLO e pacchetto Python Ultralytics#
Una delle opzioni più semplici e pratiche per il tracking degli oggetti consiste nell'utilizzare i modelli Ultralytics YOLO in combinazione con il pacchetto Python Ultralytics. I modelli Ultralytics YOLO, come Ultralytics YOLO11 e il prossimo Ultralytics YOLO26, sono modelli di computer vision che supportano diverse attività di visione, tra cui il rilevamento degli oggetti, la segmentazione delle istanze, la stima della posa e il tracking degli oggetti.

Fig. 2. Un esempio dell'uso di YOLO11 per rilevare e monitorare gli oggetti. (Fonte)
È interessante notare che i modelli in sé non eseguono il tracking degli oggetti tra i fotogrammi. Al contrario, il pacchetto Python Ultralytics, una libreria che semplifica l'esecuzione e il deployment dei modelli Ultralytics YOLO, rende possibile il tracking combinando i rilevamenti fotogramma per fotogramma di YOLO con algoritmi dedicati di tracking di più oggetti, come BoT-SORT e ByteTrack.
Grazie alla funzionalità di tracking integrata, il pacchetto Ultralytics e i modelli Ultralytics YOLO possono essere utilizzati per rilevare gli oggetti in ogni fotogramma e assegnare poi ID coerenti, così da poterli seguire mentre si muovono, si sovrappongono, escono dall'inquadratura e vi rientrano in seguito. Questo approccio viene adottato sempre più spesso in settori come la produzione e la vendita al dettaglio, consentendo applicazioni quali i flussi di lavoro per l'ispezione dei difetti, il tracking del flusso dell'inventario e il tracking dei clienti in negozio.
2. Tracker OpenCV#
OpenCV è una vasta libreria di computer vision che include una raccolta di algoritmi per il tracking degli oggetti. Questa libreria è sviluppata e mantenuta dalla community di OpenCV dal 1999.
Invece di basarsi sul deep learning, la maggior parte di questi tracker utilizza metodi tradizionali di computer vision, come filtri di correlazione e tecniche basate su kernel (che seguono un oggetto confrontandone l'aspetto visivo, ad esempio colore e texture, da un fotogramma all'altro, anziché apprendere le caratteristiche tramite reti neurali).
Quando utilizzi questi algoritmi, in genere puoi prima selezionare l'oggetto che vuoi monitorare; il tracker cerca continuamente la regione visiva più simile nei fotogrammi successivi mentre l'oggetto si muove.

Fig. 3. Tracking degli oggetti con OpenCV (Fonte)
Sebbene questi metodi possano essere meno robusti dei moderni sistemi di tracking basati sul deep learning in scene complesse o affollate, sono ancora ampiamente utilizzati perché sono leggeri, veloci e facili da eseguire. Inoltre, poiché questi tracker funzionano in modo efficiente sulle CPU e generalmente non richiedono una GPU, sono adatti a esperimenti rapidi, attività didattiche e progetti amatoriali.
3. ByteTrack#
ByteTrack è uno degli algoritmi open source più diffusi per il tracking di più oggetti. Invece di associare soltanto i rilevamenti di cui il modello è molto sicuro, utilizza anche i rilevamenti con un livello di confidenza più basso, che molti sistemi normalmente ignorano.
Questo lo aiuta a continuare a monitorare gli oggetti che sono difficili da vedere per brevi periodi, ad esempio quando sono parzialmente bloccati, lontani o si muovono rapidamente. Poiché è veloce e affidabile, ByteTrack viene comunemente utilizzato in applicazioni come l'analisi del traffico, il tracking dei pedoni e il monitoraggio dei punti vendita, dove sono importanti le prestazioni in tempo reale e gli ID coerenti.
Come accennato in precedenza, se utilizzi i modelli Ultralytics YOLO per il rilevamento, puoi abilitare facilmente ByteTrack tramite il pacchetto Python Ultralytics. Tuttavia, può essere utilizzato anche in modo indipendente in pipeline personalizzate, risultando adatto a tutto, dai prototipi di ricerca ai sistemi di produzione scritti in C++.
4. DeepSORT#
Un altro algoritmo ampiamente utilizzato per il tracking di più oggetti è DeepSORT, abbreviazione di tracking semplice online e in tempo reale basato sul deep learning (Deep Simple Online and Real-Time Tracking). È una versione avanzata di SORT, che sta per tracking semplice online e in tempo reale (Simple Online and Real-Time Tracking).
Come ByteTrack, SORT segue un approccio di tracking basato sul rilevamento. Tuttavia, SORT si basa su un filtro di Kalman, un modello matematico che stima la posizione futura di un oggetto in base al suo movimento passato, per prevedere dove è probabile che si sposti ciascun oggetto.
Successivamente associa i nuovi rilevamenti alle tracce esistenti, basandosi principalmente sulla posizione e sulla sovrapposizione dei riquadri delimitatori. Questo rende SORT 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 tracking. Oltre a movimento e posizione, utilizza un modello di re-identificazione, o re-id, basato sul deep learning, che apprende l'aspetto degli oggetti. Ciò consente al tracker di riconoscere lo stesso oggetto tra i fotogrammi, anche quando il movimento non è sufficiente a distinguerlo dagli altri.
Per questo motivo, DeepSORT viene comunemente utilizzato in applicazioni come la videosorveglianza e il monitoraggio delle folle, dove le persone spesso si sovrappongono o vengono brevemente occluse. Tuttavia, oggi è considerato una baseline classica e i metodi di tracking più recenti spesso ottengono prestazioni migliori nelle scene più impegnative.
5. Norfair#
Norfair è una libreria di tracking leggera progettata per essere flessibile, invece di vincolarti a una pipeline di tracking fissa. Può aggiungere il tracking a quasi qualsiasi rilevatore, purché gli output del rilevatore possano essere rappresentati come un insieme di punti, ad esempio centri dei riquadri delimitatori, keypoint o dati di coordinate personalizzati.

Fig. 4. Tracking degli oggetti nel mondo reale con Norfair (Fonte)
Questa flessibilità lo rende particolarmente efficace per i progetti che coinvolgono input insoliti o schemi di movimento dinamici, nei quali gli strumenti standard per il tracking di più oggetti potrebbero non essere sufficienti. La libreria offre anche funzioni di distanza integrate per controllare il modo in cui i rilevamenti vengono associati tra i fotogrammi.
Queste funzioni di distanza misurano quanto sono simili due punti o oggetti, offrendo agli utenti il pieno controllo sulla logica di tracking. Norfair viene spesso utilizzato nella robotica, nell'analisi del movimento sportivo, nella navigazione dei droni e nelle applicazioni che si basano ampiamente sul tracking dei landmark della posa o dei keypoint.
6. MMTracking#
MMTracking è un toolbox open source per il tracking sviluppato dal team OpenMMLab, che è anche alla base di librerie di computer vision ampiamente utilizzate come MMDetection. Costruito sopra MMDetection, offre un framework flessibile per sviluppare e sperimentare con i sistemi di tracking.
Uno dei suoi maggiori punti di forza è il design modulare. Invece di vincolarti a una singola pipeline, MMTracking ti consente di configurare e sostituire diversi componenti, come rilevatori, moduli di tracking e, in alcune configurazioni, modelli di re-identificazione. Grazie a questa flessibilità, è particolarmente diffuso nella ricerca e nei progetti avanzati in cui i team desiderano confrontare i metodi, testare nuove idee o ottimizzare le pipeline di tracking.
7. FairMOT#
FairMOT è un framework per il tracking di più oggetti progettato per monitorare molti oggetti contemporaneamente. A differenza delle pipeline tradizionali di tracking 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 re-identificazione in un'unica rete.

Fig. 5. Come funziona il framework FairMOT (Fonte)
Questa configurazione congiunta lo aiuta a mantenere identità più coerenti, soprattutto nelle scene affollate in cui le persone spesso si sovrappongono o si muovono rapidamente. FairMOT viene comunemente utilizzato in scenari come il tracking dei pedoni e il monitoraggio delle folle, oltre che in contesti quali l'analisi dei dati nei punti vendita e il monitoraggio del traffico, dove è importante seguire molti target in tempo reale.
8. SiamMask#
SiamMask è un metodo di tracking di un singolo oggetto che va oltre molti tracker producendo una maschera di segmentazione insieme a un riquadro delimitatore. In parole semplici, non si limita a disegnare un rettangolo attorno al target. Ne delinea anche la forma a livello di pixel, cosa utile quando il target cambia forma, ruota o viene parzialmente nascosto.

Fig. 6. Tracking e segmentazione di un oggetto con SiamMask (Fonte)
Questo approccio utilizza un design di tracking siamese, nel quale il tracker acquisisce prima una piccola visuale di riferimento del target dal primo fotogramma, spesso chiamata template. Poi, in ogni nuovo fotogramma, cerca in una regione più ampia e individua il punto con la maggiore somiglianza a quel template.
SiamMask si basa su questa idea fondata sull'associazione. Prevede anche una maschera del target a livello di pixel, così ottieni sia la posizione dell'oggetto sia un contorno più preciso mentre il video scorre.
Fattori chiave nella scelta di uno strumento per il tracking degli oggetti#
Con le numerose opzioni di strumenti open source per il tracking degli oggetti oggi disponibili nell'ambito dell'AI, l'opzione migliore per il tuo progetto di computer vision dipende dai requisiti specifici del tuo caso d'uso. Ecco alcuni fattori da considerare:
- Precisione: È particolarmente importante nelle scene affollate o visivamente complesse, in cui il sistema di visione deve mantenere ID stabili anche in presenza di sovrapposizioni, occlusioni o movimenti rapidi.
- Velocità: Per applicazioni in tempo reale come robotica, monitoraggio del traffico e analisi dello sport, la reattività può essere più importante della precisione assoluta.
- Facilità di integrazione: Alcuni strumenti per il tracking degli oggetti sono facili da integrare e funzionano con poche righe di codice, mentre altri richiedono maggiore configurazione, preparazione o lavoro su pipeline personalizzate.
- Vincoli di deployment: L'ambiente di destinazione, come server con GPU, dispositivi edge o hardware mobile, può determinare quale approccio di tracking sia pratico.
- Scalabilità: Se il tuo sistema deve monitorare molti oggetti contemporaneamente o elaborare più flussi video, il tracker dovrebbe scalare in modo efficiente senza una forte riduzione delle prestazioni.
Ogni strumento o algoritmo per il tracking degli oggetti ha uno scopo diverso. In definitiva, la scelta giusta dipende dai tuoi requisiti specifici, dai vincoli di runtime, dalle metriche di prestazione e dal livello di personalizzazione richiesto dal tuo progetto per l'approccio di tracking.
Punti chiave#
Il tracking degli oggetti si è evoluto dalle prime tecniche progettate manualmente agli attuali sistemi di deep learning all'avanguardia, capaci di interpretare movimento, identità e comportamento con una precisione impressionante. Gli strumenti open source sono stati una forza trainante di questo progresso. Democratizzano l'accesso ad algoritmi potenti, incoraggiano la sperimentazione e consentono ai ricercatori di creare pipeline di tracking sofisticate senza licenze restrittive o infrastrutture complesse.
Visita la nostra community e il nostro repository GitHub per saperne di più sull'AI. Esplora le nostre pagine sulle soluzioni per l'AI nell'agricoltura e la computer vision nella produzione. Scopri le nostre opzioni di licenza e inizia a creare il tuo modello di visione.









