YOLO Vision 2026:

Costruisci un sistema di gestione parcheggi con Ultralytics YOLO26 🚀#

Cos'è un sistema di gestione parcheggi?#

Un sistema di gestione dei parcheggi realizzato con Ultralytics YOLO26 rileva i veicoli in tempo reale per tracciare quali spazi di sosta siano occupati o disponibili, segnalando poi l'occupazione del parcheggio in tempo reale. Associa il rilevamento di oggetti di YOLO26 a una configurazione di parcheggio definita tramite JSON, permettendoti di monitorare un intero parcheggio da un singolo flusso video o feed di telecamera.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

Vantaggi di un sistema di gestione dei parcheggi#

  • Efficienza: Ottimizza l'uso dei posti auto e riduce la congestione nel lotto.
  • Sicurezza e protezione: Migliora la sicurezza di persone e veicoli attraverso una sorveglianza continua.
  • Riduzione delle emissioni: Gestisce il flusso del traffico per minimizzare i tempi di attesa e le emissioni nei parcheggi.

Applicazioni nel mondo reale#

Sistema di gestione dei parcheggiSistema di gestione dei parcheggi
Parking lots Analytics Using Ultralytics YOLO26Parking management top view using Ultralytics YOLO26
Gestione dei parcheggi vista aerea con Ultralytics YOLO26Gestione dei parcheggi vista dall'alto con Ultralytics YOLO26

Workflow del codice del sistema di gestione dei parcheggi#

La selezione dei punti ora è semplice

La scelta dei punti di parcheggio è un'attività critica e complessa nei sistemi di gestione dei parcheggi. Ultralytics semplifica questo processo offrendo lo strumento "Parking slots annotator", che ti permette di definire le aree del parcheggio, utilizzabili in seguito per ulteriori elaborazioni.

Passaggio 1: Cattura 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, dove puoi selezionare un'immagine e iniziare a delineare le zone di parcheggio cliccando con il mouse per creare poligoni.

Annotatore di posti auto Ultralytics YOLO
Passaggio aggiuntivo per l'installazione di `tkinter`

In genere, tkinter viene fornito preinstallato con Python. Tuttavia, se non lo fosse, 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 Optional Features durante l'installazione
  • MacOS: Reinstalla Python da https://www.python.org/downloads/macos/ o brew install python-tk
from ultralytics import solutions

solutions.ParkingPtsSelection()

Step-3: Dopo aver definito le aree di parcheggio con poligoni, fai clic su save per salvare i dati come bounding_boxes.json nella tua directory di lavoro, ovvero lo stesso nome file che lo script di gestione carica qui sotto.

Ultralytics YOLO26 Points Selection Demo

Step-4: Ora puoi eseguire la soluzione di gestione dei parcheggi con il codice sottostante.

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

Ecco una tabella con gli argomenti di ParkingManagement:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file del modello Ultralytics YOLO.
json_filestrNonePercorso verso il file JSON che contiene tutti i dati delle coordinate del parcheggio.
line_widthint2Spessore della linea per i box, i keypoint e i conteggi disegnati dalla soluzione.
verboseboolTrueAbilita il registro per fotogramma della soluzione relativo a forma dell'input, conteggi delle classi e velocità di elaborazione. La chiamata di tracking in sé è sempre silenziosa.

La soluzione ParkingManagement consente l'uso di 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 i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
devicestrNoneSpecifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una specifica GPU o altri dispositivi di calcolo per l'esecuzione del modello.

Inoltre, sono supportate le seguenti opzioni di visualizzazione:

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

FAQ#

  • Ultralytics YOLO26 offre rilevamento di veicoli in tempo reale e monitoraggio per i sistemi di parcheggio, ottimizzando l'uso degli spazi di sosta, riducendo la congestione e migliorando la sicurezza tramite sorveglianza continua. Eseguirlo su un feed di telecamera dal vivo aiuta anche a gestire il flusso del traffico e a minimizzare i tempi di inattività dei veicoli. Per la configurazione completa, consulta il flusso di lavoro del codice di gestione dei parcheggi.

  • Utilizzare Ultralytics YOLO26 per il parcheggio intelligente offre numerosi vantaggi:

    • Efficienza: Ottimizza l'uso degli spazi e riduce la congestione.
    • Sicurezza e protezione: Migliora la sorveglianza e garantisce la sicurezza di veicoli e pedoni.
    • Impatto Ambientale: Aiuta a ridurre le emissioni minimizzando i tempi di inattività dei veicoli. Scopri ulteriori vantaggi nella sezione Vantaggi del sistema di gestione dei parcheggi.
  • Definire i posti auto è semplice con Ultralytics YOLO26:

    1. Cattura un fotogramma da un video o da un flusso della telecamera.
    2. Usa il codice fornito per avviare una GUI per selezionare un'immagine e disegnare poligoni per definire i posti auto.
    3. Salva i dati etichettati in formato JSON per un'ulteriore elaborazione. Per istruzioni complete, controlla la sezione relativa alla selezione dei punti qui sopra.
  • L'impostazione più specifica per il parcheggio è json_file: puntala al JSON della regione di parcheggio creato con l'annotatore di punti per adattare la soluzione a un nuovo layout. Puoi ulteriormente personalizzarla 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 sul fotogramma e la lettura dell'occupazione, oppure seleziona l'inferenza device. Per il monitoraggio correlato basato su zone, consulta la guida sul conteggio degli oggetti.

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

    • Rilevamento posti auto: Identificazione accurata degli spazi disponibili e occupati.
    • Sorveglianza: Maggiore sicurezza tramite 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 reperibili in applicazioni del mondo reale.

Commenti