कीपॉइंट डिटेक्शन

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

हमारे होस्टेड API के माध्यम से इनफेरेंस चलाने के लिए, Python का उपयोग करें, उपयोग करें roboflow Python पैकेज:

from roboflow import Roboflow
rf = Roboflow(api_key="API_KEY")
project = rf.workspace().project("MODEL_ENDPOINT")
model = project.version(VERSION).model

# स्थानीय छवि पर इनफर करें
print(model.predict("your_image.jpg", confidence=40, overlap=30).json())

# अपनी भविष्यवाणी को विज़ुअलाइज़ करें
# model.predict("your_image.jpg", confidence=40, overlap=30).save("prediction.jpg")

# कहीं और होस्ट की गई छवि पर इनफर करें
# print(model.predict("URL_OF_YOUR_IMAGE", hosted=True, confidence=40, overlap=30).json())

प्रतिक्रिया ऑब्जेक्ट प्रारूप

होस्टेड एपीआई इंफरेंस रूट लौटाता है JSON ऑब्जेक्ट जिसमें प्रेडिक्शन की एक ऐरे होती है। प्रत्येक प्रेडिक्शन में निम्नलिखित गुण होते हैं:

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

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

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

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

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

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

  • कीपॉइंट्स = कीपॉइंट भविष्यवाणियों की एक ऐरे

    • x = कीपॉइंट का क्षैतिज केंद्र (छवि के ऊपर-बाएँ कोने के सापेक्ष)

    • y = कीपॉइंट का ऊर्ध्वाधर केंद्र (छवि के ऊपर-बाएँ कोने के सापेक्ष)

    • class_name = कीपॉइंट का नाम

    • class_id = कीपॉइंट की आईडी, कंकाल से मैप होती है वर्टिसेस संस्करण रिकॉर्ड में, वर्टेक्स रंग और कंकाल किनारों को मैप करने के लिए, अपना प्रोजेक्ट संस्करण देखें

    • कॉन्फिडेंस = यह विश्वास कि कीपॉइंट की स्थिति सही है, और वह दिखाई दे रहा है (न छुपा है, न हटाया गया है)

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

{
    "predictions": [
        {
            "x": 189.5,
            "y": 100,
            "width": 163,
            "height": 186,
            "class": "helmet",
            "confidence": 0.544,
            "keypoints": [
                {
                    "x": 189, 
                    "y": 20,
                    "class_name": "top",
                    "class_id": 0,
                    "confidence": 0.91
                },
                {
                    "x": 188, 
                    "y": 180,
                    "class_name": "bottom",
                    "class_id": 1,
                    "confidence": 0.93
                }
            ]
        }
    ],
    "image": {
        "width": 2048,
        "height": 1371
    }
}

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

इनफेरेंस API पैरामीटर

इन्फरेंस एपीआई का उपयोग करना

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

आप अपने मॉडल एंडपॉइंट पर सीधे बेस64 एन्कोडेड इमेज POST कर सकते हैं। या यदि आपकी छवि पहले से कहीं और होस्ट की गई है, तो आप इसे इमेज क्वेरी स्ट्रिंग में पैरामीटर के रूप में पास कर सकते हैं।

पथ पैरामीटर

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

डेटासेटस्लग

स्ट्रिंग

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

संस्करण

संख्या

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

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

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

इमेज

स्ट्रिंग

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

क्लासेस

स्ट्रिंग

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

ओवरलैप

संख्या

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

कॉन्फिडेंस

संख्या

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

स्ट्रोक

संख्या

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

लेबल्स

बूलियन

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

फॉर्मेट

स्ट्रिंग

json - एक JSON भविष्यवाणियों की ऐरे लौटाता है। (प्रतिक्रिया प्रारूप टैब देखें)। इमेज - एनोटेटेड भविष्यवाणियों के साथ एक छवि लौटाता है, एक बाइनरी ब्लॉब के रूप में Content-Type का image/jpeg. image_and_json - एक JSON भविष्यवाणियों की ऐरे लौटाता है, जिसमें बेस64 में एक विज़ुअलाइज़ेशन फ़ील्ड शामिल है। डिफ़ॉल्ट: json

api_key

स्ट्रिंग

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

अनुरोध बॉडी

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

स्ट्रिंग

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

{
    "predictions": [{
        "x": 234.0,
        "y": 363.5,
        "width": 160,
        "height": 197,
        "class": "hand",
        "confidence": 0.943
    }, {
        "x": 504.5,
        "y": 363.0,
        "width": 215,
        "height": 172,
        "class": "hand",
        "confidence": 0.917
    }, {
        "x": 1112.5,
        "y": 691.0,
        "width": 139,
        "height": 52,
        "class": "hand",
        "confidence": 0.87
    }, {
        "x": 78.5,
        "y": 700.0,
        "width": 139,
        "height": 34,
        "class": "hand",
        "confidence": 0.404
    }]
}

Last updated

Was this helpful?