Экспорт моделей Ultralytics YOLO26 в формат Rockchip RKNN#
При развертывании моделей компьютерного зрения на встраиваемых устройствах, особенно на устройствах с процессорами 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), которые используются в самых разных потребительских электронных устройствах, промышленных приложениях и технологиях ИИ. Архитектура на базе ARM, встроенные нейропроцессорные блоки (NPUs) и поддержка мультимедиа высокого разрешения обеспечивают SoCs Rockchip передовые возможности для таких устройств, как планшеты, Smart TV, IoT-системы и периферийные приложения ИИ. Такие компании, как Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas и Banana Pi, предлагают широкий ассортимент устройств на базе SoCs Rockchip, расширяя их присутствие и влияние на различных рынках.
RKNN Toolkit#
RKNN Toolkit — это набор инструментов и библиотек от Rockchip, упрощающий развертывание моделей глубокого обучения на аппаратных платформах компании. RKNN, или Rockchip Neural Network, — проприетарный формат, используемый этими инструментами. Модели RKNN разработаны для полного использования аппаратного ускорения, обеспечиваемого NPU (нейропроцессорным блоком) Rockchip, что гарантирует высокую производительность ИИ-задач на таких устройствах, как 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, возникнут сложности, решения и советы найдешь в руководстве по распространенным проблемам.
Использование#
Экспорт в FP16 и INT8 поддерживается для всех задач. При сборке INT8 для целевых устройств с поддержкой FP16 слои с высокой ошибкой сохраняются в FP16 (RKNN Toolkit auto_hybrid); целевые устройства, поддерживающие только INT8, например RV1103 и RV1106, этот шаг пропускают. Для моделей детекции, сегментации, оценки позы и OBB файл INT8 .rknn заканчивается на выходных свёрточных слоях головы и возвращает исходные тензоры головы для каждого уровня, а декодирование ограничивающих рамок выполняется на хостовом CPU в формате с плавающей точкой на основе файла tail.onnx из экспортированного каталога. Ultralytics запускает tail.onnx с помощью среды выполнения ONNX (она устанавливается автоматически, если отсутствует); пользовательские среды выполнения должны запускать tail.onnx или реализовывать такое же декодирование. Повторно экспортируй модели INT8 для детекции, сегментации, оценки позы и OBB, экспортированные в более ранних версиях Ultralytics, поскольку их выходные данные содержат координаты, нормализованные относительно входного изображения, которые текущие выпуски больше не масштабируют. Точность INT8 для всех задач проверена с помощью симулятора rknn-toolkit2, но пока не на оборудовании Rockchip. Сборки INT8 для оценки глубины калибруются на изображениях из набора данных глубины, для которых имеются соответствующие карты глубины. Выбирай калибровочные изображения, охватывающие ближний и дальний диапазоны глубины в сцене развертывания, поскольку точность глубин за пределами откалиброванного диапазона снижается.
Формат RKNN поддерживает режимы Export, Predict и Validate. Инференс и валидация выполняются на NPU-оборудовании Rockchip. Экспортируй модель, а затем загрузи экспортированную модель, чтобы запустить инференс или проверить точность. По умолчанию при экспорте в RKNN для целевых платформ Rockchip с поддержкой FP16 используется путь сборки с плавающей точкой (quantize=16). Используй quantize=8, чтобы собрать квантованную модель RKNN INT8 с калибровочными данными. Экспорт в RKNN не предоставляет отдельный режим FP32; настройка FP16 по умолчанию не запрашивает FP32.
from ultralytics import YOLO
# Загрузи модель YOLO26 (замени на любую модель поддерживаемой задачи)
model = YOLO("yolo26n-obb.pt")
# Экспортируй модель в формат RKNN
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# Экспортируй квантованную модель RKNN INT8 с калибровочными данными
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# Загрузи экспортированную модель RKNN
model = YOLO("./yolo26n-obb_rknn_model")
# Выполнить инференс
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Загрузи экспортированную модель RKNN
model = YOLO("./yolo26n-obb_rknn_model")
# Проверь точность на наборе данных DOTA8
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 использует набор данных для калибровки по умолчанию для этой задачи (например, coco128.yaml для детекции, depth8.yaml для оценки глубины). |
fraction | float, int или list | 1.0 | Подмножество для калибровки, заданное как доля, количество изображений или [train, val, test] отношения/количества. Если список содержит два элемента, test остаётся без изменений, а 0 пропускает его. |
device | str | None | Указывает устройство для экспорта: GPU (device=0) или CPU (device=cpu). |
Для экспорта в RKNN обязательно используй компьютер с Linux и архитектурой x86.
Подробнее о процессе экспорта смотри на странице документации 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 для измерения скорости и точности.
| Модель | Формат | Точность | Статус | Размер (МБ) | 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. Время инференса не включает предобработку и постобработку. Значения для INT8 будут обновлены после проверки текущего процесса экспорта INT8 (декодирование на стороне хоста и auto_hybrid) на оборудовании Rockchip.
Итоги#
В этом руководстве ты узнал, как экспортировать модели Ultralytics YOLO26 в формат RKNN для их эффективного развертывания на платформах Rockchip. Ты также познакомился с RKNN Toolkit и преимуществами использования моделей RKNN для периферийных приложений ИИ.
Сочетание Ultralytics YOLO26 и технологии NPU Rockchip позволяет эффективно выполнять сложные задачи компьютерного зрения на встраиваемых устройствах. Такой подход обеспечивает обнаружение объектов в реальном времени (object detection) и другие приложения визуального ИИ при минимальном энергопотреблении и высокой производительности.
Подробную информацию об использовании смотри в официальной документации 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 # Загрузи модель YOLO model = YOLO("yolo26n.pt") # Экспортируй в формат RKNN для конкретной платформы Rockchip 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 — от одноплатных компьютеров до промышленных систем.На устройствах Rockchip модели RKNN обычно превосходят форматы ONNX или LiteRT благодаря оптимизации для NPU Rockchip. Например, тесты на Radxa Rock 5B (RK3588) показывают, что модель YOLO26n в формате RKNN выполняет инференс за 58,5 мс на изображение в FP16 и за 41,2 мс на изображение в INT8 — значительно быстрее, чем в других форматах. Это преимущество сохраняется для моделей YOLO26 разных размеров, что показано в разделе с результатами тестов. Благодаря специализированному аппаратному обеспечению NPU модели RKNN сокращают задержку и увеличивают пропускную способность, что делает их идеальным решением для приложений реального времени на периферийных устройствах Rockchip.