Vai al contenuto

Gestione dei parcheggi con Ultralytics YOLOv8 🚀

Che cos'è il sistema di gestione dei parcheggi?

La gestione dei parcheggi con Ultralytics YOLOv8 assicura un parcheggio efficiente e sicuro organizzando gli spazi e monitorando la disponibilità. YOLOv8 può migliorare la gestione dei parcheggi grazie al rilevamento dei veicoli in tempo reale e alle informazioni sull'occupazione dei parcheggi.

Vantaggi del sistema di gestione dei parcheggi?

  • Efficienza: La gestione dei parcheggi ottimizza l'uso dei posti auto e riduce la congestione.
  • Sicurezza e protezione: La gestione dei parcheggi tramite YOLOv8 migliora la sicurezza delle persone e dei veicoli grazie a misure di sorveglianza e sicurezza.
  • Riduzione delle emissioni: La gestione dei parcheggi tramite YOLOv8 gestisce il flusso del traffico per ridurre al minimo i tempi morti e le emissioni nei parcheggi.

Applicazioni nel mondo reale

Sistema di gestione dei parcheggi Sistema di gestione dei parcheggi
Parcheggi Analitici Utilizzando Ultralytics YOLOv8 Gestione del parcheggio vista dall'alto con Ultralytics YOLOv8
Gestione del parcheggio Aeriel View utilizzando Ultralytics YOLOv8 Gestione del parcheggio Vista dall'alto con Ultralytics YOLOv8

Flusso di lavoro del codice del sistema di gestione dei parcheggi

Selezione dei punti

La selezione dei punti è ora facile

La scelta dei punti di parcheggio è un compito critico e complesso nei sistemi di gestione dei parcheggi. Ultralytics semplifica questo processo fornendo uno strumento che consente di definire le aree di parcheggio, che possono essere utilizzate successivamente per ulteriori elaborazioni.

  • Cattura un fotogramma dal flusso video o dalla telecamera nel punto in cui vuoi gestire il parcheggio.
  • Utilizza il codice fornito per avviare un'interfaccia grafica, dove potrai selezionare un'immagine e iniziare a delineare le aree di parcheggio con un clic del mouse per creare poligoni.

Dimensione dell'immagine

Dimensioni massime dell'immagine supportate: 1920 * 1080

from ultralytics.solutions.parking_management import ParkingPtsSelection, tk

root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
  • Dopo aver definito le aree di parcheggio con i poligoni, clicca su save per memorizzare un file JSON con i dati nella tua directory di lavoro.

Ultralytics YOLOv8 Demo della selezione dei punti

Python Codice per la gestione dei parcheggi

Gestione dei parcheggi con YOLOv8 Esempio

import cv2
from ultralytics import solutions

# Path to json file, that created with above point selection app
polygon_json_path = "bounding_boxes.json"

# Video capture
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
management = solutions.ParkingManagement(model_path="yolov8n.pt")

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

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

    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)

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

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

Argomenti opzionali ParkingManagement

Nome Tipo Predefinito Descrizione
model_path str None Percorso del modello YOLOv8 .
txt_color tuple (0, 0, 0) Tupla di colori RGB per il testo.
bg_color tuple (255, 255, 255) Tupla di colori RGB per lo sfondo.
occupied_region_color tuple (0, 255, 0) Tupla di colori RGB per le regioni occupate.
available_region_color tuple (0, 0, 255) Tupla di colori RGB per le regioni disponibili.
margin int 10 Margine per la visualizzazione del testo.

Argomenti model.track

Nome Tipo Predefinito Descrizione
source im0 None directory di origine per le immagini o i video
persist bool False persistenza dei brani tra i fotogrammi
tracker str botsort.yaml Metodo di tracciamento 'bytetrack' o 'botsort'
conf float 0.3 Soglia di fiducia
iou float 0.5 Soglia IOU
classes list None filtrare i risultati per classe, ad esempio classi=0 o classi=[0,2,3].
verbose bool True Visualizza i risultati del tracciamento dell'oggetto


Creato 2024-04-29, Aggiornato 2024-05-18
Autori: glenn-jocher (2), RizwanMunawar (2)

Commenti