Meet YOLO26: next-gen vision AI.

Link to this sectionЭкспорт в 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, требуется int8=True.

Link to this sectionЧто такое Rockchip?#

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

Link to this sectionRKNN Toolkit#

RKNN Toolkit — это набор инструментов и библиотек, предоставляемых Rockchip для упрощения развертывания моделей глубокого обучения на их аппаратных платформах. RKNN (Rockchip Neural Network) — это проприетарный формат, используемый этими инструментами. Модели RKNN разработаны так, чтобы максимально использовать аппаратное ускорение, предоставляемое NPU (Neural Processing Unit) от Rockchip, обеспечивая высокую производительность в задачах ИИ на таких системах, как RK3588, RK3566, RV1103, RV1106 и других устройствах на базе Rockchip.

Link to this sectionКлючевые особенности моделей RKNN#

Модели RKNN предлагают несколько преимуществ для развертывания на платформах Rockchip:

  • Оптимизация под NPU: Модели RKNN специально оптимизированы для работы на NPU от Rockchip, что обеспечивает максимальную производительность и эффективность.
  • Низкая задержка: Формат RKNN минимизирует задержку вывода, что критически важно для приложений реального времени на граничных (edge) устройствах.
  • Специфическая настройка под платформу: Модели RKNN могут быть адаптированы под конкретные платформы Rockchip, что позволяет лучше использовать аппаратные ресурсы.
  • Энергоэффективность: Благодаря использованию выделенного аппаратного NPU, модели RKNN потребляют меньше энергии, чем при обработке на CPU или GPU, что продлевает срок службы батареи портативных устройств.

Link to this sectionПрошивка ОС на оборудование Rockchip#

Первым делом после приобретения устройства на базе Rockchip нужно прошить ОС, чтобы оборудование могло загрузиться в рабочую среду. В этом руководстве мы укажем руководства по началу работы для двух устройств, которые мы тестировали: Radxa Rock 5B и Radxa Zero 3W.

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

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

Примечание

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

Link to this sectionУстановка#

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

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

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

Link to this sectionИспользование#

Примечание

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

Формат RKNN поддерживает режимы Export, Predict и Validate. Вывод и валидация выполняются на аппаратном NPU Rockchip. Экспортируй свою модель, а затем загрузи ее, чтобы запустить вывод или проверить точность. По умолчанию экспорт RKNN использует существующий путь сборки с плавающей запятой с half=True для целей Rockchip с поддержкой FP16. Используй int8=True для сборки квантованной модели RKNN (INT8) с калибровочными данными. Экспорт RKNN не поддерживает отдельный режим FP32; оставление int8=False не запрашивает FP32.

Экспорт
from ultralytics import YOLO

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

# Export the model to RKNN format
model.export(format="rknn", name="rk3588")  # creates '/yolo26n_rknn_model'

# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", int8=True, data="coco8.yaml")
Предсказание
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Валидация
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

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

АргументТипПо умолчаниюОписание
formatstr'rknn'Целевой формат для экспортированной модели, определяющий совместимость со средами развертывания Rockchip.
imgszint или tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
batchint1Задает размер батча для экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
namestr'rk3588'Указывает целевую платформу Rockchip, такую как rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b, rv1103, rv1106, rv1103b или rv1106b.
halfboolTrueВключает путь экспорта RKNN с плавающей запятой по умолчанию для целей с поддержкой FP16. Взаимоисключающий с int8=True.
int8boolFalseВключает квантование INT8. Требуется для целей, поддерживающих только INT8, таких как RV1103 и RV1106. Если False, RKNN Toolkit собирает модель с плавающей запятой для целей с поддержкой FP16, а не FP32.
datastrNoneYAML датасета, используемый для калибровки INT8. Если опущен при int8=True, Ultralytics выбирает калибровочный датасет по умолчанию для задачи модели.
fractionfloat1.0Доля калибровочных изображений для использования при квантовании INT8.
devicestrNoneУказывает устройство для экспорта: GPU (device=0), CPU (device=cpu).
Совет

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

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

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

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

Link to this sectionУстановка#

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

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

После установки запусти вывод и валидацию на своем устройстве Rockchip точно так же, как показано в разделе Использование выше — экспортированная модель _rknn_model загружается напрямую с помощью YOLO(...).

Примечание

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

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

Link to this sectionРеальные сценарии применения#

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

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

Link to this sectionБенчмарки#

Бенчмарки 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. Время инференса не включает предварительную и последующую обработку.

Link to this sectionРезюме#

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

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

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

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

Link to this sectionЧасто задаваемые вопросы (FAQ)#

Link to this sectionКак мне экспортировать мою модель Ultralytics YOLO в формат RKNN?#

Ты можешь легко экспортировать свою модель Ultralytics YOLO в формат RKNN, используя метод export() в пакете Ultralytics Python или через интерфейс командной строки (CLI). Убедись, что используешь ПК на базе x86 под управлением Linux для процесса экспорта, так как устройства 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")

Link to this sectionКаковы преимущества использования моделей RKNN на устройствах Rockchip?#

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

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

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

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

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

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

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

Комментарии