YOLO Vision 2026:

Luxonis OAK 部署用于 Ultralytics YOLO#

Luxonis OAK 相机在使用 Luxonis 工具转换后,可在设备上运行 Ultralytics YOLO 模型。这是一个手动部署工作流;Luxonis 不是原生的 Ultralytics model.export(format="...") 目标。

本指南涵盖 RVC2RVC4 设备。请为你的相机平台进行转换:RVC2 和 RVC4 的产物不通用。支持的模型系列和任务各有不同;转换前请查看 Luxonis Tools 支持矩阵

从受支持的 YOLO .pt 检查点开始,例如 yolo26n.pt,或你自己的训练模型。转换后的神经网络归档打包了模型和运行时元数据。

使用 Luxonis Hub 进行云端转换#

  1. 登录 Luxonis Hub 并打开快速转换
  2. 选择 YOLO,选择 RVC2RVC4,然后上传你的 .pt 检查点。
  3. 设置输入形状和转换参数,然后提交转换。
  4. 完成后,复制转换后模型的标识符用于下方的推理示例,或下载其神经网络归档。

如需自动化转换或自定义 RVC4 校准数据,请使用 HubAI SDK。在 Python 3.10+ 环境中遵循其安装说明。详细转换提供了注册表管理和预定义的校准数据集。

使用 Tools 和 ModelConverter 进行本地转换#

使用 Python 3.10+ 和 Docker。使用其上游设置说明安装 Luxonis Tools,包括依赖项约束。Tools 为 Luxonis 解析准备 YOLO 输出;通用的 ONNX 导出无法替代此步骤。

# Export the checkpoint to an ONNX NN Archive
tools yolo26n.pt --imgsz "640 640" --output-dir output

# Install the target-platform converter
pip install modelconv==0.6.0

Tools 会在 output/ 下方的一个带时间戳的目录中写入 yolo26n.tar.xz。将下方的示例路径替换为该文件。对于 RVC4 INT8 转换,请用具代表性的部署图像填充 calibration_images/;请参阅校准数据要求

modelconverter convert rvc4 --path output/yolo26n_20260807_104858/yolo26n.tar.xz \
  calibration.path calibration_images/

对于 RVC2,请使用 rvc2 代替 rvc4;其 FP16 转换不需要校准图像。使用 ModelConverter 输出目录中生成的已编译神经网络归档进行推理,而不是中间的 ONNX 归档。有关输出路径和平台特定选项,请参阅 ModelConverter

在 OAK 相机上运行推理#

连接兼容的 OAK 相机并在你的 Python 环境中安装 DepthAI:

pip install depthai==3.9.0

对于私有的 Hub 模型,请在运行脚本之前将 DEPTHAI_HUB_API_KEY 设置为 Luxonis Hub API 密钥。将 your-model-identifier 替换为来自 Hub 的标识符,或使用本地编译的神经网络归档替代方案。

import depthai as dai

model = "your-model-identifier"
# Alternatively, use your converted local artifact:
# model = dai.NNArchive("path/to/model.rvc4.tar.xz")

visualizer = dai.RemoteConnection()

with dai.Pipeline() as pipeline:
    camera = pipeline.create(dai.node.Camera).build()
    detection = pipeline.create(dai.node.DetectionNetwork).build(camera, model)

    visualizer.addTopic("rgb", detection.passthrough, group="RGB")
    visualizer.addTopic("detections", detection.out, group="RGB")

    pipeline.start()
    visualizer.registerPipeline(pipeline)

    while pipeline.isRunning():
        if visualizer.waitKey(1) == ord("q"):
            pipeline.stop()

打开 http://localhost:8082 以查看 RGB 数据流和检测结果。DetectionNetwork 还支持兼容的实例分割姿态估计模型。对于包括语义分割和分类在内的其他任务,请遵循特定于任务的推理指南

对于立体深度流水线,请参阅空间检测示例。使用基准测试指南在目标相机上评估你的模型;吞吐量取决于模型、输入大小、精度和流水线配置。

贡献者

评论