Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Vision AI

I migliori 8 strumenti e algoritmi open source di tracciamento oggetti

Esplora 8 migliori strumenti open-source di tracciamento oggetti per l'analisi video in tempo reale. Scopri come funziona ciascuno e come scegliere quello giusto per il tuo progetto.

ABAbirami Vina
5 min read
Strumenti e algoritmi open-source di tracciamento oggetti

Quando un'auto passa col semaforo rosso e viene inviata una multa automatica al conducente, o quando un calciatore dribbla sul campo e la telecamera segue fluidamente l'azione, l'AI sta lavorando silenziosamente in sottofondo. 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 dal mondo.

All'interno della computer vision, uno dei compiti chiave dietro queste applicazioni è il tracciamento degli oggetti. Viene utilizzato per identificare gli oggetti in ogni fotogramma di un video e quindi seguirli mentre si muovono, si sovrappongono ad altri o cambiano direzione.

Esistono oggi molti strumenti di tracciamento degli oggetti e algoritmi disponibili, ognuno progettato per casi d'uso, esigenze di prestazioni e livelli di complessità diversi. Alcuni si concentrano sulla velocità e possono tracciare decine di oggetti in tempo reale, mentre altri danno priorità alla precisione o alla stabilità a lungo termine in condizioni difficili come occlusione, movimento rapido o scarsa illuminazione.

In particolare, i progetti open source hanno svolto un ruolo importante nell'avanzamento di questo campo. Poiché il loro codice è accessibile apertamente, sviluppatori e ricercatori possono studiare come funzionano, migliorare i metodi esistenti e adattarli a nuove applicazioni. Questa apertura ha aiutato il tracciamento degli oggetti a evolversi rapidamente e a diventare più facile da integrare nei sistemi del mondo reale.

In questo articolo esploreremo otto strumenti e algoritmi di tracciamento degli oggetti open source molto diffusi. Iniziamo!

Link to this sectionCos'è il tracciamento degli oggetti?#

Immagina uno scenario in cui una guardia giurata sta guardando il filmato di sicurezza di un parcheggio. Decide di tenere d'occhio un'auto rossa. Mentre il video viene riprodotto, etichetta mentalmente quell'auto e continua a tracciarla ovunque vada, anche quando altre auto passano o persone camminano davanti ad essa.

Il tracciamento degli oggetti basato sull'AI è simile, ma opera automaticamente e su larga scala. In altre parole, il tracciamento degli oggetti è il processo di seguire un oggetto mentre si muove attraverso i fotogrammi di un video e mantenere la sua identità coerente da un fotogramma all'altro.

In molti sistemi, questo inizia con il rilevamento degli oggetti, che trova ed etichetta oggetti come persone, veicoli o segnali stradali in ogni fotogramma. Quindi, mentre questi oggetti si muovono, appaiono, scompaiono o si sovrappongono, il sistema di tracciamento collega i rilevamenti tra i fotogrammi, in modo da sapere quale oggetto è quale e dove va ciascuno nel tempo.

Uno sguardo al tracking degli oggetti

Fig 1. Uno sguardo al tracciamento degli oggetti (Fonte)

Esistono due tipi comuni di tracciamento: il tracciamento di un singolo oggetto (SOT), che si concentra su un oggetto principale (come tracciare solo la palla in un video sportivo), e il tracciamento multi-oggetto (MOT), che segue molti oggetti contemporaneamente e assegna a ciascuno un ID univoco (come tracciare tutte le auto in un incrocio trafficato).

Indipendentemente dal tipo di tracciamento, la maggior parte dei sistemi si basa su tre componenti fondamentali: un rilevatore per trovare oggetti in ogni fotogramma, un modello di movimento per prevedere come è probabile che quegli oggetti si muovano e una fase di abbinamento per collegare nuovi rilevamenti con oggetti precedentemente tracciati. Queste parti trasformano il video grezzo in informazioni significative su come gli oggetti si muovono e interagiscono nel tempo.

Link to this sectionLa necessità di strumenti di tracciamento degli oggetti open source#

Prima di addentrarci nei dettagli, potresti chiederti: cosa rende così speciali gli strumenti e gli algoritmi di tracciamento degli oggetti open source?

Gli strumenti open source hanno svolto un ruolo importante nel rendere il tracciamento degli oggetti più facile da usare e più ampiamente disponibile. 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.

