सामग्री पर जाएं

पार्किंग प्रबंधन का उपयोग कर Ultralytics YOLOv8 🚀

पार्किंग प्रबंधन प्रणाली क्या है?

पार्किंग प्रबंधन के साथ Ultralytics YOLOv8 रिक्त स्थान व्यवस्थित करके और उपलब्धता की निगरानी करके कुशल और सुरक्षित पार्किंग सुनिश्चित करता है। YOLOv8 वास्तविक समय वाहन का पता लगाने के माध्यम से पार्किंग स्थल प्रबंधन में सुधार कर सकते हैं, और पार्किंग अधिभोग में अंतर्दृष्टि।

पार्किंग प्रबंधन प्रणाली के लाभ?

  • दक्षता: पार्किंग स्थल प्रबंधन पार्किंग रिक्त स्थान के उपयोग का अनुकूलन करता है और भीड़ को कम करता है।
  • बचाव और सुरक्षा: पार्किंग प्रबंधन का उपयोग कर YOLOv8 निगरानी और सुरक्षा उपायों के माध्यम से लोगों और वाहनों दोनों की सुरक्षा में सुधार करता है।
  • कम उत्सर्जन: पार्किंग प्रबंधन का उपयोग कर YOLOv8 पार्किंग स्थल में निष्क्रिय समय और उत्सर्जन को कम करने के लिए यातायात प्रवाह का प्रबंधन करता है।

वास्तविक दुनिया अनुप्रयोग

पार्किंग प्रबंधन प्रणाली पार्किंग प्रबंधन प्रणाली
पार्किंग स्थल विश्लेषिकी का उपयोग करना Ultralytics YOLOv8 पार्किंग प्रबंधन शीर्ष view का उपयोग कर Ultralytics YOLOv8
पार्किंग प्रबंधन एरियल व्यू का उपयोग कर Ultralytics YOLOv8 पार्किंग प्रबंधन शीर्ष View का उपयोग कर Ultralytics YOLOv8

पार्किंग प्रबंधन प्रणाली कोड वर्कफ़्लो

अंकों का चयन

बिंदु चयन अब आसान है

पार्किंग प्रबंधन प्रणालियों में पार्किंग बिंदु चुनना एक महत्वपूर्ण और जटिल कार्य है। Ultralytics एक उपकरण प्रदान करके इस प्रक्रिया को सुव्यवस्थित करता है जो आपको पार्किंग स्थल क्षेत्रों को परिभाषित करने देता है, जिसका उपयोग बाद में अतिरिक्त प्रसंस्करण के लिए किया जा सकता है।

  • वीडियो या कैमरा स्ट्रीम से एक फ्रेम कैप्चर करें जहां आप पार्किंग स्थल का प्रबंधन करना चाहते हैं।
  • ग्राफिकल इंटरफ़ेस लॉन्च करने के लिए दिए गए कोड का उपयोग करें, जहां आप एक छवि का चयन कर सकते हैं और बहुभुज बनाने के लिए माउस क्लिक द्वारा पार्किंग क्षेत्रों की रूपरेखा शुरू कर सकते हैं।

छवि का आकार

1920 * 1080 समर्थित की अधिकतम छवि आकार

from ultralytics.solutions.parking_management import ParkingPtsSelection, tk

root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
  • पार्किंग क्षेत्रों को बहुभुजों से परिभाषित करने के बाद, क्लिक करें save JSON फ़ाइल को आपकी कार्यशील निर्देशिका में डेटा के साथ संग्रहीत करने के लिए।

Ultralytics YOLOv8 अंक चयन डेमो

Python पार्किंग प्रबंधन के लिए कोड

पार्किंग प्रबंधन का उपयोग कर YOLOv8 उदाहरण

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

वैकल्पिक तर्क ParkingManagement

नाम प्रकार चूक या क़िस्‍म
model_path str None करने के लिए पथ YOLOv8 को गढ़ना।
txt_color tuple (0, 0, 0) पाठ के लिए आरजीबी रंग टपल।
bg_color tuple (255, 255, 255) पृष्ठभूमि के लिए आरजीबी रंग टपल।
occupied_region_color tuple (0, 255, 0) कब्जे वाले क्षेत्रों के लिए आरजीबी रंग टपल।
available_region_color tuple (0, 0, 255) उपलब्ध क्षेत्रों के लिए RGB रंग टपल।
margin int 10 पाठ प्रदर्शन के लिए मार्जिन.

तर्क model.track

नाम प्रकार चूक या क़िस्‍म
source im0 None छवियों या वीडियो के लिए स्रोत निर्देशिका
persist bool False फ़्रेम के बीच लगातार ट्रैक
tracker str botsort.yaml ट्रैकिंग विधि 'बाइटट्रैक' या 'बॉटसॉर्ट'
conf float 0.3 कॉन्फिडेंस थ्रेशोल्ड
iou float 0.5 IOU थ्रेसहोल्ड
classes list None कक्षा द्वारा फ़िल्टर परिणाम, यानी कक्षाएं = 0, या कक्षाएं = [0,2,3]
verbose bool True ऑब्जेक्ट ट्रैकिंग परिणाम प्रदर्शित करें


बनाया गया 2024-04-29, अपडेट किया गया 2024-05-18
लेखक: ग्लेन-जोचर (2), रिजवान मुनव्वर (2)

टिप्पणियाँ