Ultralytics YOLO27:

Развёртывание Ultralytics YOLO на Luxonis OAK#

Камеры Luxonis OAK запускают модели Ultralytics YOLO непосредственно на устройстве после преобразования с помощью инструментов Luxonis. Это процесс развёртывания, который нужно выполнять вручную; Luxonis не является встроенной целевой платформой model.export(format="...") в Ultralytics.

В этом руководстве рассматриваются устройства RVC2 и RVC4. Выполняй преобразование для платформы своей камеры: артефакты RVC2 и RVC4 несовместимы. Поддерживаемые семейства моделей и задачи могут различаться; перед преобразованием проверь матрицу поддержки Luxonis Tools.

Начни с совместимого контрольного чекпойнта YOLO .pt, например yolo26n.pt, или используй собственную обученную модель. Преобразованный NN Archive содержит модель и метаданные среды выполнения.

Облачное преобразование с помощью Luxonis Hub#

  1. Войди в Luxonis Hub и открой раздел Quick Conversion.
  2. Выбери YOLO, затем RVC2 или RVC4 и загрузи чекпойнт .pt.
  3. Задай форму входных данных и параметры преобразования, затем запусти преобразование.
  4. После завершения скопируй идентификатор преобразованной модели для примера инференса ниже или скачай её NN Archive.

Для автоматического преобразования или собственных калибровочных данных RVC4 используй HubAI SDK. Следуй инструкциям по установке в среде Python 3.10 или новее. В разделе подробного описания преобразования приведены сведения об управлении реестром и предопределённых наборах калибровочных данных.

Локальное преобразование с помощью Tools и ModelConverter#

Используй Python 3.10 или новее и Docker. Установи Luxonis Tools, следуя инструкциям по настройке в исходном репозитории, включая ограничения зависимостей. Tools подготавливает выходные данные YOLO для обработки Luxonis; обычный экспорт 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 сохраняет yolo26n.tar.xz во временном каталоге внутри output/. Замени пример пути ниже на путь к этому файлу. Для преобразования RVC4 в INT8 помести в calibration_images/ репрезентативные изображения для целевой среды; смотри требования к калибровочным данным.

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

Для RVC2 используй rvc2 вместо rvc4; для преобразования в FP16 калибровочные изображения не нужны. Для инференса используй полученный скомпилированный NN Archive из выходного каталога ModelConverter, а не промежуточный архив ONNX. Сведения о путях к выходным файлам и параметрах для конкретных платформ смотри в разделе ModelConverter.

Запуск инференса на камере OAK#

Подключи совместимую камеру OAK и установи DepthAI в среду Python:

pip install depthai==3.9.0

Для закрытой модели в Hub перед запуском скрипта присвой DEPTHAI_HUB_API_KEY значение ключа API Luxonis Hub. Замени your-model-identifier на идентификатор модели из Hub или используй локальный скомпилированный NN Archive.

import depthai as dai

model = "your-model-identifier"
# Или используй преобразованный локальный артефакт:
# 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 также поддерживает совместимые модели сегментации экземпляров и оценки позы. Для других задач, включая семантическую сегментацию и классификацию, следуй инструкциям по инференсу для конкретных задач.

Примеры конвейеров стереоглубины смотри в примере пространственной детекции. Измерь производительность модели на целевой камере, следуя руководству по бенчмаркингу; пропускная способность зависит от модели, размера входных данных, точности и конфигурации конвейера.

Часто задаваемые вопросы#

  • Нет. Luxonis не является встроенным форматом экспорта Ultralytics. Преобразуй чекпойнт .pt с помощью Luxonis Hub или локального процесса с Tools и ModelConverter, а затем запусти полученный NN Archive с помощью DepthAI.

  • Нет. Артефакты RVC2 и RVC4 скомпилированы для разного оборудования и несовместимы, поэтому преобразуй модель отдельно для каждой платформы.

  • Поддержка зависит от инструментов Luxonis, а не Ultralytics. Перед преобразованием проверь матрицу поддержки Luxonis Tools, а инструкции по запуску моделей, отличных от моделей детекции, смотри в руководстве по инференсу для конкретных задач.

Комментарии