Beneficiano inoltre di comunità forti. Molti strumenti di tracciamento open source sono gestiti da collaboratori attivi che aggiungono nuove funzionalità, migliorano velocità e precisione, correggono bug e mantengono gli strumenti allineati con la ricerca più recente. Questa collaborazione continua li aiuta a rimanere affidabili e utili in diverse applicazioni.

Il costo è un altro grande motivo per cui sono importanti. Poiché gli strumenti open source sono gratuiti, studenti, startup e piccoli team possono sperimentare, prototipare e costruire sistemi reali senza preoccuparsi di licenze o costi di abbonamento.

Link to this sectionI migliori 8 strumenti e algoritmi open source di tracciamento oggetti#

Oggi è disponibile un'ampia varietà di opzioni open source per la creazione di sistemi di tracciamento. Alcuni sono algoritmi o modelli di tracciamento che puoi collegare direttamente alla tua pipeline, mentre altri sono librerie e framework che rendono più facile eseguire, gestire e integrare quei modelli. Insieme, coprono tutto, dalla logica di tracciamento principale agli strumenti di supporto necessari in un progetto reale.

Successivamente, diamo un'occhiata a otto strumenti e algoritmi di tracciamento degli oggetti open source popolari.

Link to this sectionModelli Ultralytics YOLO e pacchetto Python Ultralytics#

Una delle opzioni più semplici e pratiche per il tracciamento degli oggetti è 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 una vasta gamma di attività di visione, tra cui il rilevamento degli oggetti, la segmentazione delle istanze, la stima della posa e il tracciamento degli oggetti.

Un esempio di utilizzo di YOLO11 per rilevare e tracciare oggetti

Fig 2. Un esempio di utilizzo di YOLO11 per rilevare e tracciare oggetti. (Fonte)

È interessante notare che i modelli stessi non tracciano gli oggetti tra i fotogrammi. Invece, il pacchetto Python Ultralytics, una libreria che semplifica l'esecuzione e il deployment dei modelli Ultralytics YOLO, rende possibile il tracciamento combinando i rilevamenti fotogramma per fotogramma di YOLO con algoritmi dedicati di tracciamento multi-oggetto come BoT-SORT e ByteTrack.

Grazie alla sua funzionalità di tracciamento integrata, il pacchetto Ultralytics e i modelli Ultralytics YOLO possono essere utilizzati per rilevare oggetti in ogni fotogramma e quindi assegnare ID coerenti in modo che possano essere seguiti mentre si muovono, si sovrappongono, lasciano il fotogramma e rientrano in seguito. Questo approccio viene sempre più adottato in settori come la produzione e la vendita al dettaglio, consentendo applicazioni come flussi di lavoro di ispezione dei difetti, tracciamento del flusso di inventario e tracciamento dei clienti in negozio.

Link to this sectionTracker OpenCV#

OpenCV è una vasta libreria di computer vision che include una raccolta di algoritmi di tracciamento degli oggetti. Questa libreria è stata sviluppata e mantenuta dalla comunità OpenCV dal 1999.

Invece di fare affidamento 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 abbinando il suo aspetto visivo, come colore e consistenza, da un fotogramma all'altro, piuttosto che apprendere caratteristiche utilizzando reti neurali).

Quando si utilizzano questi algoritmi, in genere puoi prima selezionare l'oggetto che desideri tracciare e il tracker cerca continuamente la regione visiva più simile nei fotogrammi successivi mentre l'oggetto si muove.

Tracking di oggetti utilizzando OpenCV

Fig 3. Tracciamento di oggetti tramite OpenCV (Fonte)

Sebbene questi metodi potrebbero non essere robusti quanto i moderni sistemi di tracciamento 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 vengono eseguiti in modo efficiente su CPU e di solito non richiedono una GPU, funzionano bene per esperimenti rapidi, apprendimento in aula e progetti hobbistici.

Link to this sectionByteTrack#

ByteTrack è uno degli algoritmi open source più popolari per il tracciamento multi-oggetto. Invece di abbinare solo i rilevamenti di cui il modello è molto sicuro, utilizza anche rilevamenti a bassa confidenza che molti sistemi normalmente ignorano.

