Перейти к содержанию

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

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

RKNN

Примечание

Это руководство было протестировано с Radxa Rock 5B, который основан на Rockchip RK3588, и Radxa Zero 3W, который основан на Rockchip RK3566. Ожидается, что он будет работать на других устройствах на базе Rockchip, которые поддерживают rknn-toolkit2, таких как RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B и RK2118.

Что такое Rockchip?

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

RKNN Toolkit

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: Преобразование вашей модели YOLO11

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

Примечание

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

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

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

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

Примечание

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

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588")  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_rknn_model'

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

Аргумент Тип По умолчанию Описание
format str 'rknn' Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
batch int 1 Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме.
name str 'rk3588' Указывает модель Rockchip (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118)
device str None Указывает устройство для экспорта: GPU (device=0), CPU (device=cpu).

Совет

При экспорте в RKNN убедитесь, что вы используете x86 Linux машину.

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

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

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

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

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

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

from ultralytics import YOLO

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

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

Примечание

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

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

Приложения в реальном мире

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

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

Оценка производительности

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

Производительность

Модель Формат Статус Размер (МБ) mAP50-95(B) Время инференса (мс/изобр.)
YOLO11n rknn 7.4 0.505 71.5
YOLO11s rknn 20.7 0.578 98.9
YOLO11m rknn 41.9 0.629 235.3
YOLO11l rknn 53.3 0.633 282.0
YOLO11x rknn 114.6 0.687 679.2

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

Примечание

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

Обзор

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

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

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

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

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

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

Вы можете легко экспортировать свою модель Ultralytics YOLO в формат RKNN, используя export() метод в пакете Ultralytics python или через интерфейс командной строки (CLI). Убедитесь, что вы используете Linux PC на базе x86 для процесса экспорта, поскольку устройства ARM64, такие как Rockchip, не поддерживаются для этой операции. Вы можете указать целевую платформу Rockchip, используя name аргумент, такой как rk3588, rk3566, или другие. Этот процесс генерирует оптимизированную модель RKNN, готовую к развертыванию на вашем устройстве Rockchip, используя преимущества его нейронного процессора (NPU) для ускоренного вывода.

Пример

from ultralytics import YOLO

# Load your YOLO model
model = YOLO("yolo11n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588

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

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

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

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

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

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

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

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



📅 Создано 7 месяцев назад ✏️ Обновлено 2 месяца назад

Комментарии