Luxonis OAK
Myriad X VPU を搭載した OpenCV AI Kit に Roboflow Train モデルをデプロイします。
The Luxonis OAK(OpenCV AI Kit) 組み込みコンピュータビジョンシステムのデプロイによく使われるエッジデバイスです。
OAKデバイスは、下流アプリケーションの操作を駆動するホストマシンと組み合わせて使用されます。参考として興味深い例を見るには、 Luxonisのユースケース と Roboflowのケーススタディ.
ちなみに: まだOAKデバイスをお持ちでない場合は、 Roboflow Storeで購入できます 10%の割引が適用されます。
サポートされるタスク
ホストされたAPIで次のタスクタイプがサポートされています:
物体検出:
RoboflowでトレーニングされたYOLOv8モデル(FastおよびAccurate)
RoboflowでトレーニングされたYOLOv11モデル
✅
分類
インスタンスセグメンテーション
セマンティックセグメンテーション
モデルを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これでカスタムトレーニング済みのRoboflowモデルを実行するために roboflowoak パッケージを使用できます。
推論の実行:デプロイ
Depth機能のないOAKデバイスへデプロイする場合は、インスタンス化(作成)時に depth=False を設定してください。 rf オブジェクト。Depth付きの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:(中央)、
# 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スクリプトのパスに置き換えた後):
# ウィンドウを閉じる(中断または推論終了)には、キーボードで CTRL+c を入力してください
python3 /path/to/[YOUR-PYTHON-FILE].pyホストデバイスにApple MacBook Air(M1)を使用した場合の推論速度(ミリ秒)は平均で約15ms、つまり約66FPSでした。 注意:OAKで使用するホストデバイスはFPSに大きく影響します。システムを構築する際はこれを考慮してください。
トラブルシューティング
OAKデバイスのセットアップで問題が発生している場合、Luxonisのインストール手順を参照し、RGBの例が正常に実行できることを確認してください( Luxonisのインストール)。また、ヘルプが必要な場合は Roboflowフォーラム.
で投稿することもできます。
Last updated
Was this helpful?