Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Impostazioni dei cookie
Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Scoprite come il modello Ultralytics YOLOv8 può essere utilizzato per la stima della velocità nei vostri progetti di computer vision. Provatelo voi stessi con un semplice esempio di codifica.
Probabilmente tutti abbiamo visto i cartelli stradali con i limiti di velocità. Alcuni di noi potrebbero anche aver ricevuto una notifica automatica di violazione dei limiti di velocità per posta o per e-mail. I sistemi di gestione del traffico basati sull'intelligenza artificiale (AI) possono segnalare automaticamente le violazioni dei limiti di velocità grazie alla computer vision. I filmati in tempo reale catturati dalle telecamere ai semafori e sulle autostrade vengono utilizzati per stimare la velocità e rafforzare la sicurezza stradale.
La stima della velocità non si limita alla sicurezza in autostrada. Può essere utilizzata nello sport, nei veicoli autonomi e in varie altre applicazioni. In questo articolo, discuteremo come utilizzare il modello YOLOv8 di Ultralytics per la stima della velocità nei vostri progetti di computer vision. Inoltre, illustreremo passo dopo passo un esempio di codifica, in modo che possiate provarlo voi stessi. Iniziamo!
La stima della velocità facilita la gestione del traffico
Secondo l'Organizzazione Mondiale della Sanità (OMS), circa 1,19 milioni di persone muoiono ogni anno a causa di incidenti stradali dovuti all'eccesso di velocità. Inoltre, altri 20-50 milioni di persone subiscono lesioni non mortali, molte delle quali causano disabilità. L'importanza della sicurezza del traffico non può essere sopravvalutata, soprattutto se la stima della velocità aiuta a prevenire gli incidenti, a salvare vite umane e a mantenere le nostre strade sicure ed efficienti.
La stima della velocità con la computer vision prevede il rilevamento e il tracciamento degli oggetti nei fotogrammi video per calcolare la velocità con cui si muovono. Algoritmi come YOLOv8 sono in grado di identificare e tracciare oggetti come i veicoli in fotogrammi consecutivi. Il sistema misura la distanza percorsa da questi oggetti utilizzando telecamere calibrate o punti di riferimento per misurare le distanze reali. Cronometrando il tempo impiegato dagli oggetti per spostarsi tra due punti, il sistema calcola la loro velocità utilizzando il rapporto distanza-tempo.
Figura 1. Stima della velocità con il modello YOLOv8 di Ultralytics
Oltre a catturare gli automobilisti, i sistemi di stima della velocità integrati nell'intelligenza artificiale possono raccogliere dati per fare previsioni sul traffico. Queste previsioni possono supportare le attività di gestione del traffico, come l'ottimizzazione dei tempi dei segnali e l'allocazione delle risorse. Le informazioni sui modelli di traffico e sulle cause di congestione possono essere utilizzate per pianificare nuove strade per ridurre la congestione del traffico.
Applicazioni della stima della velocità in altri settori
Le applicazioni della stima della velocità vanno oltre il monitoraggio delle strade. Può essere utile anche per monitorare le prestazioni degli atleti, aiutare i veicoli autonomi a capire la velocità degli oggetti che si muovono intorno a loro, rilevare comportamenti sospetti, ecc. Ovunque sia possibile utilizzare una telecamera per misurare la velocità di un oggetto, è possibile utilizzare la stima della velocità mediante la computer vision.
Ecco alcuni esempi di utilizzo della stima della velocità:
Le auto autonome di Tesla utilizzano una stima della velocità basata sulla visione per evitare le collisioni.
La computer vision e la stima della velocità saranno utilizzate ai Giochi Olimpici del 2024 per migliorare l'analisi delle prestazioni nelle gare di atletica leggera.
Le città intelligenti stanno studiando l'analisi dell'andatura dei pedoni per monitorare la velocità di camminata e aumentare la mobilità e la sicurezza urbana. Questi sistemi possono avvisare i conducenti della presenza dei pedoni e prevenire gli incidenti.
I sistemi di monitoraggio del comportamento animale utilizzano la stima della velocità per tracciare il movimento degli animali e rilevare i segni di disagio o malattia.
Figura 2. La stima della velocità può misurare la velocità di camminata di una persona.
I vantaggi della stima della velocità con la computer vision
I sistemi di stima della velocità basati sulla visione stanno sostituendo i metodi tradizionali basati sui sensori grazie alla loro maggiore precisione, economicità e flessibilità. A differenza dei sistemi che si basano su sensori costosi come il LiDAR, la computer vision utilizza telecamere standard per monitorare e analizzare la velocità in tempo reale. Le soluzioni di computer vision per la stima della velocità possono essere perfettamente integrate con le infrastrutture di traffico esistenti. Inoltre, questi sistemi possono essere costruiti per eseguire una serie di compiti complessi, come l'identificazione del tipo di veicolo e l'analisi dei modelli di traffico, per migliorare il flusso generale del traffico e la sicurezza.
Provate voi stessi: Stima della velocità con YOLOv8
Ora che abbiamo una chiara comprensione della stima della velocità e delle sue applicazioni, diamo un'occhiata più da vicino a come è possibile integrare la stima della velocità nei progetti di computer vision attraverso il codice. Rileveremo i veicoli in movimento e stimeremo la loro velocità utilizzando il modello YOLOv8.
Questo esempio utilizza un video di automobili su una strada scaricato da Internet. È possibile utilizzare lo stesso video o qualsiasi altro video pertinente. Il modello YOLOv8 identifica il centro di ogni veicolo e calcola la sua velocità in base alla velocità con cui questo centro attraversa una linea orizzontale nel fotogramma del video.
Figura 3. Video di ingresso di auto su una strada
Prima di immergerci, è importante notare che, in questo caso, il calcolo della distanza è approssimativo e si basa sulla distanza euclidea. La calibrazione della telecamera non viene presa in considerazione e quindi la stima della velocità potrebbe non essere del tutto accurata. Inoltre, la velocità stimata può variare a seconda della velocità della GPU.
Fase 1: Si inizia installando il pacchetto Ultralytics. Aprite il prompt dei comandi o il terminale ed eseguite il comando mostrato di seguito.
Consultate la nostra guida all'installazione di Ultralytics per le istruzioni passo-passo e le best practice sul processo di installazione. Se si verificano problemi durante l'installazione dei pacchetti necessari per YOLOv8, la nostra guida sui problemi comuni contiene soluzioni e suggerimenti utili.
Fase 2: Successivamente, importeremo le librerie necessarie. La libreria OpenCV ci aiuterà a gestire l'elaborazione video.
Fase 3: Quindi, possiamo caricare il modello YOLOv8 e recuperare i nomi delle classi che il modello è in grado di rilevare.
Consultate tutti i modelli che supportiamo per capire quale sia il modello più adatto al vostro progetto.
Fase 4: in questa fase, apriremo il file video di ingresso utilizzando il modulo VideoCapture di OpenCV. Estrarremo anche la larghezza, l'altezza e i fotogrammi al secondo (fps) del video.
Fase 5: qui si inizializzerà il video writer per salvare i risultati finali della stima della velocità. Il file video di output verrà salvato come "speed_estimation.avi".
Fase6: Successivamente, possiamo definire i punti della linea per la stima della velocità. Per il nostro video di input, questa linea sarà posizionata orizzontalmente al centro del fotogramma. Si può giocare con i valori per posizionare la linea nelle posizioni più adatte, a seconda del video in ingresso.
Fase 7: ora possiamo inizializzare l'oggetto di stima della velocità utilizzando i punti delle linee e i nomi delle classi definiti.
Fase 8: Il nucleo dello script elabora il video fotogramma per fotogramma. Leggiamo ogni fotogramma e rileviamo e tracciamo gli oggetti. La velocità degli oggetti tracciati viene stimata e il fotogramma annotato viene scritto nel video di uscita.
Fase 9: infine, si rilasciano gli oggetti di acquisizione video e di scrittura e si chiudono le finestre di OpenCV.
Passo 10: Salvare lo script. Se si lavora dal terminale o dal prompt dei comandi, eseguire lo script con il seguente comando:
Se il codice viene eseguito correttamente, il file video in uscita avrà il seguente aspetto.
Figura 4. L'output della stima della velocità con YOLOv8.
Le sfide della stima della velocità basata sulla visione
È inoltre importante comprendere le sfide che comporta l'implementazione della stima della velocità con la computer vision. Condizioni meteorologiche sfavorevoli come pioggia, nebbia o neve possono creare problemi al sistema, in quanto possono ostruire la visibilità della strada. Allo stesso modo, le occlusioni causate da altri veicoli o oggetti possono rendere difficile per questi sistemi tracciare e stimare con precisione la velocità di un veicolo target. Anche le condizioni di scarsa illuminazione, che causano ombre o riflessi del sole, possono complicare ulteriormente il compito di stimare la velocità.
Un'altra sfida riguarda la potenza di calcolo. Per stimare la velocità in tempo reale, dobbiamo elaborare molti dati visivi provenienti da telecamere del traffico di alta qualità. La vostra soluzione potrebbe richiedere un hardware costoso per gestire tutto questo e garantire che tutto funzioni rapidamente senza ritardi.
C'è poi la questione della privacy. I dati raccolti da questi sistemi possono includere i dettagli del veicolo di un individuo, come la marca, il modello e le informazioni sulla targa, che vengono raccolti senza il suo consenso. Alcune moderne telecamere HD possono persino catturare immagini degli occupanti dell'auto. Questa raccolta di dati può sollevare seri problemi etici e legali che devono essere gestiti con la massima attenzione.
Accelerare verso il futuro
L'utilizzo del modello Ultralytics YOLOv8 per la stima della velocità offre una soluzione flessibile ed efficiente per molti usi. Anche se ci sono delle sfide, come la precisione in condizioni difficili e la gestione della privacy, i vantaggi sono molteplici. La stima della velocità basata sulla visione artificiale è più economica, adattabile e precisa rispetto ai metodi precedenti. È utile in vari settori come i trasporti, lo sport, la sorveglianza e le auto a guida autonoma. Con tutti i vantaggi e le applicazioni, è destinata a diventare una parte fondamentale dei futuri sistemi intelligenti.
Interessato all'intelligenza artificiale? Entra in contatto con la nostra comunità! Esplorate il nostro repository GitHub per saperne di più su come stiamo usando l'IA per creare soluzioni innovative in vari settori come la sanità e l'agricoltura. Collaborate, innovate e imparate con noi! 🚀