Crea un sistema di gestione dei parcheggi con Ultralytics YOLO26#
Che cos'è un sistema di gestione dei parcheggi?#
Un sistema di gestione dei parcheggi creato con Ultralytics YOLO26 rileva i veicoli in tempo reale per tenere traccia dei posti occupati o disponibili, quindi segnala l'occupazione in tempo reale del parcheggio. Abbina la rilevazione degli oggetti di YOLO26 a una disposizione del parcheggio definita in JSON, così puoi monitorare un intero parcheggio da un unico flusso video o feed della telecamera.
Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗
Vantaggi del sistema di gestione dei parcheggi#
- Efficienza: ottimizza l'uso dei posti auto e riduce la congestione in tutto il parcheggio.
- Sicurezza e protezione: migliora la sicurezza di persone e veicoli grazie alla sorveglianza continua.
- Riduzione delle emissioni: gestisce il flusso del traffico per ridurre i tempi di attesa con il motore acceso e le emissioni nei parcheggi.
Applicazioni nel mondo reale#
| Sistema di gestione dei parcheggi | Sistema di gestione dei parcheggi |
|---|---|
![]() | ![]() |
| Vista aerea della gestione dei parcheggi con Ultralytics YOLO26 | Vista dall'alto della gestione dei parcheggi con Ultralytics YOLO26 |
Flusso di lavoro del codice del sistema di gestione dei parcheggi#
La selezione dei punti è ora semplice
La scelta dei punti dei parcheggi è un'attività fondamentale e complessa nei sistemi di gestione dei parcheggi. Ultralytics semplifica questo processo fornendo uno strumento, "Parking slots annotator", che ti consente di definire le aree del parcheggio, utilizzabili in seguito per ulteriori elaborazioni.
Passaggio 1: acquisisci un fotogramma dal video o dal flusso della telecamera in cui vuoi gestire il parcheggio.
Passaggio 2: usa il codice fornito per avviare un'interfaccia grafica, in cui puoi selezionare un'immagine e iniziare a delineare le aree di parcheggio facendo clic con il mouse per creare poligoni.
Passaggio aggiuntivo per l'installazione di `tkinter`
In genere, tkinter viene fornito preinstallato con Python. Tuttavia, se non fosse così, 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 seleziona la casella di controllo
tcl/tk and IDLEin Funzionalità facoltative durante l'installazione - MacOS: reinstalla Python da https://www.python.org/downloads/macos/ oppure usa
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, ovvero lo stesso nome file caricato dallo script di gestione qui sotto.

Passaggio 4: ora puoi eseguire la soluzione per la gestione dei parcheggi con il codice seguente.
import cv2
from ultralytics import solutions
# Video capture
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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))
# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
model="yolo26n.pt", # path to model file
json_file="bounding_boxes.json", # path to parking annotations file
)
while cap.isOpened():
ret, im0 = cap.read()
if not ret:
break
results = parkingmanager(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsArgomenti ParkingManagement#
Ecco una tabella con gli argomenti ParkingManagement:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso al file del modello Ultralytics YOLO. |
json_file | str | None | Percorso al file JSON che contiene tutti i dati delle coordinate dei parcheggi. |
line_width | int | 2 | Spessore delle linee per i riquadri, i punti chiave e i conteggi disegnati dalla soluzione. |
verbose | bool | True | Abilita il registro per fotogramma della soluzione, con forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracciamento è sempre silenziosa. |
La soluzione ParkingManagement consente di usare diversi parametri track:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Imposta la soglia di confidenza per le rilevazioni; valori più bassi consentono di tracciare più oggetti, ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersezione sull'unione (IoU) per filtrare le rilevazioni sovrapposte. |
classes | list | None | Filtra i risultati in base all'indice della classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
device | str | None | Specifica 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. |
imgsz | int or tuple | 640 | Dimensione dell'immagine di inferenza di destinazione: un numero intero per un'immagine quadrata o una coppia (height, width). Le forme vengono regolate in base al passo del modello. |
max_det | int | 300 | Numero massimo di rilevamenti conservati per fotogramma prima del tracciamento, limitando gli oggetti elaborati da una soluzione in scene dense. |
quantize | int or str | None | Precisione dell'inferenza: 16 (FP16) o 32/non impostato (FP32) per i modelli PyTorch e TorchScript; altri formati vengono calcolati alla precisione selezionata dal loro artefatto e runtime. Sostituisce il flag deprecato half. |
Inoltre, sono supportate le seguenti opzioni di visualizzazione:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
show | bool | False | Se True, visualizza le immagini o i video annotati in una finestra. È utile per ottenere un feedback visivo immediato durante lo sviluppo o i test. |
FAQ#
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 grazie alla sorveglianza continua. Eseguirlo su un feed della telecamera in tempo reale aiuta inoltre a gestire il flusso del traffico e a ridurre il tempo di inattività dei veicoli. Per la configurazione completa, consulta il flusso di lavoro del codice per la gestione dei parcheggi.
L'utilizzo di Ultralytics YOLO26 per i parcheggi intelligenti offre numerosi vantaggi:
- Efficienza: ottimizza l'uso dei posti auto e riduce la congestione.
- Sicurezza e protezione: migliora la sorveglianza e garantisce la sicurezza di veicoli e pedoni.
- Impatto ambientale: contribuisce a ridurre le emissioni minimizzando i tempi di inattività dei veicoli. Scopri altri vantaggi nella sezione Vantaggi del sistema di gestione dei parcheggi.
Definire i posti auto con Ultralytics YOLO26 è semplice:
- Acquisisci un fotogramma da un video o da un flusso della telecamera.
- Usa il codice fornito per avviare una GUI, selezionare un'immagine e disegnare poligoni per definire i posti auto.
- Salva i dati annotati in formato JSON per ulteriori elaborazioni. Per istruzioni complete, consulta la sezione sulla selezione dei punti riportata sopra.
L'impostazione più specifica per il parcheggio è
json_file: indirizzala al JSON delle aree di parcheggio che crei con l'annotatore dei punti per adattare la soluzione a una nuova disposizione. Puoi personalizzarla ulteriormente tramite gli altri argomenti: impostamodelsu un rilevatore addestrato appositamente, limita i rilevamenti a specificiclassesdi veicoli, regola le soglieconfeiou, cambiatracker, usaline_widthper ridimensionare le etichette sul fotogramma e la visualizzazione dell'occupazione, oppure selezionadeviceper l'inferenza. Per il monitoraggio correlato basato sulle zone, consulta la guida sul conteggio degli oggetti.Ultralytics YOLO26 viene utilizzato in varie applicazioni pratiche per la gestione dei parcheggi, tra cui:
- Rilevamento dei posti auto: identificazione accurata dei posti disponibili e occupati.
- Sorveglianza: miglioramento della sicurezza tramite il 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 pratiche.

