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

दूरी गणना का उपयोग कर Ultralytics YOLOv8 🚀

दूरी की गणना क्या है?

दो वस्तुओं के बीच की खाई को मापने को एक निर्दिष्ट स्थान के भीतर दूरी गणना के रूप में जाना जाता है। के मामले में Ultralytics YOLOv8, बाउंडिंग बॉक्स सेंट्रोइड को उपयोगकर्ता द्वारा हाइलाइट किए गए बाउंडिंग बॉक्स के लिए दूरी की गणना करने के लिए नियोजित किया जाता है।



सतर्कता: दूरी गणना का उपयोग कर Ultralytics YOLOv8

दृश्यों

दूरी गणना का उपयोग कर Ultralytics YOLOv8
Ultralytics YOLOv8 दूरी की गणना

दूरी गणना के लाभ?

  • स्थानीयकरण परिशुद्धता: कंप्यूटर दृष्टि कार्यों में सटीक स्थानिक स्थिति को बढ़ाता है।
  • आकार अनुमान: बेहतर प्रासंगिक समझ के लिए भौतिक आकारों के अनुमान की अनुमति देता है।
  • दृश्य समझ: बेहतर निर्णय लेने के लिए पर्यावरण की 3D समझ में योगदान देता है।
दूरी की गणना
  • दूरी गणना के लिए बाएं माउस क्लिक के साथ किसी भी दो बाउंडिंग बॉक्स पर क्लिक करें

दूरी गणना का उपयोग कर YOLOv8 उदाहरण

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
names = model.model.names

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("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
dist_obj = solutions.DistanceCalculation(names=names, view_img=True)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    tracks = model.track(im0, persist=True, show=False)
    im0 = dist_obj.start_process(im0, tracks)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
नोट
  • माउस राइट क्लिक सभी खींचे गए बिंदुओं को हटा देगा
  • माउस लेफ्ट क्लिक का उपयोग अंक आकर्षित करने के लिए किया जा सकता है

तर्क DistanceCalculation()

Name Type Default या क़िस्‍म
names dict None शब्दकोश मानचित्रण वर्ग के नामों के लिए वर्ग सूचकांक।
pixels_per_meter int 10 पिक्सेल से मीटर तक रूपांतरण कारक।
view_img bool False यह इंगित करने के लिए ध्वजांकित करें कि वीडियो स्ट्रीम प्रदर्शित की जानी चाहिए या नहीं।
line_thickness int 2 छवि पर खींची गई रेखाओं की मोटाई।
line_color tuple (255, 255, 0) छवि पर खींची गई रेखाओं का रंग (बीजीआर प्रारूप)।
centroid_color tuple (255, 0, 255) खींचे गए सेंट्रोइड का रंग (बीजीआर प्रारूप)।

तर्क 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 ऑब्जेक्ट ट्रैकिंग परिणाम प्रदर्शित करें


Created 2024-01-05, Updated 2024-06-10
Authors: glenn-jocher (6), IvorZhu331 (1), RizwanMunawar (5), AyushExel (1)

टिप्पणियाँ