लक्सोनिस OAK
Myriad X VPU त्वरक के साथ अपने OpenCV AI Kit पर अपने रोबोफ्लो ट्रेन मॉडल को तैनात करें।
The Luxonis OAK (OpenCV AI Kit) एक एज डिवाइस है जिसका व्यापक रूप से एम्बेडेड कंप्यूटर विज़न सिस्टम की तैनाती के लिए उपयोग किया जाता है।
OAK डिवाइस को एक होस्ट मशीन के साथ जोड़ा जाता है जो डाउनस्ट्रीम एप्लिकेशन के संचालन को नियंत्रित करती है। कुछ रोमांचक प्रेरणा के लिए देखें Luxonis के उपयोग के मामले और Roboflow के केस स्टडीज़.
वैसे: अगर आपके पास अभी तक आपका OAK डिवाइस नहीं है, तो आप Roboflow Store के माध्यम से एक खरीद सकते हैं 10% छूट पाने के लिए।
कार्य समर्थन
निम्नलिखित कार्य प्रकार होस्टेड API द्वारा समर्थित हैं:
ऑब्जेक्ट डिटेक्शन:
YOLOv8 मॉडल, Roboflow पर प्रशिक्षित, दोनों फास्ट और एक्युरेट
YOLOv11 मॉडल Roboflow पर प्रशिक्षित
✅
क्लासिफिकेशन
इंस्टेंस सेगमेंटेशन
सेमांटिक सेगमेंटेशन
Luxonis OAK पर एक मॉडल डिप्लॉय करें
समर्थित Luxonis डिवाइस और होस्ट आवश्यकताएँ
Roboflow Inference Server निम्नलिखित डिवाइस को सपोर्ट करता है:
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
पैकेज का उपयोग करके अपना कस्टम प्रशिक्षित Roboflow मॉडल चला सकते हैं।
इन्फरेंस चलाना: डिप्लॉयमेंट
अगर आप ऐसे 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 - प्रीप्रोसेसिंग के बाद का फ्रेम, जिसमें predictions हैं
#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
नीचे दिया गया कोड दर्ज करें (प्लेसहोल्डर टेक्स्ट को अपने Python स्क्रिप्ट के पथ से बदलने के बाद)
# विंडो बंद करने के लिए (इंटरप्ट या इन्फरेंस समाप्त करने के लिए), अपने कीबोर्ड पर CTRL+c दबाएँ
python3 /path/to/[YOUR-PYTHON-FILE].py
Apple Macbook Air (M1) को होस्ट डिवाइस के रूप में उपयोग करने पर इन्फरेंस स्पीड (मिलीसेकंड में) औसतन लगभग 15 ms थी, या 66 FPS। नोट: OAK के साथ उपयोग किए गए होस्ट डिवाइस का FPS पर भारी प्रभाव पड़ेगा। अपने सिस्टम को बनाते समय इसे ध्यान में रखें।
समस्या निवारण
यदि आप अपने OAK डिवाइस को सेटअप करने में समस्या का सामना कर रहे हैं, तो Luxonis की इंस्टॉलेशन निर्देश देखें और सुनिश्चित करें कि आप RGB उदाहरण को सफलतापूर्वक चला सकते हैं Luxonis इंस्टॉलेशन. आप सहायता के लिए यहाँ भी पोस्ट कर सकते हैं Roboflow Forum.
यह भी देखें
Last updated
Was this helpful?