Questo lo aiuta a tenere traccia di oggetti che sono brevemente difficili da vedere, come quando sono parzialmente bloccati, lontani o si muovono rapidamente. Poiché è veloce e affidabile, ByteTrack è comunemente usato in applicazioni come l'analisi del traffico, il tracciamento dei pedoni e il monitoraggio della vendita al dettaglio, dove le prestazioni in tempo reale e gli ID coerenti sono importanti.

Come accennato in precedenza, se stai utilizzando i modelli Ultralytics YOLO per il rilevamento, è facile abilitare ByteTrack tramite il pacchetto Python Ultralytics. Ma può anche essere utilizzato indipendentemente in pipeline personalizzate, rendendolo adatto a tutto, dai prototipi di ricerca ai sistemi di produzione scritti in C++.

Link to this sectionDeepSORT#

Un altro algoritmo ampiamente utilizzato per il tracciamento multi-oggetto è DeepSORT, abbreviazione di Deep Simple Online and Real-Time Tracking. È una versione avanzata di SORT, che sta per Simple Online and Real-Time Tracking.

Similmente a ByteTrack, SORT segue un approccio di tracciamento basato sul rilevamento (tracking-by-detection). Tuttavia, SORT si affida a 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 muova ogni oggetto successivamente.

Quindi abbina i nuovi rilevamenti ai percorsi esistenti, principalmente in base alla posizione e alla sovrapposizione del bounding box. Questo rende SORT veloce e leggero, ma può avere difficoltà quando gli oggetti si sovrappongono, incrociano i percorsi o scompaiono brevemente dalla vista.

DeepSORT migliora SORT aggiungendo informazioni sull'aspetto al processo di tracciamento. Oltre al movimento e alla posizione, utilizza un modello di ri-identificazione (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 per distinguerlo dagli altri.

Per questo motivo, DeepSORT è comunemente utilizzato in applicazioni come la sorveglianza e il monitoraggio delle folle, dove le persone si sovrappongono spesso o vengono brevemente occluse. Tuttavia, oggi è considerato un baseline classico e i metodi di tracciamento più recenti ottengono spesso prestazioni migliori in scene più impegnative.

Link to this sectionNorfair#

Norfair è una libreria di tracciamento leggera progettata per essere flessibile, piuttosto che costringerti a una pipeline di tracciamento fissa. Può aggiungere il tracciamento a quasi tutti i rilevatori, a condizione che gli output del rilevatore possano essere rappresentati come un insieme di punti, come centri di bounding box, keypoint o dati di coordinate personalizzati.

Tracking di oggetti nel mondo reale utilizzando Norfair

Fig 4. Tracciamento di oggetti nel mondo reale tramite Norfair (Fonte)

Questa flessibilità lo rende particolarmente efficace per progetti che coinvolgono input insoliti o schemi di movimento dinamici in cui gli strumenti di tracciamento multi-oggetto standard potrebbero non essere sufficienti. La libreria fornisce anche funzioni di distanza integrate per controllare come i rilevamenti vengono abbinati tra i fotogrammi.

Queste funzioni di distanza misurano quanto sono simili due punti o oggetti, offrendo agli utenti il controllo completo sulla logica di tracciamento. Norfair è spesso utilizzato nella robotica, nell'analisi del movimento sportivo, nella navigazione di droni e nelle applicazioni che si basano pesantemente sul tracciamento di landmark o keypoint della posa.

Link to this sectionMMTracking#

MMTracking è una toolbox di tracciamento open source del team OpenMMLab, che è anche dietro librerie di computer vision ampiamente utilizzate come MMDetection. Costruito sopra MMDetection, fornisce un framework flessibile per sviluppare e sperimentare sistemi di tracciamento.

Uno dei suoi maggiori punti di forza è il design modulare. Invece di bloccarti in un'unica pipeline, MMTracking ti consente di configurare e scambiare diversi componenti, come rilevatori, moduli di tracciamento e, in alcune configurazioni, modelli di ri-identificazione. Grazie a questa flessibilità, è particolarmente popolare nella ricerca e in progetti avanzati in cui i team vogliono confrontare metodi, testare nuove idee o mettere a punto pipeline di tracciamento.

Link to this sectionFairMOT#

