Ir al contenido

Exportación de RKNN para modelos Ultralytics YOLO11

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.

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.

RKNN

¿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
# Here name can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", args={"name": "rk3588"})  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# Here 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'

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'

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.

Creado hace 0 días ✏️ Actualizado hace 0 días

Comentarios