YOLO Vision 2026:

Экспорт Rockchip RKNN для моделей Ultralytics YOLO26#

При развертывании моделей компьютерного зрения на встраиваемых устройствах, особенно на базе процессоров Rockchip, наличие совместимого формата модели имеет решающее значение. Экспорт моделей Ultralytics YOLO26 в формат RKNN обеспечивает оптимизированную производительность и совместимость с аппаратным обеспечением Rockchip. Это руководство проведет тебя через процесс конвертации моделей YOLO26 в формат RKNN, включая экспорт с плавающей запятой и с квантованием INT8, что позволяет эффективно развертывать их на платформах Rockchip.

Rockchip RKNN export for NPU deployment

Примечание

Это руководство было протестировано на 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 проектирует передовые системы на кристалле (SoC), которые питают широкий спектр потребительской электроники, промышленных приложений и технологий ИИ. Благодаря архитектуре на базе ARM, встроенным нейронным процессорам (NPU) и поддержке мультимедиа высокого разрешения, SoC от Rockchip обеспечивают передовую производительность для таких устройств, как планшеты, умные телевизоры, системы интернета вещей (IoT) и периферийные приложения ИИ. Такие компании, как Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas и Banana Pi, предлагают различные продукты на базе SoC Rockchip, еще больше расширяя их охват и влияние на самых разных рынках.

Набор инструментов RKNN#

RKNN Toolkit представляет собой набор инструментов и библиотек, предоставляемых Rockchip для упрощения развертывания моделей глубокого обучения на их аппаратных платформах. RKNN (Rockchip Neural Network) — это проприетарный формат, используемый этими инструментами. Модели RKNN разработаны таким образом, чтобы в полной мере использовать аппаратное ускорение, обеспечиваемое NPU (Neural Processing Unit) от 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 — единственным семейством, в котором есть эти головы.

ЗадачаYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Экспорт в RKNN: конвертация твоей модели YOLO26#

Экспортируй модель Ultralytics YOLO26 в формат RKNN и запускай вывод с помощью экспортированной модели.

Примечание

Обязательно используй ПК на базе Linux с архитектурой x86 для экспорта модели в RKNN, так как экспорт на устройствах Rockchip (ARM64) не поддерживается.

Установка#

Чтобы установить необходимые пакеты, выполни:

Установка
# Install the required package for YOLO26
pip install ultralytics

Подробные инструкции и лучшие практики, связанные с процессом установки, можно найти в нашем руководстве по установке Ultralytics. Если в процессе установки необходимых пакетов для YOLO26 у тебя возникнут какие-либо трудности, обратись к нашему руководству по частым проблемам за решениями и советами.

Использование#

Примечание

Экспорт в FP16 поддерживается для всех задач. Экспорт в INT8 в настоящее время поддерживается только для моделей детектирования, а поддержка других задач появится в будущем.

Формат 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
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")
Предсказание
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")

Аргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'rknn'Целевой формат для экспортированной модели, определяющий совместимость со средами развертывания Rockchip.
imgszint или tuple640Желаемый размер изображения для входа модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
batchint1Указывает размер пакета для пакетного инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
namestr'rk3588'Задает целевое устройство Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 и rv1126b поддерживают FP16 (quantize=16 или не задано) и INT8 (quantize=8); rv1103, rv1106, rv1103b и rv1106b поддерживают только INT8 (quantize=8 или не задано).
quantizeint или strNoneТочность квантования: не задано или 16 создает FP16 для целей, поддерживающих FP16; если не задано, автоматически включается INT8 для целей, поддерживающих только INT8; 8 создает INT8. Экспорт RKNN не имеет отдельного режима FP32. Заменяет устаревшие флаги half/int8.
simplifyboolTrueУпрощает промежуточный граф ONNX с помощью onnxslim.
opsetintNoneУказывает версию opset ONNX для промежуточного графа ONNX. По умолчанию устанавливается 19, если значение не задано, а значения выше 19 сокращаются до 19.
datastrNoneYAML датасета, используемый для калибровки INT8; для классификации вместо этого используется каталог датасета или имя встроенного датасета. Если параметр опущен при использовании quantize=8, Ultralytics выбирает датасет калибровки по умолчанию для задачи модели.
fractionfloat, int или list1.0Калибровочное подмножество в виде соотношения, количества изображений или [train, val] соотношений/количеств; список ограничивает train или val, в то время как test остается полным.
devicestrNoneУказывает устройство для экспорта: 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.

