Skip to content

Gestion du stationnement à l'aide de Ultralytics YOLOv8 🚀

Qu'est-ce que le système de gestion du stationnement ?

La gestion des parkings avec Ultralytics YOLOv8 assure un stationnement efficace et sûr en organisant les places et en surveillant leur disponibilité. YOLOv8 peut améliorer la gestion des parcs de stationnement grâce à la détection des véhicules en temps réel et à des informations sur l'occupation des parkings.

Avantages du système de gestion du stationnement ?

  • EfficacitĂ©: La gestion des parcs de stationnement optimise l'utilisation des places de parking et rĂ©duit les embouteillages.
  • SĂ»retĂ© et sĂ©curitĂ©: La gestion des parkings Ă  l'aide de YOLOv8 amĂ©liore la sĂ©curitĂ© des personnes et des vĂ©hicules grâce Ă  des mesures de surveillance et de sĂ©curitĂ©.
  • RĂ©duction des Ă©missions: La gestion des parkings Ă  l'aide de YOLOv8 gère le flux de circulation pour minimiser les temps morts et les Ă©missions dans les parkings.

Applications dans le monde réel

Système de gestion du stationnement Système de gestion du stationnement
Parcs de stationnement Analytique Utilisation Ultralytics YOLOv8 Gestion du stationnement vue du dessus en utilisant Ultralytics YOLOv8
Gestion du stationnement Aeriel View utilisant Ultralytics YOLOv8 Gestion du stationnement Vue du dessus utilisant Ultralytics YOLOv8

Système de gestion des parkings Code Workflow

SĂ©lection des points

La sélection des points est maintenant facile

Le choix des points de stationnement est une tâche critique et complexe dans les systèmes de gestion des parkings. Ultralytics rationalise ce processus en fournissant un outil qui te permet de définir des zones de parking, qui peuvent être utilisées ultérieurement pour un traitement supplémentaire.

  • Capture une image du flux vidĂ©o ou de la camĂ©ra Ă  l'endroit oĂą tu veux gĂ©rer le parking.
  • Utilise le code fourni pour lancer une interface graphique, oĂą tu peux sĂ©lectionner une image et commencer Ă  dĂ©limiter les zones de stationnement par un clic de souris pour crĂ©er des polygones.

Taille de l'image

Taille maximale de l'image : 1920 * 1080

from ultralytics.solutions.parking_management import ParkingPtsSelection, tk

root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
  • Après avoir dĂ©fini les aires de stationnement avec des polygones, clique sur save pour stocker un fichier JSON avec les donnĂ©es dans ton rĂ©pertoire de travail.

Ultralytics YOLOv8 Démonstration de la sélection des points

Python Code pour la gestion des parkings

Gestion des parkings Ă  l'aide de YOLOv8 Exemple

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()

Arguments facultatifs ParkingManagement

Nom Type DĂ©faut Description
model_path str None Chemin d'accès au modèle YOLOv8 .
txt_color tuple (0, 0, 0) Tuple de couleurs RVB pour le texte.
bg_color tuple (255, 255, 255) Tuple de couleurs RVB pour l'arrière-plan.
occupied_region_color tuple (0, 255, 0) Tuple de couleurs RVB pour les régions occupées.
available_region_color tuple (0, 0, 255) Tuple de couleurs RVB pour les régions disponibles.
margin int 10 Marge pour l'affichage du texte.

Arguments model.track

Nom Type DĂ©faut Description
source im0 None répertoire source pour les images ou les vidéos
persist bool False persistance des pistes entre les images
tracker str botsort.yaml MĂ©thode de suivi 'bytetrack' ou 'botsort'
conf float 0.3 Seuil de confiance
iou float 0.5 Seuil de reconnaissance de dette
classes list None filtre les résultats par classe, c'est-à-dire classes=0, ou classes=[0,2,3]
verbose bool True Affiche les résultats du suivi des objets


Créé le 2024-04-29, Mis à jour le 2024-05-18
Auteurs : glenn-jocher (2), RizwanMunawar (2)

Commentaires