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

При развертывании моделей компьютерного зрения на встраиваемых устройствах, особенно на базе процессоров Rockchip, наличие совместимого формата модели имеет решающее значение. Экспорт моделей Ultralytics YOLO26 в формат RKNN обеспечивает оптимизированную производительность и совместимость с аппаратным обеспечением Rockchip. Это руководство поможет тебе преобразовать модели YOLO26 в формат RKNN, что позволит эффективно развернуть их на платформах 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. Устройства, поддерживающие только вывод INT8 (RV1103, RV1106, RV1103B, RV1106B), пока не поддерживаются, так как экспорт Ultralytics RKNN в настоящее время создает только модели FP16.

Что такое Rockchip?

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

Инструментарий RKNN

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: конвертация твоей модели YOLO26

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

Примечание

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

Установка

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

!!! Tip "Установка"

# Install the required package for YOLO26
pip install ultralytics

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

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

Примечание

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

Использование
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b (FP16). INT8-only targets rv1103, rv1106, rv1103b, rv1106b are not yet supported.
model.export(format="rknn", name="rk3588")  # creates '/yolo26n_rknn_model'

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

АргументТипПо умолчаниюОписание
formatstr'rknn'Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров.
batchint1Указывает размер пакетного инференса для экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
namestr'rk3588'Указывает целевую платформу Rockchip. Поддержка FP16: rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b. Цели только с INT8 (rv1103, rv1106, rv1103b, rv1106b) пока не поддерживаются.
devicestrNoneУказывает устройство для экспорта: GPU (device=0), CPU (device=cpu).
Совет

Пожалуйста, используй Linux-машину на архитектуре x86 при экспорте в RKNN.

Для получения более подробной информации о процессе экспорта посети страницу документации Ultralytics по экспорту.

Развертывание экспортированных моделей YOLO26 RKNN

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

Установка

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

!!! Tip "Установка"

# Install the required package for YOLO26
pip install ultralytics

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

Использование
from ultralytics import YOLO

# Load the exported RKNN model
rknn_model = YOLO("./yolo26n_rknn_model")

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
Примечание

Если ты столкнешься с логом, указывающим на то, что версия среды выполнения RKNN не соответствует версии RKNN Toolkit, и вывод не удается, пожалуйста, замени /usr/lib/librknnrt.so на официальный файл librknnrt.so.

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

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

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

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

Бенчмарки

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

Производительность
МодельФорматСтатусРазмер (МБ)mAP50-95(B)Время инференса (мс/из)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

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

Примечание

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

Резюме

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

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

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

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

Часто задаваемые вопросы (FAQ)

Как экспортировать мою модель Ultralytics YOLO в формат RKNN?

Ты можешь легко экспортировать свою модель 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 на устройствах Rockchip?

Модели RKNN специально разработаны для использования возможностей аппаратного ускорения нейронных процессоров (NPU) Rockchip. Эта оптимизация приводит к значительно более высокой скорости вывода и сниженной задержке по сравнению с использованием общих форматов моделей, таких как ONNX или TensorFlow Lite, на том же оборудовании. Использование моделей RKNN позволяет более эффективно использовать ресурсы устройства, что приводит к более низкому энергопотреблению и лучшей общей производительности, что особенно важно для приложений реального времени на периферийных устройствах. Преобразуя свои модели Ultralytics YOLO в RKNN, ты сможешь достичь оптимальной производительности на устройствах с SoC Rockchip, таких как RK3588, RK3566 и других.

Могу ли я развернуть модели RKNN на устройствах других производителей, таких как NVIDIA или Google?

Модели RKNN специально оптимизированы для платформ Rockchip и их интегрированных NPU. Хотя технически ты можешь запустить модель RKNN на других платформах с помощью программной эмуляции, ты не получишь преимуществ от аппаратного ускорения, предоставляемого устройствами Rockchip. Для оптимальной производительности на других платформах рекомендуется экспортировать свои модели Ultralytics YOLO в форматы, специально разработанные для этих платформ, такие как TensorRT для графических процессоров NVIDIA или TensorFlow Lite для Edge TPU от Google. Ultralytics поддерживает экспорт в широкий спектр форматов, обеспечивая совместимость с различными аппаратными ускорителями.

Какие платформы Rockchip поддерживаются для развертывания моделей RKNN?

Экспорт Ultralytics YOLO в формат RKNN в настоящее время поддерживает платформы Rockchip с выводом FP16: RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 и RV1126B. Цели только с INT8 (RV1103, RV1106, RV1103B, RV1106B) пока не поддерживаются, так как их NPU требуют квантования, которое находится в планах развития. Эти платформы обычно встречаются в устройствах от таких производителей, как Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas и Banana Pi, что позволяет тебе развертывать свои оптимизированные модели RKNN на широком спектре устройств на базе Rockchip, от одноплатных компьютеров до промышленных систем.

Как производительность моделей RKNN соотносится с другими форматами на устройствах Rockchip?

Модели RKNN, как правило, превосходят другие форматы, такие как ONNX или TensorFlow Lite, на устройствах Rockchip благодаря их оптимизации под NPU Rockchip. Например, тесты на Radxa Rock 5B (RK3588) показывают, что YOLO26n в формате RKNN достигает времени вывода 99,5 мс/изображение, что значительно быстрее, чем другие форматы. Это преимущество в производительности стабильно для различных размеров модели YOLO26, что продемонстрировано в разделе тестов. Используя выделенное аппаратное обеспечение NPU, модели RKNN минимизируют задержку и максимизируют пропускную способность, что делает их идеальными для приложений реального времени на периферийных устройствах на базе Rockchip.

Комментарии