Object Detection
Roboflow पर होस्ट किए गए अपने object detection मॉडलों पर inference चलाएँ।
Roboflow Hosted API का उपयोग करके वस्तु पहचान (object detection) इनफरेंस चलाने के कई तरीके हैं। आप हमारे विभिन्न SDKs में से किसी एक का उपयोग कर सकते हैं, या हमारे होस्ट किए गए endpoint पर एक 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")Linux या MacOS
स्थानीय फ़ाइल के लिए JSON भविष्यवाणियाँ प्राप्त करना जिसका नाम है YOUR_IMAGE.jpg:
base64 YOUR_IMAGE.jpg | curl -d @- \
"https://detect.roboflow.com/your-model/42?api_key=YOUR_KEY"वेब पर कहीं और होस्ट की गई छवि के URL के माध्यम से इनफर करने के लिए (भूलें नहीं कि इसे URL encode करें):
curl -X POST "https://detect.roboflow.com/your-model/42?\
api_key=YOUR_KEY&\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"Windows
आपको स्थापित करने की आवश्यकता होगी Windows के लिए curl और Windows के लिए GNU का base64 टूल. इसे करने का सबसे आसान तरीका है कि आप git for Windows इंस्टॉलर जिसमें यह भी शामिल है curl और base64 कमांड लाइन टूल जब आप इंस्टॉल के दौरान "Use Git and optional Unix tools from the Command Prompt" का चयन करते हैं।
फिर आप ऊपर दिए गए समान कमांड्स का उपयोग कर सकते हैं।
Node.js
हम उपयोग कर रहे हैं axios इस उदाहरण में POST अनुरोध करने के लिए, इसलिए पहले चलाएँ npm install axios निर्भरता स्थापित करने के लिए।
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
Web
हमारे पास रीयलटाइम ऑन-डिवाइस इनफरेंस उपलब्ध है द्वारा roboflow.js; देखें दस्तावेज़ यहाँ.
Kotlin
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
Java
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
Gemfile
Gemfile.lock
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
स्थानीय छवि पर इनफर करना
कहीं और होस्ट की गई छवि (URL के माध्यम से) पर इनफर करना
हमारे AI-समर्थित चैटबॉट Lenny से कहकर देखें कि वह आपके लिए एक कोड सैंपल बनाए!
inferencejs के साथ एज inference
URL
POST https://detect.roboflow.com/:projectId/:versionNumber
projectId
string
डेटासेट नाम का URL-सुरक्षित (url-safe) संस्करण। आप इसे वेब UI में मुख्य प्रोजेक्ट दृश्य पर URL देखकर पा सकते हैं या अपने मॉडल के प्रशिक्षण के बाद dataset version के train results सेक्शन में "Get curl command" बटन पर क्लिक करके भी देख सकते हैं।
version
number
आपके डेटासेट के संस्करण की पहचान करने वाला संस्करण संख्या
देखें कि अपने प्रोजेक्ट ID और संस्करण संख्या कैसे प्राप्त करें अधिकांश व्यावसायिक अनुप्रयोगों के लिए,.
Hosted Inference API को REST अनुरोध के माध्यम से छवि भेजने के दो तरीके हैं:
एक संलग्न करें
base64एन्कोड की गई छवि कोPOSTअनुरोध बॉडीछवि फ़ाइल का URL भेजें उपयोग करते हुए
imageURL क्वेरीउदा:
https://detect.roboflow.com/:datasetSlug/:versionNumber?image=https://imageurl.com
क्वेरी पैरामीटर
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.
डिफ़ॉल्ट: json
api_key
string
आपकी API key (आपके Workspace API settings पृष्ठ से प्राप्त)
रिक्वेस्ट बॉडी
string
एक base64 एन्कोडेड छवि। (जब आप query parameters में छवि URL पास नहीं करते हैं तो आवश्यक)।
सामग्री प्रकार होना चाहिए application/x-www-form-urlencoded एक string बॉडी के साथ।
प्रतिक्रिया फ़ॉर्मेट
होस्ट किया गया API inference endpoint, और हमारे अधिकांश SDKs, एक लौटाते हैं JSON एक ऑब्जेक्ट जिसमें predictions की एक array होती है। प्रत्येक prediction के निम्नलिखित गुण होते हैं:
x= पहचान किए गए ऑब्जेक्ट का क्षैतिज केंद्र बिंदुy= पहचान किए गए ऑब्जेक्ट का ऊर्ध्वाधर केंद्र बिंदुwidth= bounding box की चौड़ाईheight= bounding box की ऊँचाईclass= पहचान किए गए ऑब्जेक्ट का क्लास लेबलconfidence= मॉडल का भरोसा (confidence) कि पहचान किया गया ऑब्जेक्ट सही लेबल और स्थिति निर्देशांकों के साथ है
यहाँ REST API से एक उदाहरण प्रतिक्रिया ऑब्जेक्ट है:
The image attribute उस छवि की ऊँचाई और चौड़ाई को दर्शाता है जो inference के लिए भेजी गई थी। bounding box की गणनाओं के लिए आपको इन मानों का उपयोग करना पड़ सकता है।
Inference API JSON आउटपुट से बॉक्स बनाना
bounding boxes को रेंडर करने के लिए frameworks और पैकेज positional फॉर्मैट में भिन्न हो सकते हैं। दिए गए प्रतिक्रिया JSON ऑब्जेक्ट के गुणों को देखते हुए, निम्नलिखित नियमों के किसी संयोजन का उपयोग करके हमेशा एक bounding box बनाया जा सकता है:
केंद्र बिंदु हमेशा होगा (
x,y)कोण बिंदु
(x1, y1)और(x2, y2)इनका पता लगाया जा सकता है:x1=x - (width/2)y1=y - (height/2)x2=x + (width/2)y2=y + (height/2)
कोण बिंदुओं का तरीका एक सामान्य पैटर्न है और लाइब्रेरीज़ में देखा जाता है जैसे Pillow जब बनाते हैं box ऑब्जेक्ट bounding boxes को एक के भीतर रेंडर करने के लिए Image.
जब काम कर रहे हों तो सभी मिलान (detections) के माध्यम से iterate करना न भूलें predictions!
Last updated
Was this helpful?