Развёртывание 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#
- Войди в Luxonis Hub и открой раздел Quick Conversion.
- Выбери YOLO, затем RVC2 или RVC4 и загрузи чекпойнт
.pt. - Задай форму входных данных и параметры преобразования, затем запусти преобразование.
- После завершения скопируй идентификатор преобразованной модели для примера инференса ниже или скачай её 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.0Tools сохраняет 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, а инструкции по запуску моделей, отличных от моделей детекции, смотри в руководстве по инференсу для конкретных задач.