Ultralytics YOLO27:

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 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#

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.

Annotatore dei posti auto Parking slots annotator Ultralytics YOLO
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 IDLE in 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.

Demo della selezione dei punti con Ultralytics YOLO26

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

Gestione dei parcheggi con Ultralytics YOLO
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 windows

Argomenti ParkingManagement#

Ecco una tabella con gli argomenti ParkingManagement:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso al file del modello Ultralytics YOLO.
json_filestrNonePercorso al file JSON che contiene tutti i dati delle coordinate dei parcheggi.
line_widthint2Spessore delle linee per i riquadri, i punti chiave e i conteggi disegnati dalla soluzione.
verboseboolTrueAbilita 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:

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare. 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 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_detint300Numero massimo di rilevamenti conservati per fotogramma prima del tracciamento, limitando gli oggetti elaborati da una soluzione in scene dense.
quantizeint or strNonePrecisione 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe 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:

    1. Acquisisci un fotogramma da un video o da un flusso della telecamera.
    2. Usa il codice fornito per avviare una GUI, selezionare un'immagine e disegnare poligoni per definire i posti auto.
    3. 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: imposta model su un rilevatore addestrato appositamente, limita i rilevamenti a specifici classes di veicoli, regola le soglie conf e iou, cambia tracker, usa line_width per ridimensionare le etichette sul fotogramma e la visualizzazione dell'occupazione, oppure seleziona device per 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.

Commenti