> 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-jp/depuroi/sdks/luxonis-oak.md).

# Luxonis OAK

その [Luxonis OAK（OpenCV AI Kit）](https://shop.luxonis.com/) は、組み込みコンピュータビジョンシステムのデプロイによく使われるエッジデバイスです。

OAKデバイスは、下流アプリケーションの動作を担うホストマシンと組み合わせて使用します。参考になる事例として、こちらをご覧ください [Luxonisのユースケース](https://docs.luxonis.com/en/latest/#example-use-cases) と [Roboflowのケーススタディ](https://blog.roboflow.com/tag/case-studies/).

**ちなみに:** まだOAKデバイスをお持ちでない場合は、 [Roboflow Storeで購入できます](https://store.roboflow.com/) 10%割引になります。

### タスクサポート

ホスト型APIでは、次のタスクタイプがサポートされています:

| タスクタイプ                                                                                                                     | Luxonis OAK Deploymentでサポート |
| -------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| <p>物体検出:</p><ul><li>Roboflowで学習したYOLOv8モデル（全サイズ：Nano、Small、Medium、Large、X Large）</li><li>Roboflowで学習したYOLOv11モデル</li></ul> | ✅                           |
| 分類                                                                                                                         |                             |
| インスタンスセグメンテーション                                                                                                            |                             |
| セマンティックセグメンテーション                                                                                                           |                             |

### Luxonis OAKにモデルをデプロイ

#### サポートされているLuxonisデバイスとホスト要件

Roboflow Inference Serverは次のデバイスをサポートしています:

* OAK-D
* OAK-D-Lite
* OAK-D-POE
* OAK-1（深度なし）

#### インストール

次をインストールします: `roboflowoak`, `depthai`、および `opencv-python` パッケージ:

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

これで `roboflowoak` パッケージを使って、独自に学習したRoboflowモデルを実行できます。

#### 推論の実行: デプロイ

Depth機能のないOAKデバイスにデプロイする場合は、 `depth=False` をインスタンス化（作成）するときに `rf` オブジェクトに設定してください。Depth対応のOAKには、モデル名の末尾に「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モジュールでオブジェクト（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:（中央）,
        #        width:
        #        height:
        #        depth: ###->
        #        confidence:
        #        class:
        #        mask: {
        #    ]
        #}
        #frame - 前処理後のフレーム。予測結果付き
        #raw_frame - OAKからの元のフレーム
        #depth - raw_frame用の深度マップ。中央カメラに対して中心補正済み
        
        # timing: ベンチマーク用
        t = time.time()-t0
        print("FPS ", 1/t)
        print("PREDICTIONS ", [p.json() for p in predictions])

        # 深度計算のパラメータを設定します
        # Depthなしの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スクリプトのパスに置き換えてから）

```python
# ウィンドウを閉じるには（中断または推論終了）、キーボードでCTRL+cを入力してください
python3 /path/to/[YOUR-PYTHON-FILE].py
```

ホストデバイスにApple Macbook Air（M1）を使用した場合の推論速度は、平均で約15ms、または66FPSでした。 ***注**：OAKで使用するホストデバイスはFPSに大きく影響します。システムを構築する際はこれを考慮してください。*

#### トラブルシューティング

OAKデバイスのセットアップで問題が発生している場合は、Luxonisのインストール手順を確認し、RGBサンプルを問題なく実行できることを [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チップ使用時のインストール問題 · Issue #299 · luxonis/depthai · GitHub](https://github.com/luxonis/depthai/issues/299) (depthai SDK)
