Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Ultralytics YOLOv8 per sistemi di gestione del parcheggio più intelligenti

Abirami Vina

6 minuti di lettura

13 giugno 2024

Il modello YOLOv8 di Ultralytics può rendere più intelligenti i sistemi di gestione dei parcheggi. Scopri come gestire i posti auto in tempo reale per creare la tua soluzione di parcheggio intelligente.

Guidare in tondo alla ricerca di un parcheggio può essere stressante, soprattutto quando si è in ritardo. Il modo tradizionale di cercare un posto auto può essere noioso e dispendioso in termini di tempo. Tuttavia, un sistema di gestione dei parcheggi basato sull'intelligenza artificiale (AI) e sulla computer vision può semplificare le cose, rendendo la disponibilità di parcheggio più prevedibile e riducendo la congestione del traffico.

In questo articolo, impareremo come aggiornare i sistemi di gestione dei parcheggi con l'intelligenza artificiale e la computer vision. Esamineremo anche un esempio di codice passo-passo per mostrarti come utilizzare il modello Ultralytics YOLOv8 per creare un sistema di gestione dei parcheggi abilitato alla computer vision. Iniziamo subito!

Problemi con la gestione tradizionale dei parcheggi

Prima di discutere dei sistemi di gestione intelligente dei parcheggi potenziati dall'AI, esaminiamo i problemi dei sistemi di gestione dei parcheggi tradizionali.

Un problema importante dei sistemi tradizionali è la sovraffollamento dei parcheggi; ci sono più auto nei parcheggi che posti disponibili. Oltre a sprecare tempo alla ricerca di un posto, il sovraffollamento porta a un eccessivo consumo di carburante e all'inquinamento atmosferico. Un altro problema è lo stress del conducente. Secondo un sondaggio, circa il 27% delle persone trascorre almeno 30 minuti alla ricerca di un parcheggio. Inoltre, il 43% delle persone ha ammesso di aver avuto discussioni verbali con sconosciuti per i posti auto.

Fig. 1. Un guidatore stressato. Fonte dell'immagine: Envato Elements.

L'AI semplifica la gestione dei parcheggi

I parcheggi integrati con l'AI mirano a risolvere i problemi che i sistemi di gestione dei parcheggi tradizionali devono affrontare. Modelli di computer vision come il modello Ultralytics YOLOv8 e telecamere ad alta definizione possono monitorare i parcheggi e ottenere aggiornamenti in tempo reale sui posti auto disponibili e occupati. 

Come funziona? Un modello di computer vision può analizzare le riprese video di telecamere ad alta definizione per rilevare i veicoli, tracciare i loro movimenti e identificare i posti auto disponibili. Il modello Ultralytics YOLOv8 supporta attività di computer vision come il rilevamento di oggetti e il tracciamento di oggetti e può identificare e classificare accuratamente i veicoli all'interno di un flusso video. Confrontando le posizioni rilevate dei veicoli con i posti auto predefiniti, il sistema può determinare se un posto auto è occupato o meno.

Fig. 2. YOLOv8 rileva i parcheggi.

Le informazioni sulla disponibilità di parcheggio provenienti dal sistema basato sulla visione possono essere integrate ed estese in diverse applicazioni:

  • App mobili: Le applicazioni mobili possono visualizzare la disponibilità di parcheggio in tempo reale e aiutare i conducenti a trovare posti disponibili in modo rapido e semplice.
  • Segnaletica digitale: I cartelli digitali agli ingressi dei parcheggi possono mostrare il numero di posti disponibili e indirizzare i conducenti al posto libero più vicino.
  • Sistemi di parcheggio automatizzati: I dati possono essere utilizzati per controllare barriere e cancelli automatizzati, consentendo l'ingresso solo quando sono disponibili posti e guidando i conducenti al posto libero più vicino.

I vantaggi di un sistema di gestione dei parcheggi

Le informazioni sulla disponibilità di parcheggio possono offrire molti vantaggi. Gli aggiornamenti in tempo reale aiutano i conducenti a raggiungere direttamente i posti liberi, rendendo il flusso del traffico più fluido e riducendo lo stress della ricerca di parcheggio. Per gli operatori, capire come vengono utilizzati gli spazi significa poter gestire meglio il parcheggio, migliorare la sicurezza con il monitoraggio in tempo reale e rispondere rapidamente a qualsiasi incidente.

L'automazione delle funzioni di parcheggio riduce i costi diminuendo la necessità di manodopera. I sistemi di AI semplificano la prenotazione dei posti auto tramite app mobili o web, consentendo ai conducenti di ricevere notifiche sulla disponibilità e risparmiando tempo e denaro. I pianificatori urbani possono utilizzare questi dati per progettare layout stradali migliori, applicare normative di parcheggio efficaci e sviluppare nuove strutture di parcheggio che rendano le città più efficienti e facili da navigare.

Fig. 3. Prenota i posti auto tramite un'app mobile.

Provalo tu stesso: gestione del parcheggio tramite YOLOv8

Ora che abbiamo una chiara comprensione della gestione dei parcheggi e dei suoi vantaggi, approfondiamo come puoi costruire un sistema di gestione dei parcheggi basato sulla visione. Utilizzeremo il modello YOLOv8 per rilevare i veicoli, monitorare i posti auto e determinarne lo stato di occupazione.

In questo esempio, puoi utilizzare un video o uno stream di telecamera di un parcheggio. Tieni presente che la dimensione massima dell'immagine supportata da questo esempio è 1920 * 1080. Prima di iniziare, ricorda che questo sistema si basa sul rilevamento accurato dei veicoli e sulle coordinate predefinite dei posti auto. 

La calibrazione della telecamera e i fattori ambientali possono influire sull'accuratezza del rilevamento dello spazio e sullo stato di occupazione. La velocità di elaborazione e l'accuratezza possono variare anche in base alle prestazioni della tua GPU.

Passaggio 1: Iniziamo installando il pacchetto Ultralytics. Apri il prompt dei comandi o il terminale ed esegui il comando seguente.

pip install ultralytics

Consulta la nostra guida all'installazione di Ultralytics per istruzioni dettagliate 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: Dobbiamo preselezionare i posti auto in modo da poter contrassegnare le aree di interesse nel tuo filmato. Esegui questo codice per aprire l'interfaccia utente per preselezionare i posti auto.

from ultralytics import solutions
solutions.ParkingPtsSelection()

Come mostrato di seguito, un'interfaccia utente si aprirà quando esegui questo codice. Acquisisci un fotogramma o uno screenshot del tuo video di input di un parcheggio e caricalo. Dopo aver disegnato i riquadri di delimitazione attorno ai posti auto, fai clic sull'opzione di salvataggio. Le informazioni sul posto auto selezionato verranno salvate in un file JSON denominato “bounding_boxes.json”.

Fig. 4. Selezione dei posti auto nel tuo filmato.

Passaggio 3: Ora, possiamo passare al codice principale per la gestione del parcheggio. Inizia importando tutte le librerie richieste e inizializzando il file JSON che abbiamo creato nel passaggio 2.

import cv2
from ultralytics import solutions

polygon_json_path = "bounding_boxes.json"

Passaggio 4: Crea un oggetto VideoCapture per leggere il file video di input e assicurati che il file video venga aperto correttamente.

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"

Passaggio 5: Inizializza tutte le proprietà video necessarie, come la larghezza, l'altezza e i fotogrammi al secondo.

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 6: Successivamente, possiamo creare un oggetto VideoWriter per salvare il file video elaborato finale.

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

Passaggio 7: Qui, inizializziamo il sistema di gestione del parcheggio con il modello Ultralytics YOLOv8 per il rilevamento dei posti auto.

management = solutions.ParkingManagement(model_path="yolov8n.pt") 

Passaggio 8: Ora, esaminiamo il file video, fotogramma per fotogramma, per l'elaborazione. Se non vengono letti fotogrammi, il ciclo si interromperà.

while cap.isOpened():
   ret, im0 = cap.read()
   if not ret:
       break

Passaggio 9: All'interno del ciclo, estrarremo le regioni di parcheggio preselezionate dal file JSON e tracceremo gli oggetti nel fotogramma utilizzando il modello YOLOv8.

 json_data = management.parking_regions_extraction(polygon_json_path)
   results = management.model.track(im0, persist=True, show=False)

Passaggio 10: Questa parte del ciclo elabora i risultati del tracciamento e ottiene le coordinate del riquadro di delimitazione e le etichette di classe degli oggetti rilevati.

if results[0].boxes.id is not None:
       boxes = results[0].boxes.xyxy.cpu().tolist()
       clss = results[0].boxes.cls.cpu().tolist()
       management.process_data(json_data, im0, boxes, clss)

Passaggio 11: L'ultima parte del ciclo prevede la visualizzazione del fotogramma corrente con le annotazioni e la scrittura del fotogramma elaborato nel file video di output “gestione parcheggio.avi.”

management.display_frames(im0)
video_writer.write(im0)

Passaggio 12: Infine, possiamo rilasciare gli oggetti VideoCapture e VideoWriter e distruggere tutte le finestre.

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

Passaggio 13: Salva il tuo script. Se stai lavorando dal tuo terminale o prompt dei comandi, esegui lo script utilizzando il seguente comando:

python your_script_name.py

Sentiti libero di consultare la documentazione ufficiale di Ultralytics se desideri saperne di più sul codice.

Sfide di un sistema di gestione automatizzato del parcheggio

I sistemi di parcheggio intelligenti offrono molti vantaggi sia ai conducenti che alle aziende. Tuttavia, presentano anche alcune sfide che dovrebbero essere prese in considerazione prima di implementare tali soluzioni. Diamo un'occhiata ad alcune di esse.

  • Preoccupazioni per la privacy: Questi sistemi raccolgono informazioni come la marca e il modello dell'auto di un individuo, il numero di targa, l'ora di entrata e di uscita, ecc.
  • Costi elevati di installazione: Sensori, telecamere, biglietterie automatiche e software di IA possono essere costosi da installare. 
  • Requisiti di manutenzione: La frequenza della manutenzione dipende dal sistema di IA, ma la maggior parte dei sistemi richiede una manutenzione mensile.

Il futuro dei sistemi di parcheggio intelligenti

La gestione innovativa dei parcheggi in futuro si baserà sull'utilizzo di tecnologie all'avanguardia come l'IA, le auto a guida autonoma e la realtà virtuale per migliorare l'esperienza complessiva del parcheggio e sostenere la sostenibilità. Integrate con questi sistemi, le auto a guida autonoma saranno in grado di raggiungere i parcheggi e parcheggiare senza intervento umano. Questi sistemi aiutano anche le aziende a riempire più posti auto e a pubblicizzare i propri servizi su più app e siti web. Inoltre, riducono il numero di emissioni di carbonio prodotte dagli automobilisti che guidano alla ricerca di un parcheggio.

Porre fine ai problemi di parcheggio

I modelli di IA, come Ultralytics YOLOv8, e la computer vision possono trasformare il tuo parcheggio. Riducono drasticamente la ricerca di posti auto, risparmiando tempo e riducendo le emissioni. Questi sistemi intelligenti di gestione del parcheggio affrontano problemi comuni come la congestione, il parcheggio illegale e la frustrazione degli automobilisti. Nonostante un investimento iniziale, i vantaggi a lungo termine sono significativi. Investire in parcheggi intelligenti è fondamentale per creare città sostenibili e un'esperienza di parcheggio più agevole per tutti.

Vuoi saperne di più sull'IA? Entra in contatto con la nostra community! Esplora il nostro repository GitHub per saperne di più su come stiamo utilizzando l'IA per creare soluzioni innovative in vari settori come sanità e agricoltura. Collabora, innova e impara con noi! 🚀

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis
Link copiato negli appunti