> 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/deployment/ja/serufuhosuto/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 デプロイメントに対応 |
| -------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| <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` パッケージ：

```bash
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/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("予測 ", [p.json() for p in predictions])

        # 深度計算のパラメータを設定
        # Depth なしの OAK を使用している場合は、次の 2 行をコメントアウトしてください
        max_depth = np.amax(depth)
        cv2.imshow("深度", depth/max_depth)
        # ビデオフィードを連続フレームとして表示
        cv2.imshow("フレーム", frame)
    
        # OAK の推論ウィンドウを閉じる／推論を停止する方法: CTRL+q または CTRL+c
        if cv2.waitKey(1) == ord('q'):
            break
```

下のコードを入力してください（プレースホルダーのテキストを Python スクリプトへのパスに置き換えた後）

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

Apple MacBook Air (M1) をホストデバイスとして使用した場合の推論速度（ミリ秒）は平均約 15 ms、つまり 66 FPS でした。 ***注意**：OAK と一緒に使用するホストデバイスは、FPS に大きな影響を与えます。システムを構築する際はこれを考慮してください。*

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

OAK デバイスのセットアップで問題が発生している場合は、Luxonis のインストール手順を確認し、 [Luxonis のインストール](https://docs.luxonis.com/en/latest/#demo-script)で RGB の例を正常に実行できることを確認してください。ヘルプが必要な場合は、 [Roboflow フォーラム](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)
