Ir al contenido

Exportación Rockchip RKNN para Ultralytics YOLO11 Modelos

A la hora de implantar modelos de visión por ordenador en dispositivos integrados, especialmente los equipados con procesadores Rockchip, es esencial disponer de un formato de modelo compatible. La exportación de modelos Ultralytics YOLO11 al formato RKNN garantiza un rendimiento optimizado y la compatibilidad con el hardware de Rockchip. Esta guía le guiará a través de la conversión de sus modelos YOLO11 al formato RKNN, permitiendo un despliegue eficiente en las plataformas Rockchip.

RKNN

Nota

Esta guía ha sido probada con Radxa Rock 5B que está basado en Rockchip RK3588 y Radxa Zero 3W que está basado en Rockchip RK3566. Se espera que funcione con otros dispositivos basados en Rockchip que soporten rknn-toolkit2 como RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B y RK2118.

¿Qué es Rockchip?

Reconocido por ofrecer soluciones versátiles y de bajo consumo, Rockchip diseña avanzados sistemas en chip (SoC) que impulsan una amplia gama de electrónica de consumo, aplicaciones industriales y tecnologías de IA. Con una arquitectura basada en ARM, unidades de procesamiento neuronal (NPU) integradas y soporte multimedia de alta resolución, los SoC de Rockchip ofrecen un rendimiento de vanguardia para dispositivos como tabletas, televisores inteligentes, sistemas IoT y aplicaciones de inteligencia artificial. Empresas como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas y Banana Pi ofrecen una variedad de productos basados en SoC Rockchip, ampliando aún más su alcance e impacto en diversos mercados.

Kit de herramientas RKNN

El RKNN Toolkit es un conjunto de herramientas y bibliotecas proporcionadas por Rockchip para facilitar el despliegue de modelos de aprendizaje profundo en sus plataformas de hardware. RKNN, o Rockchip Neural Network, es el formato propietario utilizado por estas herramientas. Los modelos RKNN están diseñados para aprovechar al máximo la aceleración de hardware proporcionada por la NPU (Neural Processing Unit) de Rockchip, garantizando un alto rendimiento en tareas de IA en dispositivos como RK3588, RK3566, RV1103, RV1106 y otros sistemas potenciados por Rockchip.

Características principales de los modelos RKNN

Los modelos RKNN ofrecen varias ventajas para su implantación en plataformas Rockchip:

  • Optimizado para NPU: Los modelos RKNN están optimizados específicamente para ejecutarse en las NPU de Rockchip, lo que garantiza el máximo rendimiento y eficiencia.
  • Baja latencia: El formato RKNN minimiza la latencia de la inferencia, lo que es fundamental para las aplicaciones en tiempo real en dispositivos periféricos.
  • Personalización específica para cada plataforma: Los modelos RKNN pueden adaptarse a plataformas Rockchip específicas, lo que permite aprovechar mejor los recursos de hardware.

Flash OS a hardware Rockchip

El primer paso después de tener en tus manos un dispositivo basado en Rockchip es flashear un sistema operativo para que el hardware pueda arrancar en un entorno de trabajo. En esta guía te mostraremos las guías de inicio de los dos dispositivos que hemos probado: Radxa Rock 5B y Radxa Zero 3W.

Exportar a RKNN: Conversión de su modelo YOLO11

Exporte un modelo Ultralytics YOLO11 al formato RKNN y ejecute la inferencia con el modelo exportado.

Nota

Asegúrese de utilizar un PC Linux basado en X86 para exportar el modelo a RKNN porque la exportación en dispositivos basados en Rockchip (ARM64) no son compatibles.

Instalación

Para instalar los paquetes necesarios, ejecute

Instalación

# Install the required package for YOLO11
pip install ultralytics

Para obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalaciónUltralytics . Mientras instala los paquetes necesarios para YOLO11, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.

Utilización

Nota

Actualmente, la exportación sólo es compatible con los modelos de detección. En el futuro habrá más modelos compatibles.

Utilización

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'

Argumentos de exportación

Argumento Tipo Por defecto Descripción
format str rknn Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de despliegue.
imgsz int o tuple 640 Tamaño de imagen deseado para la entrada del modelo. Puede ser un número entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas.
batch int 1 Especifica el tamaño de la inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en predict modo.
name str rk3588 Especifica el modelo de Rockchip (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118).

Para más detalles sobre el proceso de exportación, visite la página de documentaciónUltralytics sobre exportación.

Despliegue de modelos RKNN exportados de YOLO11

Una vez que haya exportado con éxito sus modelos Ultralytics YOLO11 al formato RKNN, el siguiente paso es desplegar estos modelos en dispositivos basados en Rockchip.

Instalación

Para instalar los paquetes necesarios, ejecute

Instalación

# Install the required package for YOLO11
pip install ultralytics

Utilización

Utilización

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'

Nota

Si aparece un mensaje de registro que indica que la versión de RKNN runtime no coincide con la versión de RKNN Toolkit y la inferencia falla, sustituya /usr/lib/librknnrt.so con funcionario archivo librknnrt.so.

Captura de pantalla de exportación de RKNN

Puntos de referencia

