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

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

हमारे होस्टेड 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())

रिस्पॉन्स ऑब्जेक्ट प्रारूप

होस्टेड API अनुमान मार्ग एक JSON ऑब्जेक्ट जिसमें prediction की array होती है। हर prediction में निम्नलिखित properties होती हैं:

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

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

  • width = bounding box की चौड़ाई

  • height = bounding box की ऊँचाई

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

  • confidence = मॉडल का confidence कि डिटेक्टेड ऑब्जेक्ट का लेबल और पोजिशन सही है

  • keypoints = कीपॉइंट प्रेडिक्शन्स की एक ऐरे

    • x = कीपॉइंट का क्षैतिज केंद्र (इमेज के टॉप-लेफ्ट कोने के सापेक्ष)

    • y = कीपॉइंट का ऊर्ध्वाधर केंद्र (इमेज के टॉप-लेफ्ट कोने के सापेक्ष)

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

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

    • confidence = यह विश्वास कि कीपॉइंट की स्थिति सही है, और वह दिखाई दे रहा है (न ओक्लूडेड है, न डिलीटेड)

यहाँ REST API से एक उदाहरण response object है:

{
    "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
    }
}

The इमेज attribute में उस इमेज की ऊँचाई और चौड़ाई होती है जिसे inference के लिए भेजा गया था। आपको bounding box कैलकुलेशन के लिए इन मानों का उपयोग करना पड़ सकता है।

Inference API Parameters

Inference API का उपयोग करना

POST https://detect.roboflow.com/:datasetSlug/:versionNumber

आप अपनी model endpoint पर सीधे base64 एन्कोडेड इमेज POST कर सकते हैं। या यदि आपकी इमेज पहले से कहीं और होस्टेड है, तो आप URL को इमेज query string में parameter के रूप में पास कर सकते हैं।

पाथ पैरामीटर्स

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

datasetSlug

string

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

version

number

आपके डेटासेट के वर्शन की पहचान करने वाला वर्शन नंबर

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

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

इमेज

string

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

classes

string

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

overlap

number

अधिकतम प्रतिशत (0-100 के पैमाने पर) जितना bounding box prediction एक ही class के allowed हैं ओवरलैप करने के लिए, इससे पहले कि उन्हें एक बॉक्स में मिला दिया जाए। Default: 30

confidence

number

रिटर्न किए गए प्रेडिक्शन के लिए थ्रेशहोल्ड (0-100 के पैमाने पर)। कम नंबर अधिक prediction लौटाएगा। अधिक नंबर कम लेकिन अधिक निश्चितता वाले prediction लौटाएगा। Default: 40

stroke

number

prediction के चारों ओर दिखाए गए bounding box की चौड़ाई (पिक्सल में) (केवल तभी प्रभाव डालता है जब format है इमेज). Default: 1

labels

boolean

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

format

string

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

api_key

string

आपका API key (आपके workspace API settings पेज से प्राप्त)

रिक्वेस्ट बॉडी

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

string

एक base64 एन्कोडेड इमेज। (आवश्यक जब आप query parameters में इमेज 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?