Ultralytics YOLO27:
Get Started

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

При развертывании моделей компьютерного зрения на встраиваемых устройствах, особенно на устройствах с процессорами 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 известна своими универсальными и энергоэффективными решениями. Она разрабатывает передовые системы на кристалле (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 — единственном семействе, в котором есть такие выходные блоки.

Экспорт в RKNN: преобразование модели YOLO26#

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

Примечание

Для экспорта модели в RKNN используй компьютер с Linux на базе X86: экспорт на устройствах Rockchip (ARM64) не поддерживается.

Установка#

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

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

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

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

Примечание

Экспорт в FP16 поддерживается для всех задач. Экспорт в INT8 пока доступен только для моделей обнаружения; поддержка других задач появится в будущем. Поэтому целевые устройства, работающие только с INT8, такие как RV1103 и RV1106, могут экспортировать только модели обнаружения.

Формат 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")

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

АргументТипПо умолчаниюОписание
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. Если значение не задано, используется 19; значения выше 19 сокращаются до 19.
datastrNoneYAML-файл набора данных для калибровки INT8. Если файл не указан при quantize=8, Ultralytics выбирает стандартный набор данных для калибровки обнаружения (coco8.yaml).
fractionfloat, int или list1.0Подмножество для калибровки, заданное как доля, количество изображений или [train, val, test] отношения/количества. Если список содержит два элемента, test остаётся без изменений, а 0 пропускает его.
devicestrNoneУказывает устройство для экспорта: 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.

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

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

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

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

Бенчмарки#

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

Производительность
МодельФорматТочностьСтатусРазмер (МБ)mAP50-95(B)Время инференса (мс/изобр.)
YOLO26nrknnFP16✅7.20.47758.5
YOLO26nrknnINT8✅4.10.46341.2
YOLO26srknnFP16✅21.00.56993.8
YOLO26srknnINT8✅12.00.55461.9
YOLO26mrknnFP16✅43.00.608226.3
YOLO26mrknnINT8✅22.00.603122.0
YOLO26lrknnFP16✅53.00.628264.7
YOLO26lrknnINT8✅28.00.617145.3
YOLO26xrknnFP16✅113.00.664655.4
YOLO26xrknnINT8✅58.00.649287.4

Проверено с помощью ultralytics 8.4.60

Примечание

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

Итоги#

В этом руководстве ты узнал, как экспортировать модели 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.

Комментарии