Экспорт моделей Ultralytics YOLO26 в формат RKNN для Rockchip#
При развертывании моделей компьютерного зрения на встраиваемых устройствах, особенно работающих на процессорах Rockchip, крайне важно использовать совместимый формат модели. Экспорт моделей Ultralytics YOLO26 в формат RKNN обеспечивает оптимизированную производительность и совместимость с оборудованием Rockchip. В этом руководстве ты узнаешь, как преобразовать модели YOLO26 в формат RKNN, включая экспорт моделей с плавающей точкой и моделей с INT8-квантизацией, чтобы эффективно развертывать их на платформах Rockchip.
Это руководство протестировано на устройствах Radxa Rock 5B на базе Rockchip RK3588 и Radxa Zero 3W на базе Rockchip RK3566. Ожидается, что оно будет работать и на других устройствах на базе Rockchip, поддерживающих rknn-toolkit2, таких как RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B и RV1106B. Целевые устройства, поддерживающие только INT8, такие как RV1103 и RV1106, требуют quantize=8.
Что такое Rockchip?#
Известная своими универсальными и энергоэффективными решениями компания Rockchip разрабатывает передовые системы на кристалле (SoCs), которые используются в широком спектре потребительской электроники, промышленных приложений и технологий AI. Благодаря архитектуре на базе ARM, встроенным нейронным процессорам (NPUs) и поддержке мультимедиа высокого разрешения SoCs Rockchip обеспечивают передовую производительность таких устройств, как планшеты, Smart TV, IoT-системы и приложения периферийного AI. Такие компании, как Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas и Banana Pi, предлагают различные продукты на базе SoCs Rockchip, расширяя их распространение и влияние на различных рынках.
RKNN Toolkit#
RKNN Toolkit — это набор инструментов и библиотек, предоставляемых Rockchip для упрощения развертывания моделей глубокого обучения на аппаратных платформах компании. RKNN, или нейронная сеть Rockchip, — это проприетарный формат, используемый этими инструментами. Модели RKNN разработаны для полного использования аппаратного ускорения, предоставляемого NPU Rockchip (нейронным процессором), что обеспечивает высокую производительность задач AI на таких устройствах, как RK3588, RK3566, RV1103, RV1106 и других системах на базе Rockchip.
Ключевые особенности моделей RKNN#
Модели RKNN имеют несколько преимуществ при развертывании на платформах Rockchip:
- Оптимизация для NPU: модели RKNN специально оптимизированы для работы на NPU Rockchip, что обеспечивает максимальную производительность и эффективность.
- Низкая задержка: формат RKNN минимизирует задержку инференса, что критически важно для приложений реального времени на периферийных устройствах.
- Настройка под платформу: модели RKNN можно адаптировать под конкретные платформы Rockchip, обеспечивая более эффективное использование аппаратных ресурсов.
- Энергоэффективность: благодаря использованию специализированного оборудования NPU модели RKNN потребляют меньше энергии, чем обработка на базе CPU или GPU, что продлевает время работы портативных устройств от батареи.
Установка ОС на оборудование Rockchip#
Первый шаг после получения устройства на базе Rockchip — установить ОС, чтобы оборудование могло загрузиться в рабочую среду. В этом руководстве мы сошлемся на руководства по началу работы для двух протестированных устройств: Radxa Rock 5B и Radxa Zero 3W.
Поддерживаемые задачи#
Экспорт в RKNN поддерживает все семь задач Ultralytics. Семантическая сегментация и оценка глубины доступны только в YOLO26 — единственном семействе, поставляемом с такими головами.
| Задача | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Детекция | ✅ | ✅ | ✅ |
| Сегментация | ✅ | ✅ | ✅ |
| Семантическая сегментация | ❌ | ❌ | ✅ |
| Оценка глубины | ❌ | ❌ | ✅ |
| Классификация | ✅ | ✅ | ✅ |
| Поза | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Экспорт в RKNN: преобразование модели YOLO26#
Экспортируй модель Ultralytics YOLO26 в формат RKNN и запусти инференс с помощью экспортированной модели.
Для экспорта модели в RKNN обязательно используй Linux-ПК на базе X86, поскольку экспорт на устройствах на базе Rockchip (ARM64) не поддерживается.
Установка#
Чтобы установить необходимые пакеты, выполни:
# Install the required package for YOLO26
pip install ultralyticsПодробные инструкции и рекомендации по установке смотри в нашем руководстве по установке Ultralytics. Если при установке необходимых для YOLO26 пакетов возникнут трудности, обратись к руководству по распространенным проблемам, где encontrarás решения и советы.
Использование#
Экспорт в FP16 поддерживается для всех задач. Экспорт в INT8 в настоящее время поддерживается только для моделей детектирования, а поддержка других задач появится в будущем; поэтому цели, поддерживающие только INT8, такие как RV1103 и RV1106, экспортируют только модели детектирования.
Формат RKNN поддерживает режимы Export, Predict и Validate. Инференс и валидация выполняются на оборудовании NPU Rockchip. Экспортируй модель, затем загрузи экспортированную модель, чтобы запустить инференс или проверить ее точность. По умолчанию экспорт в RKNN использует путь сборки с плавающей точкой (quantize=16) для целевых устройств Rockchip с поддержкой FP16. Используй quantize=8, чтобы собрать модель RKNN с INT8-квантизацией и данными для калибровки. Экспорт в RKNN не предоставляет отдельный режим FP32; режим FP16 по умолчанию не запрашивает FP32.
from ultralytics import YOLO
# Load a YOLO26 model (replace with any supported task model)
model = YOLO("yolo26n-obb.pt")
# Export the model to RKNN format
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# Export an INT8-quantized RKNN model with calibration data (detection models only)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")
# Run inference
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")
# Validate accuracy on the DOTA8 dataset
metrics = model.val(data="dota8.yaml")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'rknn' | Целевой формат экспортированной модели, определяющий совместимость со средами развертывания Rockchip. |
imgsz | int или tuple | 640 | Требуемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров. |
batch | int | 1 | Задаёт размер пакета при инференсе экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict. |
name | str | 'rk3588' | Указывает целевое устройство Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 и rv1126b поддерживают FP16 (quantize=16 или не задано) и INT8 (quantize=8); rv1103, rv1106, rv1103b и rv1106b поддерживают только INT8 (quantize=8 или не задано). |
quantize | int или str | None | Точность квантования: значение по умолчанию или 16 создает FP16 для целей, поддерживающих FP16; значение по умолчанию автоматически включает INT8 для целей, поддерживающих только INT8; 8 создает INT8, что поддерживается только для моделей детектирования. Экспорт в RKNN не имеет отдельного режима FP32. Заменяет устаревшие флаги half/int8. |
simplify | bool | True | Упрощает промежуточный граф ONNX с помощью onnxslim. |
opset | int | None | Указывает версию opset для промежуточного графа ONNX. Если значение не задано, используется 19, а значения больше 19 заменяются на 19. |
data | str | None | Датасет в формате YAML, используемый для калибровки INT8. Если этот параметр опущен вместе с quantize=8, Ultralytics выбирает датасет калибровки детектирования по умолчанию (coco8.yaml). |
fraction | float, int или list | 1.0 | Подмножество для калибровки в виде доли, количества изображений или значений [train, val, test] — долей/количеств. В списках из двух элементов test оставляет полный набор, а 0 пропускает его. |
device | str | None | Указывает устройство для экспорта: GPU (device=0), CPU (device=cpu). |
Обязательно используй компьютер с Linux на базе x86 при экспорте в RKNN.
Подробнее о процессе экспорта см. на странице документации Ultralytics об экспорте.
Развертывание экспортированных моделей YOLO26 RKNN#
После успешного экспорта моделей Ultralytics YOLO26 в формат RKNN следующий шаг — развернуть эти модели на устройствах на базе Rockchip.
Установка#
Чтобы установить необходимые пакеты, выполни:
# Install the required package for YOLO26
pip install ultralyticsПосле установки запусти инференс и валидацию на устройстве Rockchip точно так, как показано в разделе Использование выше: экспортированная модель _rknn_model напрямую загружается с помощью YOLO(...).
Если ты столкнешься с сообщением в журнале о несовпадении версии среды выполнения RKNN и версии RKNN Toolkit, после чего инференс завершится с ошибкой, замени /usr/lib/librknnrt.so официальным файлом librknnrt.so.