FairMOT è un framework di tracciamento multi-oggetto progettato per tracciare molti oggetti contemporaneamente. A differenza delle tradizionali pipeline di tracciamento basate sul rilevamento che eseguono prima il rilevamento e poi collegano gli oggetti tra i fotogrammi come passaggio separato, FairMOT apprende il rilevamento e la ri-identificazione insieme in un'unica rete.

Come funziona il framework FairMOT

Fig 5. Come funziona il framework FairMOT (Fonte)

Questa configurazione congiunta lo aiuta a mantenere identità più coerenti, specialmente in scene affollate dove le persone si sovrappongono spesso o si muovono rapidamente. FairMOT è comunemente utilizzato in scenari come il tracciamento dei pedoni e il monitoraggio delle folle, ed è anche applicato in contesti come l'analisi della vendita al dettaglio e il monitoraggio del traffico, dove è importante tracciare molti target in tempo reale.

Link to this sectionSiamMask#

SiamMask è un metodo di tracciamento a singolo oggetto che fa un passo avanti rispetto a molti tracker producendo una maschera di segmentazione insieme a un bounding box. In parole povere, non disegna solo un rettangolo attorno al target. Delinea anche la forma dell'oggetto a livello di pixel, il che può essere utile quando il target cambia forma, ruota o diventa parzialmente nascosto.

Tracking e segmentazione di un oggetto utilizzando SiamMask

Fig 6. Tracciamento e segmentazione di un oggetto tramite SiamMask (Fonte)

Questo approccio utilizza un design di tracciamento Siamese, che prevede che il tracker prenda prima una piccola vista di riferimento del target dal primo fotogramma, spesso chiamata template. Quindi, in ogni nuovo fotogramma, cerca una regione più ampia e trova il punto con la massima somiglianza con quel template.

SiamMask si basa su questa idea basata sull'abbinamento. Prevede anche una maschera a livello di pixel per il target, così ottieni sia la posizione dell'oggetto che un contorno più preciso mentre il video viene riprodotto.

Link to this sectionFattori chiave nella scelta di uno strumento di tracciamento degli oggetti#

Con le varie opzioni di strumenti di tracciamento degli oggetti open source disponibili oggi nello spazio AI, l'opzione migliore per il tuo progetto di computer vision dipende da ciò che richiede il tuo caso d'uso specifico. Ecco alcuni fattori da considerare:

  • Precisione: Questo è più significativo in scene affollate o visivamente complesse, dove il sistema di visione deve mantenere ID stabili anche durante sovrapposizioni, occlusioni o movimenti rapidi.
  • Velocità: Per applicazioni in tempo reale come robotica, monitoraggio del traffico e analisi sportiva, la reattività può contare più di una precisione perfetta.
  • Facilità di integrazione: Alcuni strumenti di tracciamento degli oggetti sono facili da usare plug-and-play e funzionano con poche righe di codice, mentre altri richiedono più configurazione, impostazione o lavoro di pipeline personalizzato.
  • Vincoli di deployment: L'ambiente target, come server GPU, dispositivi edge o hardware mobile, può determinare quale approccio di tracciamento sia pratico.
  • Scalabilità: Se il tuo sistema deve tracciare molti oggetti contemporaneamente o elaborare più flussi video, il tracker dovrebbe scalare in modo efficiente senza un grande calo delle prestazioni.

Ogni strumento o algoritmo di tracciamento degli oggetti serve a uno scopo diverso. In definitiva, la scelta giusta dipende dai tuoi requisiti specifici, dai vincoli di runtime, dalle metriche di prestazioni e da quanto personalizzabile deve essere l'approccio di tracciamento per il tuo progetto.

Link to this sectionPunti chiave#

Il tracciamento degli oggetti si è evoluto dalle prime tecniche artigianali ai sistemi di deep learning allo stato dell'arte di oggi che interpretano movimento, identità e comportamento con una precisione impressionante. Gli strumenti open source sono stati una forza trainante dietro questo progresso. Democratizzano l'accesso a potenti algoritmi, incoraggiano la sperimentazione e consentono ai ricercatori di costruire sofisticate pipeline di tracciamento senza licenze restrittive o infrastrutture pesanti.

Dai un'occhiata alla nostra comunità e al nostro repository GitHub per saperne di più sull'AI. Esplora le nostre pagine di soluzioni sull'AI in agricoltura e sulla computer vision nella produzione. Scopri le nostre opzioni di licenza e inizia a costruire il tuo modello di visione.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning