Ultralytics YOLO27:
Get Started

Crea un sistema di gestione dei parcheggi con Ultralytics YOLO26#

Che cos'è un sistema di gestione dei parcheggi?#

Un sistema di gestione dei parcheggi basato su Ultralytics YOLO26 rileva i veicoli in tempo reale per monitorare quali posti auto sono occupati o liberi, quindi comunica l'occupazione attuale del parcheggio. Combina la rilevazione degli oggetti di YOLO26 con una disposizione del parcheggio definita in JSON, così puoi monitorare un'intera area da un unico flusso video o feed della telecamera.



Guarda: Come creare un sistema di gestione dei parcheggi con Ultralytics YOLO26 | Rilevamento dei posti in tempo reale 🚗

Vantaggi di un sistema di gestione dei parcheggi#

  • Efficienza: ottimizza l'uso dei posti auto e riduce la congestione in tutto il parcheggio.
  • Sicurezza: migliora la sicurezza di persone e veicoli grazie alla videosorveglianza continua.
  • Riduzione delle emissioni: gestisce il flusso del traffico per ridurre al minimo i tempi di inattività e le emissioni nei parcheggi.

Applicazioni nel mondo reale#

Sistema di gestione dei parcheggiSistema di gestione dei parcheggi
Analisi dei parcheggi con Ultralytics YOLO26Vista dall'alto della gestione dei parcheggi con Ultralytics YOLO26
Vista aerea della gestione dei parcheggi con Ultralytics YOLO26Vista dall'alto della gestione dei parcheggi con Ultralytics YOLO26

Flusso di lavoro del codice del sistema di gestione dei parcheggi#

Selezionare i punti è ora facile

La scelta dei punti del parcheggio è un'attività fondamentale e complessa nei sistemi di gestione dei parcheggi. Ultralytics semplifica questo processo con lo strumento "Annotatore dei posti auto", che ti permette di definire le aree del parcheggio da utilizzare in seguito per ulteriori elaborazioni.

Passaggio 1: acquisisci un frame dal video o dal flusso della telecamera in cui vuoi gestire il parcheggio.

Passaggio 2: usa il codice fornito per avviare un'interfaccia grafica, selezionare un'immagine e iniziare a delineare le aree di parcheggio facendo clic con il mouse per creare poligoni.

Annotatore dei posti auto di Ultralytics YOLO
Passaggio aggiuntivo per installare `tkinter`

In genere, tkinter è preinstallato con Python. Se però non è presente, puoi installarlo seguendo i passaggi evidenziati:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: reinstalla Python e durante l'installazione seleziona la casella tcl/tk and IDLE in Funzionalità facoltative
  • MacOS: reinstalla Python da https://www.python.org/downloads/macos/ o tramite brew install python-tk
from ultralytics import solutions

solutions.ParkingPtsSelection()

Passaggio 3: dopo aver definito le aree di parcheggio con i poligoni, fai clic su save per salvare i dati come bounding_boxes.json nella directory di lavoro: lo stesso nome di file caricato dallo script di gestione qui sotto.

Demo della selezione dei punti con Ultralytics YOLO26

Passaggio 4: ora puoi eseguire la soluzione di gestione dei parcheggi con il codice seguente.

Gestione dei parcheggi con Ultralytics YOLO
import cv2

from ultralytics import solutions

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

# Scrittore video
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Inizializza l'oggetto per la gestione dei parcheggi
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # percorso del file del modello
    json_file="bounding_boxes.json",  # percorso del file delle annotazioni del parcheggio
)

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

    results = parkingmanager(im0)

    # print(results)  # accedi all'output

    video_writer.write(results.plot_im)  # scrivi il fotogramma elaborato.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # chiudi tutte le finestre aperte

Argomenti di ParkingManagement#

Ecco una tabella con gli argomenti di ParkingManagement:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso a un file modello Ultralytics YOLO.
json_filestrNonePercorso al file JSON che contiene tutti i dati sulle coordinate dei parcheggi.
line_widthint2Spessore delle linee dei riquadri, dei punti chiave e dei conteggi disegnati dalla soluzione.
verboseboolTrueAbilita il log per frame della soluzione, con forma dell'input, conteggi per classe e velocità di elaborazione. La chiamata di tracking è sempre silenziosa.

La soluzione ParkingManagement consente di usare diversi parametri track:

ArgomentoTipoPredefinitoDescrizione
trackerstr'tracktrack.yaml'Specifica l'algoritmo di tracciamento da usare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Imposta la soglia di confidenza per le rilevazioni; valori più bassi consentono di tracciare più oggetti, ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia di Intersezione sull'unione (IoU) per filtrare le rilevazioni sovrapposte.
classeslistNoneFiltra i risultati in base all'indice della classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
devicestrNoneSpecifica il dispositivo per l'inferenza (ad es. cpu, cuda:0 o 0). Consente di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello.
imgszint or tuple640Dimensione dell'immagine di destinazione per l'inferenza: un intero per un'immagine quadrata o una coppia (height, width). Le forme vengono adattate allo stride del modello.
max_detint300Numero massimo di rilevazioni da mantenere per fotogramma prima del tracciamento, che limita gli oggetti elaborati da una soluzione nelle scene dense.
quantizeint or strNonePrecisione dell'inferenza: 16 (FP16) oppure 32/non impostata (FP32) per i modelli PyTorch e TorchScript; gli altri formati eseguono i calcoli con la precisione scelta dall'artefatto e dal runtime. Sostituisce il flag deprecato half.

Sono inoltre supportate le seguenti opzioni di visualizzazione:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, mostra le immagini o i video annotati in una finestra. Utile per ottenere un riscontro visivo immediato durante lo sviluppo o i test.

Domande frequenti#

  • Ultralytics YOLO26 offre la rilevazione dei veicoli in tempo reale e il monitoraggio per i sistemi di parcheggio, ottimizzando l'uso dei posti auto, riducendo la congestione e migliorando la sicurezza tramite la videosorveglianza continua. L'esecuzione su un feed di una telecamera in diretta aiuta anche a gestire il flusso del traffico e a ridurre al minimo i tempi di inattività dei veicoli. Per la configurazione completa, consulta il flusso di lavoro del codice per la gestione dei parcheggi.

  • Usare Ultralytics YOLO26 per i parcheggi intelligenti offre numerosi vantaggi:

    • Efficienza: ottimizza l'uso dei posti auto e riduce la congestione.
    • Sicurezza: migliora la videosorveglianza e garantisce la sicurezza di veicoli e pedoni.
    • Impatto ambientale: aiuta a ridurre le emissioni diminuendo i tempi di inattività dei veicoli. Scopri altri vantaggi nella sezione Vantaggi di un sistema di gestione dei parcheggi.
  • Definire i posti auto con Ultralytics YOLO26 è semplice:

    1. Acquisisci un frame da un video o da un flusso della telecamera.
    2. Usa il codice fornito per avviare un'interfaccia grafica, selezionare un'immagine e disegnare poligoni per definire i posti auto.
    3. Salva i dati etichettati in formato JSON per ulteriori elaborazioni. Per istruzioni complete, consulta la sezione sulla selezione dei punti qui sopra.
  • L'impostazione più specifica per il parcheggio è json_file: indirizzala al file JSON delle regioni di parcheggio che crei con l'annotatore dei punti per adattare la soluzione a una nuova disposizione. Puoi personalizzarla ulteriormente tramite gli altri argomenti: imposta model su un rilevatore addestrato su misura, limita i rilevamenti a specifiche classes di veicoli, regola le soglie conf e iou, cambia tracker, usa line_width per ridimensionare le etichette sovrapposte al frame e la visualizzazione dell'occupazione, oppure seleziona device di inferenza. Per il monitoraggio correlato basato sulle zone, consulta la guida al conteggio degli oggetti.

  • Ultralytics YOLO26 viene utilizzato in diverse applicazioni reali per la gestione dei parcheggi, tra cui:

    • Rilevamento dei posti auto: identificazione accurata dei posti liberi e occupati.
    • Sorveglianza: maggiore sicurezza grazie al monitoraggio in tempo reale.
    • Gestione del flusso del traffico: riduzione dei tempi di inattività e della congestione grazie a una gestione efficiente del traffico. Le immagini che mostrano queste applicazioni sono disponibili nelle applicazioni reali.

Commenti