Keypoint Detection

Roboflow पर होस्ट किए गए अपने object detection मॉडलों पर inference चलाएँ।

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

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

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

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

# किसी अन्य जगह होस्ट की गई छवि पर inference
# print(model.predict("URL_OF_YOUR_IMAGE", hosted=True, confidence=40, overlap=30).json())

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

होस्ट किया गया API inference मार्ग एक लौटाता है JSON एक ऑब्जेक्ट जिसमें predictions की एक array होती है। प्रत्येक prediction के निम्नलिखित गुण होते हैं:

  • x = पहचान किए गए ऑब्जेक्ट का क्षैतिज केंद्र बिंदु

  • y = पहचान किए गए ऑब्जेक्ट का ऊर्ध्वाधर केंद्र बिंदु

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

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

  • class = पहचान किए गए ऑब्जेक्ट का क्लास लेबल

  • confidence = मॉडल का भरोसा (confidence) कि पहचान किया गया ऑब्जेक्ट सही लेबल और स्थिति निर्देशांकों के साथ है

  • keypoints = keypoint भविष्यवाणियों की एक array

    • x = keypoint का क्षैतिज केंद्र (छवि के शीर्ष-बाएं कोने के सापेक्ष)

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

    • class_name = keypoint का नाम

    • class_id = keypoint की id, जो skeleton से मैप होती है vertices version रिकॉर्ड में, vertex रंग और skeleton edges मैप करने के लिए, अपना Project Version देखें

    • confidence = यह विश्वास/कॉन्फिडेंस कि keypoint की स्थिति सही है और दृश्य है (occluded या deleted नहीं)

यहाँ 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
    }
}

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

Inference API पैरामीटर

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

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

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

पाथ पैरामीटर

Name
प्रकार
Description

datasetSlug

string

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

version

number

आपके डेटासेट के संस्करण की पहचान करने वाला संस्करण संख्या

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

Name
प्रकार
Description

image

string

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

classes

string

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

overlap

number

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

confidence

number

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

stroke

number

भविष्यवाणियों के आसपास प्रदर्शित bounding box की चौड़ाई (पिक्सल में) (केवल तब प्रभावी जब format है image). डिफ़ॉल्ट: 1

labels

boolean

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

format

string

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

api_key

string

आपकी API key (आपके Workspace API settings पृष्ठ से प्राप्त)

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

Name
प्रकार
Description

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?