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 |
---|---|
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.
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 |