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

VisionEye View ऑब्जेक्ट मैपिंग का उपयोग कर Ultralytics YOLOv8 🚀

विजनआई ऑब्जेक्ट मैपिंग क्या है?

Ultralytics YOLOv8 VisionEye कंप्यूटर को वस्तुओं की पहचान करने और इंगित करने की क्षमता प्रदान करता है, जो मानव आंख की अवलोकन संबंधी सटीकता का अनुकरण करता है। यह कार्यक्षमता कंप्यूटर को विशिष्ट वस्तुओं पर विचार करने और ध्यान केंद्रित करने में सक्षम बनाती है, जिस तरह से मानव आंख किसी विशेष दृष्टिकोण से विवरण देखती है।

नमूने

विजनआई व्यू ऑब्जेक्ट ट्रैकिंग के साथ VisionEye दृश्य
VisionEye View ऑब्जेक्ट मैपिंग का उपयोग कर Ultralytics YOLOv8 VisionEye व्यू ऑब्जेक्ट मैपिंग का उपयोग करके ऑब्जेक्ट ट्रैकिंग के साथ Ultralytics YOLOv8
VisionEye View ऑब्जेक्ट मैपिंग का उपयोग कर Ultralytics YOLOv8 VisionEye व्यू ऑब्जेक्ट मैपिंग का उपयोग करके ऑब्जेक्ट ट्रैकिंग के साथ Ultralytics YOLOv8

VisionEye ऑब्जेक्ट मैपिंग का उपयोग कर YOLOv8

import cv2
from ultralytics import YOLO
from ultralytics.utils.plotting import colors, Annotator

model = YOLO("yolov8n.pt")
names = model.model.names
cap = cv2.VideoCapture("path/to/video/file.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

out = cv2.VideoWriter('visioneye-pinpoint.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))

center_point = (-10, h)

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

    results = model.predict(im0)
    boxes = results[0].boxes.xyxy.cpu()
    clss = results[0].boxes.cls.cpu().tolist()

    annotator = Annotator(im0, line_width=2)

    for box, cls in zip(boxes, clss):
        annotator.box_label(box, label=names[int(cls)], color=colors(int(cls)))
        annotator.visioneye(box, center_point)

    out.write(im0)
    cv2.imshow("visioneye-pinpoint", im0)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

out.release()
cap.release()
cv2.destroyAllWindows()
import cv2
from ultralytics import YOLO
from ultralytics.utils.plotting import colors, Annotator

model = YOLO("yolov8n.pt")
cap = cv2.VideoCapture("path/to/video/file.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

out = cv2.VideoWriter('visioneye-pinpoint.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))

center_point = (-10, h)

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

    annotator = Annotator(im0, line_width=2)

    results = model.track(im0, persist=True)
    boxes = results[0].boxes.xyxy.cpu()

    if results[0].boxes.id is not None:
        track_ids = results[0].boxes.id.int().cpu().tolist()

        for box, track_id in zip(boxes, track_ids):
            annotator.box_label(box, label=str(track_id), color=colors(int(track_id)))
            annotator.visioneye(box, center_point)

    out.write(im0)
    cv2.imshow("visioneye-pinpoint", im0)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

out.release()
cap.release()
cv2.destroyAllWindows()

visioneye तर्क

नाम प्रकार चूक विवरण: __________
color tuple (235, 219, 11) रेखा और वस्तु केन्द्रक रंग
pin_color tuple (255, 0, 255) VisionEye पिनपॉइंट रंग
thickness int 2 ऑब्जेक्ट लाइन मोटाई के लिए पिनपॉइंट
pins_radius int 10 पिनपॉइंट और ऑब्जेक्ट सेंट्रोइड पॉइंट सर्कल रेडियस

नोट

किसी भी पूछताछ के लिए, में अपने प्रश्नों को पोस्ट करने के लिए स्वतंत्र महसूस करें Ultralytics मुद्दा अनुभाग या नीचे उल्लिखित चर्चा अनुभाग।



2023-12-18 बनाया गया, अपडेट किया गया 2024-01-15
लेखक: ग्लेन-जोचर (5), chr043416@gmail.com (1)

टिप्पणियाँ