İçeriğe geç

Ultralytics YOLOv8 adresini kullanarak Park Yönetimi 🚀

Otopark Yönetim Sistemi Nedir?

Otopark yönetimi ile Ultralytics YOLOv8 alanları düzenleyerek ve kullanılabilirliği izleyerek verimli ve güvenli park etme sağlar. YOLOv8 gerçek zamanlı araç algılama ve park doluluğuna ilişkin içgörüler yoluyla otopark yönetimini iyileştirebilir.

Otopark Yönetim Sisteminin Avantajları Nelerdir?

  • Verimlilik: Otopark yönetimi, park yerlerinin kullanımını optimize eder ve sıkışıklığı azaltır.
  • Emniyet ve Güvenlik: YOLOv8 kullanılarak yapılan park yönetimi, gözetim ve güvenlik önlemleri sayesinde hem insanların hem de araçların güvenliğini artırır.
  • Azaltılmış Emisyonlar: YOLOv8 adresini kullanan park yönetimi, otoparklardaki boşta kalma süresini ve emisyonları en aza indirmek için trafik akışını yönetir.

Gerçek Dünya Uygulamaları

Otopark Yönetim Sistemi Otopark Yönetim Sistemi
Otoparklar Analitik Kullanımı Ultralytics YOLOv8 Park yönetimi üstten görünüm kullanarak Ultralytics YOLOv8
Otopark yönetimi Aeriel View kullanarak Ultralytics YOLOv8 Park yönetimi Üstten Görünüm kullanarak Ultralytics YOLOv8

Otopark Yönetim Sistemi Kod İş Akışı

Puanların Seçimi

Nokta Seçimi Artık Çok Kolay

Park noktalarının seçilmesi, park yönetim sistemlerinde kritik ve karmaşık bir görevdir. Ultralytics , daha sonra ek işlemler için kullanılabilecek park alanlarını tanımlamanıza olanak tanıyan bir araç sağlayarak bu süreci kolaylaştırır.

  • Park yerini yönetmek istediğiniz video veya kamera akışından bir kare yakalayın.
  • Bir görüntü seçebileceğiniz ve çokgenler oluşturmak için fare tıklamasıyla park bölgelerinin ana hatlarını çizmeye başlayabileceğiniz bir grafik arayüzü başlatmak için sağlanan kodu kullanın.

Resim Boyutu

Maksimum Görüntü Boyutu 1920 * 1080 desteklenir

from ultralytics.solutions.parking_management import ParkingPtsSelection, tk
root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
  • Park alanlarını poligonlarla tanımladıktan sonra save verileri içeren bir JSON dosyasını çalışma dizininizde saklamak için.

Ultralytics YOLOv8 Puan Seçimi Demosu

Python Otopark Yönetimi için Kod

YOLOv8 kullanarak park yönetimi Örnek

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

İsteğe Bağlı Argümanlar ParkingManagement()

İsim Tip Varsayılan Açıklama
occupied_region_color RGB Color (0, 255, 0) Park alanı dolu bölge rengi
available_region_color RGB Color (0, 0, 255) Park yeri mevcut bölge rengi
margin int 10 Birden fazla sınıf sayısı için metin gösterimi arasındaki boşluk
txt_color RGB Color (255, 255, 255) Nesne sayımları metni için ön plan rengi
bg_color RGB Color (255, 255, 255) Metin arka plan renginin arkasındaki dikdörtgen

Argümanlar model.track

İsim Tip Varsayılan Açıklama
source im0 None resimler veya videolar için kaynak dizin
persist bool False kareler arasında kalıcı izler
tracker str botsort.yaml İzleme yöntemi 'bytetrack' veya 'botsort'
conf float 0.3 Güven Eşiği
iou float 0.5 IOU Eşiği
classes list None sonuçları sınıfa göre filtreleyin, yani classes=0 veya classes=[0,2,3]
verbose bool True Nesne izleme sonuçlarını görüntüleme


Oluşturuldu 2024-04-29, Güncellendi 2024-05-01
Yazarlar: RizwanMunawar (2)

Yorumlar