Скриншот экспорта RKNN

Применение в реальных условиях#

Устройства на базе Rockchip с моделями YOLO26 RKNN могут использоваться в различных приложениях:

  • Умное видеонаблюдение: Развертывай эффективные системы обнаружения объектов для мониторинга безопасности с низким энергопотреблением.
  • Промышленная автоматизация: Внедряй контроль качества и обнаружение дефектов непосредственно на встраиваемых устройствах.
  • Розничная аналитика: Отслеживай поведение клиентов и управляй запасами в режиме реального времени без зависимости от облака.
  • Умное сельское хозяйство: Контролируй состояние посевов и обнаруживай вредителей с помощью компьютерного зрения в сельском хозяйстве.
  • Автономная робототехника: Включай навигацию на основе зрения и обнаружение препятствий на платформах с ограниченными ресурсами.

Бенчмарки#

Приведенные ниже тесты производительности YOLO26 были запущены командой Ultralytics на Radxa Rock 5B на базе Rockchip RK3588 с форматом модели rknn для измерения скорости и точности.

Производительность
МодельФорматPrecisionСтатусРазмер (МБ)mAP50-95(B)Время вывода (мс/из)
YOLO26nrknnFP167.20.47758.5
YOLO26nrknnINT84.10.46341.2
YOLO26srknnFP1621.00.56993.8
YOLO26srknnINT812.00.55461.9
YOLO26mrknnFP1643.00.608226.3
YOLO26mrknnINT822.00.603122.0
YOLO26lrknnFP1653.00.628264.7
YOLO26lrknnINT828.00.617145.3
YOLO26xrknnFP16113.00.664655.4
YOLO26xrknnINT858.00.649287.4

Протестировано с ultralytics 8.4.60

Примечание

Валидация для вышеуказанных бенчмарков проводилась с использованием набора данных COCO128. Время вывода не включает предварительную/последующую обработку.

Резюме#

В этом руководстве ты узнал, как экспортировать модели Ultralytics YOLO26 в формат RKNN для улучшения их развертывания на платформах Rockchip. Тебя также познакомили с RKNN Toolkit и конкретными преимуществами использования моделей RKNN для приложений граничного ИИ.

Сочетание Ultralytics YOLO26 и технологии NPU от Rockchip представляет собой эффективное решение для выполнения сложных задач компьютерного зрения на встраиваемых устройствах. Этот подход обеспечивает обнаружение объектов в реальном времени и другие приложения искусственного интеллекта для работы с изображениями с минимальным энергопотреблением и высокой производительностью.

Для получения дополнительной информации об использовании посети официальную документацию RKNN.

Кроме того, если ты хочешь узнать больше о других интеграциях Ultralytics YOLO26, посети нашу страницу руководства по интеграции. Там ты найдешь множество полезных ресурсов и идей.

FAQ#

  • Ты можешь легко экспортировать свою модель Ultralytics YOLO в формат RKNN, используя метод export() в пакете Python от Ultralytics или через интерфейс командной строки (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 специально разработаны для использования возможностей аппаратного ускорения NPU (Neural Processing Units) от Rockchip. Эта оптимизация обеспечивает значительно более высокую скорость вывода и меньшую задержку по сравнению с использованием общих форматов моделей, таких как ONNX или LiteRT, на том же оборудовании. Использование моделей RKNN позволяет более эффективно расходовать ресурсы устройства, что приводит к снижению энергопотребления и повышению общей производительности, что особенно критично для приложений реального времени на периферийных устройствах. Преобразуя свои модели Ultralytics YOLO в RKNN, ты можешь добиться оптимальной производительности на устройствах, работающих на базе SoC Rockchip, таких как RK3588, RK3566 и других.

  • Модели RKNN специально оптимизированы для платформ Rockchip и их встроенных NPU. Хотя технически ты можешь запустить модель RKNN на других платформах с помощью программной эмуляции, ты не получишь преимуществ от аппаратного ускорения, обеспечиваемого устройствами Rockchip. Для оптимальной производительности на других платформах рекомендуется экспортировать модели Ultralytics YOLO в форматы, специально разработанные для этих платформ, такие как TensorRT для графических процессоров NVIDIA или Edge TPU для устройств Google Coral. 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.

Комментарии