Overslaan naar inhoud

Parkeerbeheer met Ultralytics YOLOv8 ๐Ÿš€

Wat is parkeerbeheersysteem?

Parkeerbeheer met Ultralytics YOLOv8 zorgt voor efficiรซnt en veilig parkeren door het organiseren van parkeerplaatsen en het bewaken van de beschikbaarheid. YOLOv8 kan het beheer van parkeerplaatsen verbeteren door real-time voertuigdetectie en inzicht in de parkeerbezetting.

Voordelen van parkeerbeheersystemen?

  • Efficiรซntie: Parkeerplaatsbeheer optimaliseert het gebruik van parkeerplaatsen en vermindert opstoppingen.
  • Veiligheid en beveiliging: Parkeerbeheer met YOLOv8 verbetert de veiligheid van zowel mensen als voertuigen door bewaking en beveiligingsmaatregelen.
  • Minder uitstoot: Parkeerbeheer met YOLOv8 beheert de verkeersstroom om stilstand en uitstoot op parkeerplaatsen te minimaliseren.

Toepassingen in de echte wereld

Parkeerbeheersysteem Parkeerbeheersysteem
Parkeerplaatsen Analytics Gebruiken Ultralytics YOLOv8 Parkeerbeheer bovenaanzicht met behulp van Ultralytics YOLOv8
Parkeerbeheer Aeriel View met behulp van Ultralytics YOLOv8 Parkeerbeheer Bovenaanzicht met behulp van Ultralytics YOLOv8

Parkeerbeheersysteem Code Workflow

Selectie van punten

Puntselectie is nu eenvoudig

Het kiezen van parkeerpunten is een kritieke en complexe taak in parkeerbeheersystemen. Ultralytics stroomlijnt dit proces door een tool te bieden waarmee je parkeerterreinen kunt definiรซren, die later kunnen worden gebruikt voor aanvullende verwerking.

  • Leg een frame vast van de video- of camerastream waar je de parkeerplaats wilt beheren.
  • Gebruik de bijgeleverde code om een grafische interface te starten, waar je een afbeelding kunt selecteren en met een muisklik kunt beginnen met het omlijnen van parkeergebieden om polygonen te maken.

Grootte afbeelding

Max. ondersteund afbeeldingsformaat van 1920 * 1080

from ultralytics.solutions.parking_management import ParkingPtsSelection, tk
root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
  • Nadat je de parkeergebieden hebt gedefinieerd met polygonen, klik je op save om een JSON-bestand met de gegevens in je werkmap op te slaan.

Ultralytics YOLOv8 Demo Punten selecteren

Python Code voor parkeerbeheer

Parkeerbeheer met YOLOv8 Voorbeeld

import cv2
from ultralytics.solutions.parking_management import ParkingManagement

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

Optionele argumenten ParkingManagement()

Naam Type Standaard Beschrijving
occupied_region_color RGB Color (0, 255, 0) Kleur bezette parkeerplaats regio
available_region_color RGB Color (0, 0, 255) Parkeerplaats beschikbaar regio kleur
margin int 10 Gat tussen tekstweergave voor meerdere klassen tellen
txt_color RGB Color (255, 255, 255) Voorgrondkleur voor objectteltekst
bg_color RGB Color (255, 255, 255) Rechthoek achter tekst achtergrondkleur

Argumenten model.track

Naam Type Standaard Beschrijving
source im0 None bronmap voor afbeeldingen of video's
persist bool False Blijvende sporen tussen frames
tracker str botsort.yaml Volgmethode 'bytetrack' of 'botsort'
conf float 0.3 Vertrouwensdrempel
iou float 0.5 Drempel IOU
classes list None filter resultaten op klasse, d.w.z. classes=0, of classes=[0,2,3]
verbose bool True De resultaten van het volgen van objecten weergeven


Gemaakt op 2024-04-29, Bijgewerkt op 2024-05-01
Auteurs: RizwanMunawar (2)

Reacties