> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/roboflow/roboflow-hi/deploy/sdks/luxonis-oak.md).

# Luxonis OAK

यह [Luxonis OAK (OpenCV AI Kit)](https://shop.luxonis.com/) एक edge device है, जिसका उपयोग embedded computer vision systems की deployment के लिए व्यापक रूप से किया जाता है।

OAK devices को एक host machine के साथ जोड़ा जाता है, जो downstream application के संचालन को चलाती है। कुछ रोचक inspiration के लिए, देखें [Luxonis के use cases](https://docs.luxonis.com/en/latest/#example-use-cases) और [Roboflow के case studies](https://blog.roboflow.com/tag/case-studies/).

**वैसे:** यदि आपके पास अभी तक आपका OAK device नहीं है, तो आप [Roboflow Store के माध्यम से एक खरीद सकते हैं](https://store.roboflow.com/) ताकि 10% की छूट मिले।

### टास्क सपोर्ट

निम्नलिखित task types hosted API द्वारा समर्थित हैं:

| टास्क टाइप                                                                                                                                                                     | Luxonis OAK Deployment द्वारा समर्थित |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------- |
| <p>ऑब्जेक्ट डिटेक्शन:</p><ul><li>Roboflow पर प्रशिक्षित YOLOv8 models (सभी sizes: Nano, Small, Medium, Large, X Large)</li><li>Roboflow पर प्रशिक्षित YOLOv11 models</li></ul> | ✅                                     |
| क्लासिफिकेशन                                                                                                                                                                   |                                       |
| इंस्टेंस सेगमेंटेशन                                                                                                                                                            |                                       |
| सेमांटिक सेगमेंटेशन                                                                                                                                                            |                                       |

### Luxonis OAK पर एक मॉडल deploy करें

#### समर्थित Luxonis Devices और host requirements

Roboflow Inference Server निम्नलिखित devices को support करता है:

* OAK-D
* OAK-D-Lite
* OAK-D-POE
* OAK-1 (no depth)

#### इंस्टॉलेशन

इंस्टॉल करें `roboflowoak`, `depthai`, और `opencv-python` packages:

```python
pip install roboflowoak
pip install depthai
pip install opencv-python
```

अब आप `roboflowoak` package का उपयोग करके अपना कस्टम प्रशिक्षित Roboflow model चला सकते हैं।

#### Inference चलाना: Deployment

यदि आप Depth क्षमताओं के बिना किसी OAK device पर deploy कर रहे हैं, तो `depth=False` इंस्टैंशिएट (create) करते समय `rf` object. Depth वाले OAKs में model name के साथ "D" जुड़ा होता है, यानी OAK-D और OAK-D-Lite.

साथ ही, `max_depth = np.amax(depth)` और `cv2.imshow("depth", depth/max_depth)`

```python
from roboflowoak import RoboflowOak
import cv2
import time
import numpy as np

if __name__ == '__main__':
    # RoboflowOak module के साथ एक object (rf) instantiate करना
    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)
    # अपने model को चलाना और detections के साथ video output दिखाना
    while True:
        t0 = time.time()
        # rf.detect() function model inference चलाता है
        result, frame, raw_frame, depth = rf.detect()
        predictions = result["predictions"]
        #{
        #    predictions:
        #    [ {
        #        x: (middle),
        #        y:(middle),
        #        width:
        #        height:
        #        depth: ###->
        #        confidence:
        #        class:
        #        mask: {
        #    ]
        #}
        #frame - preprocessing के बाद का frame, predictions के साथ
        #raw_frame - आपके OAK से आया मूल frame
        #depth - raw_frame के लिए depth map, center camera के अनुसार center-rectified
        
        # timing: benchmarking purposes के लिए
        t = time.time()-t0
        print("FPS ", 1/t)
        print("PREDICTIONS ", [p.json() for p in predictions])

        # depth calculation के लिए parameters सेट करना
        # यदि आप Depth के बिना OAK का उपयोग कर रहे हैं, तो निम्नलिखित 2 lines को comment out करें
        max_depth = np.amax(depth)
        cv2.imshow("depth", depth/max_depth)
        # video feed को क्रमिक frames के रूप में प्रदर्शित करना
        cv2.imshow("frame", frame)
    
        # OAK inference window को कैसे बंद करें / inference रोकें: CTRL+q या CTRL+c
        if cv2.waitKey(1) == ord('q'):
            break
```

नीचे दिया गया code दर्ज करें (placeholder text को अपनी Python script के path से बदलने के बाद)

```python
# window बंद करने के लिए (interrupt या end inference), अपने keyboard पर CTRL+c दर्ज करें
python3 /path/to/[YOUR-PYTHON-FILE].py
```

Apple Macbook Air (M1) को host device के रूप में उपयोग करने पर inference speed (milliseconds में) औसतन लगभग 15 ms, या 66 FPS रही। ***नोट**: OAK के साथ उपयोग किया जाने वाला host device FPS को बहुत अधिक प्रभावित करेगा। अपना system बनाते समय इसे ध्यान में रखें।*

#### समस्या निवारण

यदि आपको अपने OAK device को सेट अप करने में समस्या आ रही है, तो Luxonis के installation instructions देखें और सुनिश्चित करें कि आप RGB example को सफलतापूर्वक चला सकते हैं on the [Luxonis इंस्टॉलेशन](https://docs.luxonis.com/en/latest/#demo-script). आप सहायता के लिए [Roboflow Forum](https://discuss.roboflow.com/).

### यह भी देखें

* [चरण-दर-चरण Luxonis OAK सेटअप गाइड](https://blog.roboflow.com/opencv-ai-kit-deployment/)
* [M1 Chip का उपयोग करते समय इंस्टॉलेशन समस्या · Issue #299 · luxonis/depthai · GitHub](https://github.com/luxonis/depthai/issues/299) (depthai SDK)