YOLO11 El equipo de Ultralytics ejecutó las siguientes pruebas en el Radxa Rock 5B basado en Rockchip RK3588 con rknn formato de modelo que mide la velocidad y la precisión.

Modelo Formato Estado Tamaño (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
YOLO11n rknn 7.4 0.61 99.5
YOLO11s rknn 20.7 0.741 122.3
YOLO11m rknn 41.9 0.764 298.0
YOLO11l rknn 53.3 0.72 319.6
YOLO11x rknn 114.6 0.828 632.1

Nota

La validación de la referencia anterior se realizó con el conjunto de datos coco8

Resumen

En esta guía, ha aprendido a exportar modelos Ultralytics YOLO11 al formato RKNN para mejorar su despliegue en plataformas Rockchip. También se le ha presentado el RKNN Toolkit y las ventajas específicas de utilizar modelos RKNN para aplicaciones edge AI.

Para más detalles sobre su uso, visite la documentación oficial de RKNN.

Además, si quieres saber más sobre otras integraciones de Ultralytics YOLO11 , visita nuestra página de guía de integración. Allí encontrarás un montón de recursos e información útiles.

PREGUNTAS FRECUENTES

¿Cómo puedo exportar mi modelo Ultralytics YOLO al formato RKNN?

Puede exportar fácilmente su modelo Ultralytics YOLO al formato RKNN utilizando export() en el paquete Ultralytics Python o a través de la interfaz de línea de comandos (CLI). Asegúrese de que está utilizando un PC Linux basado en x86 para el proceso de exportación, ya que los dispositivos ARM64 como Rockchip no son compatibles con esta operación. Puede especificar la plataforma Rockchip de destino utilizando el comando name como rk3588, rk3566u otros. Este proceso genera un modelo RKNN optimizado listo para su despliegue en su dispositivo Rockchip, aprovechando su Unidad de Procesamiento Neuronal (NPU) para una inferencia acelerada.

Ejemplo

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

¿Cuáles son las ventajas de utilizar modelos RKNN en dispositivos Rockchip?

Los modelos RKNN están diseñados específicamente para aprovechar las capacidades de aceleración de hardware de las unidades de procesamiento neuronal (NPU) de Rockchip. Esta optimización da como resultado velocidades de inferencia significativamente más rápidas y una latencia reducida en comparación con la ejecución de formatos de modelos genéricos como ONNX o TensorFlow Lite en el mismo hardware. El uso de modelos RKNN permite un uso más eficiente de los recursos del dispositivo, lo que se traduce en un menor consumo de energía y un mejor rendimiento general, especialmente crítico para las aplicaciones en tiempo real en dispositivos edge. Al convertir sus modelos Ultralytics YOLO a RKNN, puede lograr un rendimiento óptimo en dispositivos con SoC Rockchip como RK3588, RK3566 y otros.

¿Puedo implantar modelos RKNN en dispositivos de otros fabricantes como NVIDIA o Google?

Los modelos RKNN están optimizados específicamente para las plataformas Rockchip y sus NPU integradas. Aunque técnicamente puede ejecutar un modelo RKNN en otras plataformas utilizando emulación de software, no se beneficiará de la aceleración de hardware que proporcionan los dispositivos Rockchip. Para obtener un rendimiento óptimo en otras plataformas, se recomienda exportar los modelos Ultralytics YOLO a formatos diseñados específicamente para esas plataformas, como TensorRT para NVIDIA GPUs o TensorFlow Lite para Google's Edge TPU. Ultralytics admite la exportación a una amplia gama de formatos, lo que garantiza la compatibilidad con diversos aceleradores de hardware.

¿Qué plataformas Rockchip son compatibles con la implantación de modelos RKNN?

La exportación Ultralytics YOLO al formato RKNN es compatible con una amplia gama de plataformas Rockchip, incluidas las populares RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B y RK2118. Estas plataformas se encuentran habitualmente en dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas y Banana Pi. Esta amplia compatibilidad garantiza que puedas desplegar tus modelos RKNN optimizados en varios dispositivos Rockchip, desde ordenadores monoplaca hasta sistemas industriales, aprovechando al máximo sus capacidades de aceleración de IA para mejorar el rendimiento de tus aplicaciones de visión por computador.

¿Cuál es el rendimiento de los modelos RKNN en comparación con otros formatos en dispositivos Rockchip?

Los modelos RKNN suelen superar a otros formatos como ONNX o TensorFlow Lite en los dispositivos Rockchip gracias a su optimización para las NPU de Rockchip. Por ejemplo, las pruebas realizadas en el Radxa Rock 5B (RK3588) muestran que YOLO11n en formato RKNN alcanza un tiempo de inferencia de 99,5 ms/imagen, significativamente más rápido que otros formatos. Esta ventaja de rendimiento es consistente en varios tamaños de modelos de YOLO11 , como se demuestra en la sección de pruebas comparativas. Al aprovechar el hardware NPU dedicado, los modelos RKNN minimizan la latencia y maximizan el rendimiento, lo que los hace ideales para aplicaciones en tiempo real en dispositivos de borde basados en Rockchip.

Creado hace 20 días ✏️ Actualizado hace 4 días

Comentarios