Meet YOLO26: next-gen vision AI.

Link to this sectionExportación a RKNN de Rockchip para modelos YOLO26 de Ultralytics#

Al desplegar modelos de visión artificial en dispositivos integrados, especialmente en aquellos con procesadores Rockchip, contar con un formato de modelo compatible es fundamental. Exportar modelos Ultralytics YOLO26 al formato RKNN asegura un rendimiento optimizado y compatibilidad con el hardware de Rockchip. Esta guía te mostrará cómo convertir tus modelos YOLO26 al formato RKNN, incluyendo exportaciones de punto flotante y cuantizadas en INT8, permitiendo un despliegue eficiente en plataformas Rockchip.

Rockchip RKNN export for NPU deployment

Nota

Esta guía ha sido probada con Radxa Rock 5B, basado en Rockchip RK3588, y Radxa Zero 3W, basado en Rockchip RK3566. Se espera que funcione en otros dispositivos basados en Rockchip compatibles con rknn-toolkit2, como RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B y RV1106B. Los objetivos exclusivos de INT8, como RV1103 y RV1106, requieren quantize=8.

Link to this section¿Qué es Rockchip?#

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

Link to this sectionKit de herramientas RKNN#

El Kit de herramientas RKNN es un conjunto de herramientas y librerías 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 (Unidad de Procesamiento Neuronal) de Rockchip, asegurando un alto rendimiento en tareas de IA en dispositivos como RK3588, RK3566, RV1103, RV1106 y otros sistemas basados en Rockchip.

Link to this sectionCaracterísticas clave de los modelos RKNN#

Los modelos RKNN ofrecen varias ventajas para el despliegue en plataformas Rockchip:

  • Optimizado para NPU: Los modelos RKNN están específicamente optimizados para ejecutarse en las NPU de Rockchip, garantizando el máximo rendimiento y eficiencia.
  • Baja latencia: El formato RKNN minimiza la latencia de inferencia, lo cual es crítico para aplicaciones en tiempo real en dispositivos de borde.
  • Personalización específica de la plataforma: Los modelos RKNN pueden adaptarse a plataformas Rockchip específicas, permitiendo una mejor utilización de los recursos de hardware.
  • Eficiencia energética: Al aprovechar el hardware dedicado de la NPU, los modelos RKNN consumen menos energía que el procesamiento basado en CPU o GPU, extendiendo la vida útil de la batería en dispositivos portátiles.

Link to this sectionInstalar el SO en el hardware de Rockchip#

El primer paso tras adquirir un dispositivo basado en Rockchip es instalar un SO para que el hardware pueda arrancar en un entorno operativo. En esta guía señalaremos las guías de inicio rápido de los dos dispositivos que probamos: Radxa Rock 5B y Radxa Zero 3W.

Link to this sectionExportar a RKNN: convirtiendo tu modelo YOLO26#

Exporta un modelo YOLO26 de Ultralytics al formato RKNN y ejecuta la inferencia con el modelo exportado.

Nota

Asegúrate de usar un PC con Linux basado en X86 para exportar el modelo a RKNN, ya que la exportación en dispositivos basados en Rockchip (ARM64) no está soportada.

Link to this sectionInstalación#

Para instalar los paquetes necesarios, ejecuta:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Para instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra Guía de instalación de Ultralytics. Mientras instalas los paquetes requeridos para YOLO26, si encuentras alguna dificultad, consulta nuestra Guía de problemas comunes para obtener soluciones y consejos.

Link to this sectionUso#

Nota

La exportación actualmente solo está soportada para modelos de detección. En el futuro se añadirá soporte para más modelos.

El formato RKNN admite los modos Export, Predict y Validate. La inferencia y la validación se ejecutan en el hardware NPU de Rockchip. Exporta tu modelo y luego cárgalo para realizar inferencias o validar su precisión. De forma predeterminada, la exportación RKNN utiliza la ruta de compilación de punto flotante (quantize=16) para objetivos de Rockchip compatibles con FP16. Usa quantize=8 para compilar un modelo RKNN cuantizado en INT8 con datos de calibración. La exportación RKNN no expone un modo FP32 independiente; el valor predeterminado FP16 no solicita FP32.

Exportar
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", quantize=8, data="coco8.yaml")
Predecir
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
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 sectionArgumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'rknn'Formato de destino para el modelo exportado, definiendo la compatibilidad con entornos de despliegue de Rockchip.
imgszint o tuple640Tamañ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.
batchint1Especifica el tamaño de inferencia por lote del modelo exportado o el número máximo de imágenes que el modelo procesará simultáneamente en el modo predict.
namestr'rk3588'Especifica el objetivo de Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 y rv1126b admiten FP16 (quantize=16 o sin definir) e INT8 (quantize=8); rv1103, rv1106, rv1103b y rv1106b son solo INT8 (quantize=8 o sin definir).
quantizeint o strNonePrecisión de cuantización: si no se define o es 16, crea FP16 para objetivos compatibles con FP16; si no se define, habilita automáticamente INT8 para objetivos solo INT8; 8 crea INT8. La exportación RKNN no tiene un modo FP32 independiente. Reemplaza los flags obsoletos half/int8.
datastrNoneYAML del conjunto de datos utilizado para la calibración INT8. Si se omite con quantize=8, Ultralytics selecciona el conjunto de datos de calibración predeterminado para la tarea del modelo.
fractionfloat1.0Fracción de imágenes de calibración a usar para la cuantización INT8.
devicestrNoneEspecifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu).
Consejo

Por favor, asegúrate de usar una máquina Linux x86 al exportar a RKNN.

