DepthAI v2 has been superseded by DepthAI v3. You are viewing legacy documentation.

本页目录

  • 安装
  • 从 Roboflow 部署模型

与 Roboflow 集成

Roboflow 是一个用于构建和部署自定义计算机视觉模型的工具。当与 Luxonis OAK 设备结合使用时,可以高效地部署各种模型。

安装

要部署您的模型,您需要安装 roboflowoakdepthaiopencv-python
Command Line
1pip install roboflowoak
2pip install depthai
3pip install opencv-python

从 Roboflow 部署模型

按照以下示例,在 OAK 设备上部署您的 Roboflow 目标检测模型。请注意,您需要修改某些参数以适配您的特定模型和需求:
  • model: 替换为 Roboflow 中您的模型 ID。
  • version: 填写您模型的具体版本号。
  • api_key: 使用 Roboflow 为您的账户提供的私有 API 密钥。
Python
1from roboflowoak import RoboflowOak
2import cv2
3import time
4import numpy as np
5
6if __name__ == '__main__':
7    # 使用 RoboflowOak 模块实例化一个对象 (rf)
8    rf = RoboflowOak(model="YOUR-MODEL-ID", confidence=0.05, overlap=0.5,
9    version="YOUR-MODEL-VERSION-#", api_key="YOUR-PRIVATE_API_KEY", rgb=True,
10    depth=True, device=None, blocking=True)
11    # 运行模型并显示带有检测结果的视频输出
12    while True:
13        t0 = time.time()
14        # rf.detect() 函数执行模型推理
15        result, frame, raw_frame, depth = rf.detect()
16        predictions = result["predictions"]
17        # {
18        #     predictions:
19        #     [ {
20        #         x: (中心),
21        #         y: (中心),
22        #         width:
23        #         height:
24        #         depth: ###->
25        #         confidence:
26        #         class:
27        #         mask: {
28        #     ]
29        # }
30        # frame - 经过预处理后的帧,带有预测结果
31        # raw_frame - 来自 OAK 的原始帧
32        # depth - raw_frame 的深度图,已中心校正至中央摄像头
33        
34        # 计时:用于基准测试
35        t = time.time()-t0
36        print("FPS ", 1/t)
37        print("PREDICTIONS ", [p.json() for p in predictions])
38
39        # 设置深度计算参数
40        # 如果使用的是不带深度的 OAK,请注释掉以下两行
41        max_depth = np.amax(depth)
42        cv2.imshow("depth", depth/max_depth)
43        # 将视频流显示为连续帧
44        cv2.imshow("frame", frame)
45    
46        # 如何关闭 OAK 推理窗口/停止推理:CTRL+q 或 CTRL+c
47        if cv2.waitKey(1) == ord('q'):
48            break
更多信息,请参考官方 Roboflow 教程,详见 此处