Практические применения#
Устройства на базе Rockchip с моделями YOLO26 RKNN можно использовать в различных приложениях:
- Интеллектуальное видеонаблюдение: развертывай эффективные системы детекции объектов для мониторинга безопасности с низким энергопотреблением.
- Промышленная автоматизация: реализуй контроль качества и обнаружение дефектов непосредственно на встраиваемых устройствах.
- Аналитика в розничной торговле: отслеживай поведение клиентов и управление запасами в реальном времени без зависимости от облака.
- Интеллектуальное сельское хозяйство: отслеживай состояние посевов и обнаруживай вредителей с помощью компьютерного зрения в сельском хозяйстве.
- Автономная робототехника: обеспечивай навигацию на основе зрения и обнаружение препятствий на платформах с ограниченными ресурсами.
Бенчмарки#
Приведенные ниже бенчмарки YOLO26 выполнены командой Ultralytics на Radxa Rock 5B на базе Rockchip RK3588 с форматом модели rknn; измерялись скорость и точность.
| Модель | Формат | Precision | Статус | Размер (МБ) | mAP50-95(B) | Время инференции (мс/изображение) |
|---|---|---|---|---|---|---|
| YOLO26n | rknn | FP16 | ✅ | 7.2 | 0.477 | 58.5 |
| YOLO26n | rknn | INT8 | ✅ | 4.1 | 0.463 | 41.2 |
| YOLO26s | rknn | FP16 | ✅ | 21.0 | 0.569 | 93.8 |
| YOLO26s | rknn | INT8 | ✅ | 12.0 | 0.554 | 61.9 |
| YOLO26m | rknn | FP16 | ✅ | 43.0 | 0.608 | 226.3 |
| YOLO26m | rknn | INT8 | ✅ | 22.0 | 0.603 | 122.0 |
| YOLO26l | rknn | FP16 | ✅ | 53.0 | 0.628 | 264.7 |
| YOLO26l | rknn | INT8 | ✅ | 28.0 | 0.617 | 145.3 |
| YOLO26x | rknn | FP16 | ✅ | 113.0 | 0.664 | 655.4 |
| YOLO26x | rknn | INT8 | ✅ | 58.0 | 0.649 | 287.4 |
Протестировано с ultralytics 8.4.60
Валидация для приведенных выше бенчмарков выполнялась с использованием датасета COCO128. Время инференса не включает предобработку и постобработку.
Итоги#
В этом руководстве ты узнал, как экспортировать модели Ultralytics YOLO26 в формат RKNN для улучшения их развертывания на платформах Rockchip. Ты также познакомился с RKNN Toolkit и узнал о конкретных преимуществах использования моделей RKNN для приложений периферийного AI.
Сочетание Ultralytics YOLO26 и технологии NPU Rockchip обеспечивает эффективное решение для выполнения сложных задач компьютерного зрения на встраиваемых устройствах. Такой подход позволяет выполнять детекцию объектов в реальном времени и другие приложения AI в области зрения при минимальном энергопотреблении и высокой производительности.
Дополнительные сведения об использовании см. в официальной документации RKNN.
Если ты хочешь узнать больше о других интеграциях Ultralytics YOLO26, посети нашу страницу руководства по интеграциям. Там ты найдешь множество полезных ресурсов и рекомендаций.
Часто задаваемые вопросы#
Ты можешь легко экспортировать модель Ultralytics YOLO в формат RKNN с помощью метода
export()в пакете Ultralytics Python или через интерфейс командной строки (CLI). Для экспорта обязательно используй Linux-ПК на базе x86, поскольку устройства ARM64, такие как Rockchip, не поддерживаются для этой операции. Целевую платформу Rockchip можно указать аргументомname, напримерrk3588,rk3566или другим значением. В результате создается оптимизированная модель RKNN, готовая к развертыванию на устройстве Rockchip и использующая его нейронный процессор (NPU) для ускоренного инференса.Примерfrom ultralytics import YOLO # Load your YOLO model model = YOLO("yolo26n.pt") # Export to RKNN format for a specific Rockchip platform model.export(format="rknn", name="rk3588")Модели RKNN специально разработаны для использования возможностей аппаратного ускорения нейронных процессоров (NPUs) Rockchip. Благодаря этой оптимизации инференс выполняется значительно быстрее, а задержка становится ниже по сравнению с запуском универсальных форматов моделей, таких как ONNX или LiteRT, на том же оборудовании. Использование моделей RKNN обеспечивает более эффективное использование ресурсов устройства, что приводит к снижению энергопотребления и повышению общей производительности, особенно важным для приложений реального времени на периферийных устройствах. Преобразовав модели Ultralytics YOLO в RKNN, ты можешь добиться оптимальной производительности на устройствах с SoCs Rockchip, таких как RK3588, RK3566 и другие.
Модели RKNN специально оптимизированы для платформ Rockchip и их интегрированных NPU. Хотя технически модель RKNN можно запустить на других платформах с помощью программной эмуляции, ты не получишь преимуществ аппаратного ускорения устройств Rockchip. Для оптимальной производительности на других платформах рекомендуется экспортировать модели Ultralytics YOLO в форматы, специально предназначенные для этих платформ, например TensorRT для GPU NVIDIA или Edge TPU для устройств Coral от Google. Ultralytics поддерживает экспорт в широкий спектр форматов, обеспечивая совместимость с различными аппаратными ускорителями.
Экспорт Ultralytics YOLO в формат RKNN поддерживает платформы Rockchip со сборками RKNN с плавающей точкой, включая RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 и RV1126B. Также поддерживается экспорт RKNN с INT8-квантизацией с помощью
quantize=8, который требуется для целевых устройств, поддерживающих только INT8, таких как RV1103, RV1106, RV1103B и RV1106B. Эти платформы часто используются в устройствах производителей Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas и Banana Pi, что позволяет развертывать оптимизированные модели RKNN на различных устройствах с Rockchip — от одноплатных компьютеров до промышленных систем.Модели RKNN обычно превосходят другие форматы, такие как ONNX или LiteRT, на устройствах Rockchip благодаря оптимизации под NPU Rockchip. Например, бенчмарки на Radxa Rock 5B (RK3588) показывают, что YOLO26n в формате RKNN обеспечивает время инференса 58,5 мс/изображение в FP16 и 41,2 мс/изображение в INT8, что значительно быстрее других форматов. Это преимущество сохраняется для моделей YOLO26 различных размеров, как показано в разделе бенчмарков. Используя специализированное оборудование NPU, модели RKNN минимизируют задержку и максимизируют пропускную способность, что делает их идеальными для приложений реального времени на периферийных устройствах на базе Rockchip.