Para obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre la exportación.

Link to this sectionDesplegando modelos YOLO26 RKNN exportados#

Una vez que hayas exportado con éxito tus modelos YOLO26 de Ultralytics al formato RKNN, el siguiente paso es desplegar estos modelos en dispositivos basados en Rockchip.

Link to this sectionInstalación#

Para instalar los paquetes necesarios, ejecuta:

Instalación
# Install the required package for YOLO26
pip install ultralytics

Una vez instalado, ejecuta la inferencia y validación en tu dispositivo Rockchip exactamente como se muestra en la sección Uso de arriba: el _rknn_model exportado se carga directamente con YOLO(...).

Nota

Si encuentras un mensaje de registro que indica que la versión del entorno de ejecución RKNN no coincide con la versión del Kit de herramientas RKNN y la inferencia falla, por favor reemplaza /usr/lib/librknnrt.so con el archivo librknnrt.so oficial.

Captura de pantalla de exportación RKNN

Link to this sectionAplicaciones en el mundo real#

Los dispositivos con Rockchip y modelos YOLO26 RKNN pueden usarse en diversas aplicaciones:

  • Vigilancia inteligente: Despliega sistemas eficientes de detección de objetos para monitoreo de seguridad con bajo consumo de energía.
  • Automatización industrial: Implementa control de calidad y detección de defectos directamente en dispositivos integrados.
  • Analítica minorista: Rastrea el comportamiento del cliente y gestiona el inventario en tiempo real sin dependencia de la nube.
  • Agricultura inteligente: Monitorea la salud de los cultivos y detecta plagas usando visión artificial en la agricultura.
  • Robótica autónoma: Habilita la navegación basada en visión y la detección de obstáculos en plataformas con recursos limitados.

Link to this sectionBenchmarks#

Los puntos de referencia (benchmarks) de YOLO26 a continuación fueron realizados por el equipo de Ultralytics en un Radxa Rock 5B basado en Rockchip RK3588 con el formato de modelo rknn, midiendo velocidad y precisión.

Rendimiento
ModeloFormatoEstadoTamaño (MB)mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

Evaluado con ultralytics 8.4.23

Nota

La validación para los puntos de referencia anteriores se realizó utilizando el dataset COCO128. El tiempo de inferencia no incluye pre/post-procesamiento.

Link to this sectionResumen#

En esta guía, has aprendido cómo exportar modelos YOLO26 de Ultralytics al formato RKNN para mejorar su despliegue en plataformas Rockchip. También se te presentó el Kit de herramientas RKNN y las ventajas específicas de usar modelos RKNN para aplicaciones de IA en el borde.

La combinación de Ultralytics YOLO26 y la tecnología NPU de Rockchip proporciona una solución eficiente para ejecutar tareas avanzadas de visión artificial en dispositivos integrados. Este enfoque permite la detección de objetos en tiempo real y otras aplicaciones de IA de visión con un consumo de energía mínimo y alto rendimiento.

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

Además, si deseas saber más sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de guía de integración. Encontrarás muchos recursos útiles e información allí.

Link to this sectionFAQ#

Link to this section¿Cómo exporto mi modelo YOLO de Ultralytics al formato RKNN?#

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

Ejemplo
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¿Cuáles son los beneficios de usar 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 resulta en velocidades de inferencia significativamente más rápidas y una latencia reducida en comparación con ejecutar formatos de modelo genéricos como ONNX o TensorFlow Lite en el mismo hardware. Usar modelos RKNN permite un uso más eficiente de los recursos del dispositivo, lo que lleva a un menor consumo de energía y un mejor rendimiento general, especialmente crítico para aplicaciones en tiempo real en dispositivos de borde. Al convertir tus modelos YOLO de Ultralytics a RKNN, puedes lograr un rendimiento óptimo en dispositivos impulsados por SoCs de Rockchip como el RK3588, RK3566 y otros.

Link to this section¿Puedo desplegar modelos RKNN en dispositivos de otros fabricantes como NVIDIA o Google?#

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

Link to this section¿Qué plataformas de Rockchip están soportadas para el despliegue de modelos RKNN?#

La exportación de Ultralytics YOLO al formato RKNN es compatible con plataformas Rockchip con compilaciones RKNN de punto flotante, incluyendo RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 y RV1126B. También admite la exportación RKNN cuantizada en INT8 con quantize=8, necesaria para objetivos exclusivos de INT8 como RV1103, RV1106, RV1103B y RV1106B. Estas plataformas se encuentran habitualmente en dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas y Banana Pi, lo que te permite implementar tus modelos RKNN optimizados en una variedad de dispositivos equipados con Rockchip, desde ordenadores de placa única hasta sistemas industriales.

Link to this section¿Cómo se compara el rendimiento de los modelos RKNN con otros formatos en dispositivos Rockchip?#

Los modelos RKNN generalmente superan a otros formatos como ONNX o TensorFlow Lite en dispositivos Rockchip debido a su optimización para las NPU de Rockchip. Por ejemplo, los benchmarks en el Radxa Rock 5B (RK3588) muestran que YOLO26n en formato RKNN logra un tiempo de inferencia de 65.7 ms/imagen, significativamente más rápido que otros formatos. Esta ventaja de rendimiento es consistente en varios tamaños de modelo YOLO26, como se demuestra en la sección de benchmarks. Al aprovechar el hardware de NPU dedicado, los modelos RKNN minimizan la latencia y maximizan el rendimiento, haciéndolos ideales para aplicaciones en tiempo real en dispositivos de borde basados en Rockchip.

Comentarios