ऑब्जेक्ट डिटेक्शन

रोबोफ्लो पर होस्ट किए गए अपने ऑब्जेक्ट डिटेक्शन मॉडल्स पर इनफेरेंस चलाएँ।

Roboflow होस्टेड API का उपयोग करके ऑब्जेक्ट डिटेक्शन इंफरेंस चलाने के कई तरीके हैं। आप हमारे विभिन्न SDKs में से किसी एक का उपयोग कर सकते हैं, या हमारे होस्टेड एंडपॉइंट पर एक REST अनुरोध भेज सकते हैं।

डिपेंडेंसीज़ इंस्टॉल करने के लिए, pip install inference-sdk.

# inference-sdk इम्पोर्ट करें
from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(
    api_url="https://detect.roboflow.com",
    api_key="API_KEY"
)

result = CLIENT.infer(your_image.jpg, model_id="football-players-detection-3zvbc/12")

API संदर्भ

URL

पोस्ट https://detect.roboflow.com/:projectId/:versionNumber

नाम
प्रकार
विवरण

projectId

स्ट्रिंग

डेटासेट नाम का url-सुरक्षित संस्करण। आप इसे वेब UI में मुख्य प्रोजेक्ट दृश्य पर URL देखकर या अपने मॉडल को ट्रेन करने के बाद अपने डेटासेट संस्करण के ट्रेन परिणाम अनुभाग में "Get curl command" बटन पर क्लिक करके पा सकते हैं।

संस्करण

संख्या

संस्करण संख्या जो आपके डेटासेट के संस्करण की पहचान करती है

देखें कि अपना प्रोजेक्ट ID और संस्करण संख्या कैसे प्राप्त करें यहाँ.

Hosted Inference API को REST अनुरोध के माध्यम से छवि भेजने के दो तरीके हैं:

  • संलग्न करें base64 एन्कोडेड छवि को पोस्ट अनुरोध बॉडी

  • छवि फ़ाइल का URL भेजें इमेज URL क्वेरी

    • उदा: https://detect.roboflow.com/:datasetSlug/:versionNumber?image=https://imageurl.com

क्वेरी पैरामीटर

नाम
प्रकार
विवरण

इमेज

स्ट्रिंग

जोड़ने के लिए छवि का URL। इसका उपयोग करें यदि आपकी छवि कहीं और होस्ट की गई है। (आवश्यक जब आप अनुरोध बॉडी में base64 एन्कोडेड छवि पोस्ट नहीं करते हैं।) नोट: URL-एन्कोड करना न भूलें।

क्लासेस

स्ट्रिंग

प्रेडिक्शन को केवल कुछ निश्चित क्लासेस तक सीमित करें। इसे कॉमा से अलग स्ट्रिंग के रूप में दें। उदाहरण: dog,cat डिफ़ॉल्ट: मौजूद नहीं (सभी क्लासेस दिखाएँ)

ओवरलैप

संख्या

अधिकतम प्रतिशत (0-100 के पैमाने पर) जो एक ही क्लास की बाउंडिंग बॉक्स प्रेडिक्शन को एक बॉक्स में मिलाने से पहले ओवरलैप करने की अनुमति है।

डिफ़ॉल्ट: 30

कॉन्फिडेंस

संख्या

वापसी की गई प्रेडिक्शन के लिए एक थ्रेशोल्ड 0-100 के पैमाने पर। कम संख्या अधिक प्रेडिक्शन लौटाएगी। अधिक संख्या कम लेकिन अधिक निश्चितता वाली प्रेडिक्शन लौटाएगी।

डिफ़ॉल्ट: 40

स्ट्रोक

संख्या

बाउंडिंग बॉक्स की चौड़ाई (पिक्सल में) जो प्रेडिक्शन के चारों ओर दिखाई जाती है (केवल तभी प्रभावी जब फॉर्मेट है इमेज).

डिफ़ॉल्ट: 1

लेबल्स

बूलियन

क्या प्रेडिक्शन पर टेक्स्ट लेबल दिखाना है या नहीं (केवल तभी प्रभावी जब फॉर्मेट है इमेज).

डिफ़ॉल्ट: false

फॉर्मेट

स्ट्रिंग

