Ultralytics YOLO27:
Ultralytics YOLO

Ultralytics YOLOv8 per la stima della velocità nei progetti di computer vision

Scopri come il modello Ultralytics YOLOv8 può essere utilizzato per la stima della velocità nei tuoi progetti di computer vision. Provalo tu stesso con un semplice esempio di codice.

ABAbirami Vina8 min read
Ultralytics YOLOv8 per la stima della velocità nei progetti di computer vision

Probabilmente abbiamo visto tutti i segnali stradali con i limiti di velocità. Alcuni di noi potrebbero persino aver ricevuto per posta o via e-mail una notifica automatica per una violazione del limite di velocità. I sistemi di gestione del traffico basati sull'intelligenza artificiale (AI) possono segnalare automaticamente le violazioni dei limiti di velocità grazie alla computer vision. Le riprese in tempo reale acquisite dalle telecamere ai semafori e sulle autostrade vengono utilizzate per stimare la velocità e migliorare la sicurezza stradale.

La stima della velocità non si limita alla sicurezza autostradale. Può essere utilizzata nello sport, nei veicoli autonomi e in numerose altre applicazioni. In questo articolo parleremo di come utilizzare il modello Ultralytics YOLOv8 per la stima della velocità nei tuoi progetti di computer vision. Ti guideremo inoltre passo dopo passo attraverso un esempio di codice, così potrai provarlo di persona. Iniziamo!

La stima della velocità semplifica la gestione del traffico#

Secondo l'Organizzazione Mondiale della Sanità (WHO), ogni anno circa 1,19 milioni di persone muoiono in incidenti stradali a causa dell'eccesso di velocità. Inoltre, altre 20-50 milioni di persone riportano lesioni non mortali, molte delle quali causano disabilità. L'importanza della sicurezza stradale non può essere sottovalutata, soprattutto perché la stima della velocità aiuta a prevenire gli incidenti, salvare vite e mantenere le nostre strade sicure ed efficienti.

La stima della velocità mediante computer vision consiste nel rilevare e tracciare gli oggetti nei fotogrammi video per calcolare la velocità con cui si muovono. Algoritmi come Ultralytics YOLOv8 possono identificare e tracciare oggetti come i veicoli attraverso fotogrammi consecutivi. Il sistema misura la distanza percorsa da questi oggetti utilizzando telecamere calibrate o punti di riferimento per stimare le distanze nel mondo reale. Misurando il tempo impiegato dagli oggetti per spostarsi tra due punti, il sistema calcola la velocità usando il rapporto tra distanza e tempo.

Stima della velocità utilizzando il modello Ultralytics YOLOv8

Fig. 1. Stima della velocità utilizzando il modello Ultralytics YOLOv8.

Oltre a individuare chi supera i limiti di velocità, i sistemi di stima della velocità integrati con l'AI possono raccogliere dati per fare previsioni sul traffico. Queste previsioni possono supportare attività di gestione del traffico come l'ottimizzazione dei tempi dei semafori e l'allocazione delle risorse. Le informazioni sui modelli di traffico e sulle cause della congestione possono essere utilizzate per pianificare nuove strade e ridurre gli ingorghi.

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 comprendere la velocità degli oggetti che si muovono intorno a loro, rilevare comportamenti sospetti e altro ancora. Ovunque sia possibile utilizzare una telecamera per misurare la velocità di un oggetto, è possibile impiegare la stima della velocità mediante computer vision.

Ecco alcuni esempi di utilizzo della stima della velocità:

  • Le auto autonome di Tesla utilizzano la 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 urbane. Questi sistemi possono avvisare i conducenti della presenza di pedoni e prevenire gli incidenti.
  • I sistemi di monitoraggio del comportamento animale utilizzano la stima della velocità per tracciare i movimenti degli animali e rilevare segnali di sofferenza o malattia.

Stima della velocità di camminata di una persona

Fig. 2 La stima della velocità può misurare la velocità di camminata di una persona.

I vantaggi della stima della velocità mediante computer vision#

I sistemi di stima della velocità basati sulla visione stanno sostituendo i metodi tradizionali basati su sensori grazie alla loro maggiore accuratezza, convenienza economica e flessibilità. A differenza dei sistemi che si affidano a sensori costosi come 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 integrate senza problemi con l'infrastruttura del traffico esistente. Inoltre, questi sistemi possono essere progettati per eseguire numerose attività complesse, come l'identificazione del tipo di veicolo e l'analisi dei modelli di traffico, allo scopo di migliorare il flusso del traffico e la sicurezza complessivi.

Provalo di persona: stima della velocità con Ultralytics YOLOv8#

Ora che abbiamo compreso chiaramente la stima della velocità e le sue applicazioni, vediamo più da vicino come integrare la stima della velocità nei tuoi progetti di computer vision tramite il codice. Rileveremo i veicoli in movimento e ne stimeremo la velocità utilizzando il modello Ultralytics YOLOv8.

