For the complete documentation index, see llms.txt. This page is also available as Markdown.

YOLO-World

हमारे Serverless Cloud API के माध्यम से YOLO-World ओपन-वोकैबुलरी ऑब्जेक्ट डिटेक्शन का उपयोग करें

YOLO-World एक ओपन-वोकैबुलरी ऑब्जेक्ट डिटेक्शन मॉडल है, जो बिना प्रशिक्षण के मनमाने टेक्स्ट क्लास नामों से ऑब्जेक्ट्स का पता लगाता है। हम अपने सर्वरलेस क्लाउड API.

YOLO-World चलाने के बारे में अधिक जानकारी के लिए, देखें इन्फरेंस दस्तावेज़.

कोड उदाहरण

YOLO-World को सीधे HTTP एंडपॉइंट के माध्यम से चलाएँ curl, या inference-sdk रैपर के साथ।

1

अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ खोजें Roboflow API सेटिंग्स पेज और इसे अपने शेल में उपलब्ध कराएँ:

export ROBOFLOW_API_KEY="your-key-here"
2

मॉडल चलाएँ

को कॉल करें /yolo_world/infer एंडपॉइंट के साथ curl:

curl --location 'https://serverless.roboflow.com/yolo_world/infer' \
  --header 'Content-Type: application/json' \
  --data '{
    "api_key": "'"$ROBOFLOW_API_KEY"'",
    "image": {"type": "url", "value": "https://media.roboflow.com/quickstart/traffic.jpg"},
    "text": ["car", "truck"],
    "yolo_world_version_id": "v2-s",
    "confidence": 0.05
  }'
1

अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ खोजें Roboflow API सेटिंग्स पेज और इसे अपने शेल में उपलब्ध कराएँ:

export ROBOFLOW_API_KEY="your-key-here"
2

निर्भरताओं को इंस्टॉल करें

SDK इंस्टॉल करें और supervision:

pip install -U inference-sdk supervision
3

मॉडल चलाएँ

कस्टम क्लास नामों के साथ YOLO-World चलाएँ, फिर supervision के साथ पूर्वानुमानों को डिकोड और विज़ुअलाइज़ करें।

import os
import cv2
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/quickstart/traffic.jpg")

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)

results = client.infer_from_yolo_world(
    inference_input=image,
    class_names=["car", "truck"],
    model_version="v2-s",
    confidence=0.05,
)

detections = sv.Detections.from_inference(results[0])

labels = [
    f"{name} {conf:.2f}"
    for name, conf in zip(detections.data["class_name"], detections.confidence)
]
annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections, labels=labels)
cv2.imwrite("annotated.png", annotated)

यह class_names आर्ग्युमेंट किसी भी क्लास नामों की सूची को स्वीकार करता है। उपलब्ध model_version मान: v2-s, v2-m, v2-l, v2-x, s, m, l, x.

इन्फरेंस गति

लेटेंसी मापी गई Roboflow Inference के साथ 1x NVIDIA L4 पर, बैच आकार 1, वार्मअप के बाद औसत।

मॉडल
लेटेंसी (ms)

yolo-world

12.4

पर मापा गया v2-s दो क्लास वाले वेरिएंट पर। क्लास सूची सेट करने पर टेक्स्ट एनकोडर एक बार चलता है, और इसे इस आँकड़े से बाहर रखा गया है क्योंकि यह प्रति फ़्रेम दोहराया नहीं जाता।

सेट करें api_url अपने डिप्लॉयमेंट लक्ष्य से मेल कराने के लिए:

Inference (self-hosted) के साथ उपयोग करें

YOLO-World आपके अपने हार्डवेयर पर भी चलता है, या तो inference पैकेज के साथ इन-प्रोसेस लोड होकर या एक स्थानीय Inference सर्वर द्वारा सर्व होकर। सक्षम हार्डवेयर पर (उदाहरण के लिए V100 GPU) यह रियल टाइम में चलता है, जो इसे वीडियो के लिए एक व्यावहारिक विकल्प बनाता है।

YOLO-World ब्लॉक को एक Workflow में जोड़ें और वे क्लासेस सेट करें जिन्हें आप detect करना चाहते हैं। फिर एक webcam, camera feed, या video file को उस Workflow के माध्यम से Inference SDK WebRTC क्लाइंट.

नेटिव पैकेज में, YOLO-World checkpoints को yolo_world/<version>के रूप में पहचाना जाता है, जहाँ <version> इनमें से एक होता है s, m, l, x, v2-s, v2-m, v2-l, v2-xv2- चेकपॉइंट्स नए हैं और मूल्यांकन मेट्रिक्स पर बेहतर स्कोर करते हैं।

अधिकांश zero-shot detectors की तरह, YOLO-World सामान्य ऑब्जेक्ट्स (कार, लोग, कुत्ते) पर सबसे मजबूत है और संकीर्ण, बारीक श्रेणियों पर कमजोर है। अपने दृश्य के लिए क्या काम करता है, यह जानने के लिए prompt wording के साथ प्रयोग करें।

अंतिम अपडेट

क्या यह उपयोगी था?