विकल्प:

  • json: JSON प्रेडिक्शन की एक ऐरे लौटाता है। (प्रतिक्रिया प्रारूप टैब देखें)।

  • image: एनोटेटेड प्रेडिक्शन के साथ एक छवि लौटाता है एक बाइनरी ब्लॉब के रूप में जिसमें Content-Type का image/jpeg.

डिफ़ॉल्ट: json

api_key

स्ट्रिंग

आपकी API कुंजी (आपके कार्यक्षेत्र API सेटिंग्स पेज से प्राप्त)

अनुरोध बॉडी

प्रकार
विवरण

स्ट्रिंग

एक base64 एन्कोडेड छवि। (आवश्यक जब आप क्वेरी पैरामीटर में छवि URL पास नहीं करते हैं।)

सामग्री प्रकार होना चाहिए application/x-www-form-urlencoded एक स्ट्रिंग बॉडी के साथ।

प्रतिक्रिया प्रारूप

होस्टेड API इंफरेंस एंडपॉइंट, साथ ही हमारे अधिकांश SDKs, लौटाते हैं JSON ऑब्जेक्ट जिसमें प्रेडिक्शन की एक ऐरे होती है। प्रत्येक प्रेडिक्शन में निम्नलिखित गुण होते हैं:

  • x = डिटेक्टेड ऑब्जेक्ट का क्षैतिज केंद्र बिंदु

  • y = डिटेक्टेड ऑब्जेक्ट का ऊर्ध्वाधर केंद्र बिंदु

  • चौड़ाई = बाउंडिंग बॉक्स की चौड़ाई

  • ऊंचाई = बाउंडिंग बॉक्स की ऊंचाई

  • क्लास = डिटेक्टेड ऑब्जेक्ट का क्लास लेबल

  • कॉन्फिडेंस = मॉडल का आत्मविश्वास कि डिटेक्टेड ऑब्जेक्ट के पास सही लेबल और स्थिति निर्देशांक हैं

यहाँ REST API से एक उदाहरण प्रतिक्रिया ऑब्जेक्ट है:

{
    "predictions": [
        {
            "x": 189.5,
            "y": 100,
            "width": 163,
            "height": 186,
            "class": "helmet",
            "confidence": 0.544
        }
    ],
    "image": {
        "width": 2048,
        "height": 1371
    }
}

यह इमेज गुण में उस छवि की ऊंचाई और चौड़ाई होती है जिसे इंफरेंस के लिए भेजा गया था। आपको बाउंडिंग बॉक्स गणना के लिए इन मानों का उपयोग करने की आवश्यकता हो सकती है।

Inference API JSON आउटपुट से बॉक्स बनाना

बाउंडिंग बॉक्स रेंडर करने के लिए फ्रेमवर्क और पैकेज पोजिशनल फॉर्मेट्स में भिन्न हो सकते हैं। प्रतिक्रिया JSON ऑब्जेक्ट के गुणों के अनुसार, एक बाउंडिंग बॉक्स हमेशा निम्नलिखित नियमों के कुछ संयोजन का उपयोग करके बनाया जा सकता है:

  • केंद्र बिंदु हमेशा होगा (x,y)

  • कोने के बिंदु (x1, y1) और (x2, y2) इनका पता लगाया जा सकता है:

    • x1 = x - (चौड़ाई/2)

    • y1 = y - (ऊंचाई/2)

    • x2 = x + (चौड़ाई/2)

    • y2 = y + (ऊंचाई/2)

कोने के बिंदु का तरीका एक सामान्य पैटर्न है और ऐसी लाइब्रेरीज़ में देखा जाता है जैसे Pillow जब बनाते हैं बॉक्स ऑब्जेक्ट जो बाउंडिंग बॉक्स को एक छवि.

पर रेंडर करता है। जब आप predictions!

# Pillow लाइब्रेरी से उदाहरण बॉक्स ऑब्जेक्ट
for bounding_box in detections:
    x1 = bounding_box['x'] - bounding_box['width'] / 2
    x2 = bounding_box['x'] + bounding_box['width'] / 2
    y1 = bounding_box['y'] - bounding_box['height'] / 2
    y2 = bounding_box['y'] + bounding_box['height'] / 2
    box = (x1, x2, y1, y2)

Last updated

Was this helpful?