Questo esempio utilizza un video di automobili su una strada scaricato da Internet. Puoi usare lo stesso video o qualsiasi altro video pertinente. Il modello Ultralytics YOLOv8 identifica il centro di ogni veicolo e ne calcola la velocità in base alla rapidità con cui questo centro attraversa una linea orizzontale nel fotogramma video.

Prima di iniziare, è importante notare che, in questo caso, il calcolo della distanza è approssimativo e si basa sulla distanza euclidea. La calibrazione della telecamera non viene considerata, quindi la stima della velocità potrebbe non essere del tutto accurata. Inoltre, la velocità stimata può variare a seconda della velocità della tua GPU.

Passaggio 1: inizieremo installando il pacchetto Ultralytics. Apri il prompt dei comandi o il terminale ed esegui il comando mostrato di seguito.

pip install ultralytics

Consulta la nostra guida all'installazione di Ultralytics per istruzioni dettagliate passo dopo passo e best practice sul processo di installazione. Se riscontri problemi durante l'installazione dei pacchetti richiesti per YOLOv8, la nostra guida ai problemi comuni offre soluzioni e suggerimenti utili.

Passaggio 2: ora importeremo le librerie necessarie. La libreria OpenCV ci aiuterà a gestire l'elaborazione video.

import cv2
from ultralytics import YOLO, solutions

Passaggio 3: quindi possiamo caricare il modello Ultralytics YOLOv8 e recuperare i nomi delle classi che il modello è in grado di rilevare.

model = YOLO("yolov8n.pt")
names = model.model.names

Scopri tutti i modelli supportati per capire quale sia più adatto al tuo progetto.

Passaggio 4: in questo passaggio apriremo il file video di input utilizzando il modulo VideoCapture di OpenCV. Estrarremo inoltre la larghezza, l'altezza e i fotogrammi al secondo (fps) del video.

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

Passaggio 5: qui inizializzeremo il writer video per salvare i risultati finali della stima della velocità. Il file video di output verrà salvato come “speed_estimation.avi”.

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

Passaggio 6: ora possiamo definire i punti della linea per la stima della velocità. Nel nostro video di input, questa linea sarà posizionata orizzontalmente al centro del fotogramma. Sentiti libero di modificare i valori per posizionare la linea nel modo più adatto, in base al tuo video di input.

line_pts = [(0, 360), (1280, 360)]

Passaggio 7: ora possiamo inizializzare l'oggetto per la stima della velocità utilizzando i punti della linea e i nomi delle classi definiti.

speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

Passaggio 8: il cuore 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 output.

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

Passaggio 9: infine, rilasciamo gli oggetti di acquisizione e scrittura video e chiudiamo tutte le finestre di OpenCV.

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Passaggio 10: salva lo script. Se lavori dal terminale o dal prompt dei comandi, esegui lo script utilizzando il seguente comando:

python your_script_name.py

Le sfide della stima della velocità basata sulla visione#

È inoltre importante comprendere le sfide legate all'implementazione della stima della velocità mediante computer vision. Condizioni meteorologiche sfavorevoli come pioggia, nebbia o neve possono causare problemi al sistema, poiché possono ostacolare la visibilità della strada. Analogamente, le occlusioni causate da altri veicoli o oggetti possono rendere difficile per questi sistemi tracciare e stimare con precisione la velocità del veicolo target. Anche condizioni di scarsa illuminazione che provocano 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 una grande quantità di dati visivi provenienti da telecamere del traffico di alta qualità. La tua soluzione potrebbe richiedere hardware costoso per gestire tutto questo e garantire un funzionamento rapido e senza ritardi.

Poi c'è il problema della privacy. I dati raccolti da questi sistemi possono includere dettagli sul veicolo di una persona, come marca, modello e targa, acquisiti senza il suo consenso. Alcune moderne telecamere HD possono persino catturare immagini degli occupanti all'interno dell'auto. Questa raccolta di dati può sollevare seri problemi etici e legali, che devono essere gestiti con la massima attenzione.

A tutta velocità verso il futuro#

L'utilizzo del modello Ultralytics YOLOv8 per la stima della velocità offre una soluzione flessibile ed efficiente per numerosi impieghi. Sebbene esistano delle sfide, come l'accuratezza in condizioni difficili e la gestione dei problemi di privacy, i vantaggi sono numerosi. La stima della velocità mediante computer vision è più conveniente, adattabile e precisa rispetto ai metodi tradizionali. È utile in diversi settori, tra cui trasporti, sport, sorveglianza e auto a guida autonoma. Grazie a tutti questi vantaggi e applicazioni, è destinata a diventare una componente fondamentale dei futuri sistemi intelligenti.

Ti interessa l'AI? Entra in contatto con la nostra community! Esplora il nostro repository GitHub per scoprire di più su come utilizziamo l'AI per creare soluzioni innovative in diversi settori, come sanità e agricoltura. Collabora, innova e impara con noi! 🚀

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

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

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

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

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

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

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

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

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

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

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

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

Computer vision in agricoltura

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

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning