लक्सोनिस OAK
Myriad X VPU त्वरक के साथ अपने OpenCV AI Kit पर अपने रोबोफ्लो ट्रेन मॉडल को तैनात करें।
यह लक्सोनिस OAK (OpenCV AI किट) एक एज डिवाइस है जिसका उपयोग एम्बेडेड कंप्यूटर विज़न सिस्टम की तैनाती के लिए लोकप्रिय रूप से किया जाता है।
OAK डिवाइस को एक होस्ट मशीन के साथ जोड़ा जाता है जो डाउनस्ट्रीम एप्लिकेशन के संचालन को नियंत्रित करती है। कुछ रोमांचक प्रेरणा के लिए देखें लक्सोनिस के उपयोग के मामले और रोबोफ्लो के केस स्टडीज़.
वैसे: अगर आपके पास अभी तक आपका OAK डिवाइस नहीं है, तो आप इसे रोबोफ्लो स्टोर के माध्यम से खरीद सकते हैं 10% छूट पाने के लिए।
कार्य समर्थन
होस्टेड API द्वारा निम्नलिखित कार्य प्रकार समर्थित हैं:
ऑब्जेक्ट डिटेक्शन:
YOLOv8 मॉडल, जो रोबोफ्लो पर प्रशिक्षित हैं, दोनों फास्ट और एक्युरेट
YOLOv11 मॉडल जो रोबोफ्लो पर प्रशिक्षित हैं
✅
वर्गीकरण
इंस्टेंस सेगमेंटेशन
सेमांटिक सेगमेंटेशन
मॉडल को लक्सोनिस OAK पर डिप्लॉय करें
समर्थित लक्सोनिस डिवाइस और होस्ट आवश्यकताएँ
रोबोफ्लो इंफरेंस सर्वर निम्नलिखित डिवाइस का समर्थन करता है:
OAK-D
OAK-D-Lite
OAK-D-POE
OAK-1 (कोई डेप्थ नहीं)
इंस्टॉलेशन
इंस्टॉल करें roboflowoak
, depthai
और opencv-python
पैकेज:
pip install roboflowoak
pip install depthai
pip install opencv-python
अब आप उपयोग कर सकते हैं roboflowoak
पैकेज अपने कस्टम प्रशिक्षित रोबोफ्लो मॉडल को चलाने के लिए।
इंफरेंस चलाना: डिप्लॉयमेंट
अगर आप ऐसे OAK डिवाइस पर डिप्लॉय कर रहे हैं जिसमें डेप्थ क्षमता नहीं है, तो सेट करें depth=False
इंस्टैंशिएट (बनाते समय) करते समय rf
ऑब्जेक्ट। जिन OAK में डेप्थ है, उनके मॉडल नाम में "D" जुड़ा होता है, जैसे OAK-D और OAK-D-Lite।
साथ ही, कमेंट करें max_depth = np.amax(depth)
और cv2.imshow("depth", depth/max_depth)
from roboflowoak import RoboflowOak
import cv2
import time
import numpy as np
if __name__ == '__main__':
# RoboflowOak मॉड्यूल के साथ एक ऑब्जेक्ट (rf) इंस्टैंशिएट करना
rf = RoboflowOak(model="YOUR-MODEL-ID", confidence=0.05, overlap=0.5,
version="YOUR-MODEL-VERSION-#", api_key="YOUR-PRIVATE_API_KEY", rgb=True,
depth=True, device=None, blocking=True)
# हमारे मॉडल को चलाना और डिटेक्शन के साथ वीडियो आउटपुट दिखाना
while True:
t0 = time.time()
# rf.detect() फंक्शन मॉडल इंफरेंस चलाता है
result, frame, raw_frame, depth = rf.detect()
predictions = result["predictions"]
#{
# predictions:
# [ {
# x: (मध्य),
# y:(मध्य),
# चौड़ाई:
# ऊँचाई:
# गहराई: ###->
# विश्वास स्तर:
# वर्ग:
# मास्क: {
# ]
#}
#frame - प्रीप्रोसेस के बाद का फ्रेम, जिसमें प्रेडिक्शन हैं
#raw_frame - आपके OAK से मूल फ्रेम
#depth - raw_frame के लिए डेप्थ मैप, सेंटर-कैमरा के लिए सेंटर-रेक्टिफाइड
# समय: बेंचमार्किंग के लिए
t = time.time()-t0
print("FPS ", 1/t)
print("PREDICTIONS ", [p.json() for p in predictions])
# डेप्थ गणना के लिए पैरामीटर सेट करना
# यदि आप बिना डेप्थ वाले OAK का उपयोग कर रहे हैं तो निम्न 2 पंक्तियाँ कमेंट करें
max_depth = np.amax(depth)
cv2.imshow("depth", depth/max_depth)
# वीडियो फीड को लगातार फ्रेम के रूप में दिखाना
cv2.imshow("frame", frame)
# OAK इंफरेंस विंडो कैसे बंद करें / इंफरेंस कैसे रोकें: CTRL+q या CTRL+c
if cv2.waitKey(1) == ord('q'):
break
नीचे दिया गया कोड दर्ज करें (प्लेसहोल्डर टेक्स्ट को अपने पायथन स्क्रिप्ट के पथ से बदलने के बाद)
# विंडो बंद करने के लिए (इंटरप्ट या इंफरेंस समाप्त करने के लिए), अपने कीबोर्ड पर CTRL+c दबाएँ
python3 /path/to/[YOUR-PYTHON-FILE].py
Apple Macbook Air (M1) को होस्ट डिवाइस के रूप में उपयोग करने पर इंफरेंस स्पीड (मिलीसेकंड में) औसतन लगभग 15 ms थी, या 66 FPS। नोट : OAK के साथ उपयोग किए गए होस्ट डिवाइस का FPS पर भारी प्रभाव पड़ेगा। अपने सिस्टम बनाते समय इसे ध्यान में रखें।
समस्या निवारण
यदि आपको अपने OAK डिवाइस को सेटअप करने में समस्या आ रही है, तो लक्सोनिस की इंस्टॉलेशन निर्देश देखें और सुनिश्चित करें कि आप RGB उदाहरण को सफलतापूर्वक चला सकते हैं लक्सोनिस इंस्टॉलेशन. आप सहायता के लिए यहाँ भी पोस्ट कर सकते हैं रोबोफ्लो फोरम.
यह भी देखें
Last updated
Was this helpful?