YOLO Vision 2026:

Exportación a RKNN de Rockchip para modelos YOLO26 de Ultralytics#

Cuando despliegas modelos de visión artificial en dispositivos embebidos, especialmente aquellos impulsados por procesadores Rockchip, disponer de un formato de modelo compatible es fundamental. Exportar modelos de Ultralytics YOLO26 al formato RKNN garantiza un rendimiento optimizado y compatibilidad con el hardware de Rockchip. Esta guía te orienta en la conversión de tus modelos YOLO26 al formato RKNN, abarcando exportaciones en coma flotante y cuantizadas en INT8, lo que posibilita un despliegue eficiente en plataformas Rockchip.

Rockchip RKNN export for NPU deployment

Nota

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

¿Qué es Rockchip?#

Reconocido por ofrecer soluciones versátiles y de bajo consumo energético, Rockchip diseña System-on-Chips (SoCs) avanzados que alimentan 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 ofrecen un rendimiento de vanguardia para dispositivos como tabletas, smart TVs, sistemas IoT y aplicaciones de IA en el borde. Empresas como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas y Banana Pi ofrecen diversos productos basados en SoCs de 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 proporcionado 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, asegurando un alto rendimiento en tareas de IA en dispositivos como RK3588, RK3566, RV1103, RV1106 y otros sistemas impulsados por Rockchip.

Caracterí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.

Instalar 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.

Tareas compatibles#

La exportación RKNN es compatible con las siete tareas de Ultralytics. La segmentación semántica y la estimación de profundidad solo están disponibles con YOLO26, la única familia que incluye esas cabezas.

TareaYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Exportar 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.

Instalación#

Para instalar los paquetes necesarios, ejecuta:

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

Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si encuentras alguna dificultad al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para ver soluciones y consejos.

Uso#

El formato RKNN admite los modos Export, Predict y Validate. La inferencia y la validación se ejecutan en el hardware de la NPU de Rockchip. Exporta tu modelo y cárgalo después para ejecutar la inferencia o validar su precisión. Por defecto, la exportación a RKNN utiliza la ruta de compilación en coma flotante (quantize=16) para objetivos Rockchip compatibles con FP16. Utiliza quantize=8 para compilar un modelo RKNN cuantizado en INT8 con datos de calibración. La exportación a RKNN no expone un modo FP32 independiente; el valor predeterminado en FP16 no solicita FP32.

Exportar
from ultralytics import YOLO

# Load a YOLO26 model (replace with any supported task model)
model = YOLO("yolo26n-obb.pt")

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

# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")
Predecir
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")

# Run inference
results = model("https://ultralytics.com/images/boats.jpg")
Validar
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n-obb_rknn_model")

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

Argumentos 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 lotes del modelo exportado o el número máximo de imágenes que el modelo exportado procesará de forma concurrente en el modo predict.
namestr'rk3588'Especifica el destino Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 y rv1126b admiten FP16 (quantize=16 o sin establecer) e INT8 (quantize=8); rv1103, rv1106, rv1103b y rv1106b son exclusivos para INT8 (quantize=8 o sin establecer).
quantizeint o strNonePrecisión de cuantización: sin establecer o 16 compila en FP16 para objetivos compatibles con FP16; sin establecer activa automáticamente INT8 para objetivos exclusivos de INT8; 8 compila en INT8. La exportación a RKNN no tiene un modo FP32 independiente. Reemplaza los flags obsoletos half/int8.
simplifyboolTrueSimplifica el grafo ONNX intermedio con onnxslim.
opsetintNoneEspecifica la versión de opset de ONNX para el grafo ONNX intermedio. Si no se establece, el valor predeterminado es 19, y los valores superiores a 19 se reducen a 19.
datastrNoneDataset en formato YAML utilizado para la calibración INT8; la clasificación, por su parte, requiere un directorio de dataset o el nombre de un dataset integrado. Si se omite junto con quantize=8, Ultralytics selecciona el dataset 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 más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Desplegando 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.

Instalació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 la validación en tu dispositivo Rockchip exactamente como se muestra en la sección Uso anterior; el archivo _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 de RKNN no coincide con la versión de RKNN Toolkit y la inferencia falla, reemplaza /usr/lib/librknnrt.so por el archivo librknnrt.so oficial.

Captura de pantalla de exportación a RKNN

Aplicaciones 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: Monitoriza la salud de los cultivos y detecta plagas empleando visión artificial en 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.

Benchmarks#

Las pruebas de rendimiento de YOLO26 que aparecen a continuación fueron ejecutadas por el equipo de Ultralytics en Radxa Rock 5B basado en Rockchip RK3588 con el formato de modelo rknn, midiendo la velocidad y la 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.

Resumen#

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 embebidos. Este enfoque permite detección de objetos en tiempo real y otras aplicaciones de IA de visión con un consumo mínimo de energía y un alto rendimiento.

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

Asimismo, si deseas saber más sobre otras integraciones de Ultralytics YOLO26, visita nuestra integration guide page. Allí encontrarás una gran cantidad de recursos y perspectivas útiles.

FAQ#

¿Cómo exporto mi modelo YOLO de Ultralytics al formato RKNN?#

Puedes exportar fácilmente tu modelo Ultralytics YOLO al formato RKNN utilizando el método export() en el paquete de Python de Ultralytics o mediante la interfaz de línea de comandos (CLI). Asegúrate de utilizar un PC con Linux basado en x86 para el proceso de exportación, ya que los dispositivos ARM64 como Rockchip no son compatibles para esta operación. Puedes especificar la plataforma Rockchip de destino utilizando el argumento name, como rk3588, rk3566 u otros. Este proceso genera un modelo RKNN optimizado listo para ser desplegado en tu dispositivo Rockchip, aprovechando su Neural Processing Unit (NPU) para acelerar la inferencia.

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")

¿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 por 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 menor latencia en comparación con la ejecución de formatos de modelo genéricos como ONNX o LiteRT en el mismo hardware. Usar modelos RKNN permite un uso más eficiente de los recursos del dispositivo, lo que conlleva un menor consumo de energía y un mejor rendimiento general, especialmente crítico para aplicaciones en tiempo real en dispositivos periféricos (edge devices). Al convertir tus modelos Ultralytics YOLO a RKNN, puedes alcanzar un rendimiento óptimo en dispositivos equipados con SoC de Rockchip como el RK3588, RK3566 y otros.

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

Los modelos RKNN están optimizados específicamente para 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 de hardware proporcionada por los dispositivos Rockchip. Para un rendimiento óptimo en otras plataformas, se recomienda exportar tus modelos Ultralytics YOLO a formatos diseñados específicamente para esas plataformas, como TensorRT para GPUs NVIDIA o Edge TPU para los dispositivos Coral de Google. Ultralytics admite la exportación a una amplia gama de formatos, asegurando la compatibilidad con diversos aceleradores de hardware.

¿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 en coma flotante, incluyendo RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 y RV1126B. También es compatible con la exportación RKNN cuantizada en INT8 con quantize=8, la cual es necesaria para objetivos exclusivos de INT8 como RV1103, RV1106, RV1103B y RV1106B. Estas plataformas se encuentran comúnmente en dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas y Banana Pi, lo que te permite desplegar tus modelos RKNN optimizados en una gama de dispositivos impulsados por Rockchip, desde ordenadores de placa única hasta sistemas industriales.

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

Los modelos RKNN suelen superar a otros formatos como ONNX o LiteRT en dispositivos Rockchip debido a su optimización para las NPU de Rockchip. Por ejemplo, las pruebas de rendimiento en Radxa Rock 5B (RK3588) muestran que YOLO26n en formato RKNN alcanza un tiempo de inferencia de 65,7 ms/imagen, significativamente más rápido que otros formatos. Esta ventaja de rendimiento es constante en varios tamaños del modelo YOLO26, como se demuestra en la sección de pruebas de rendimiento. Al aprovechar el hardware de NPU dedicado, los modelos RKNN minimizan la latencia y maximizan el rendimiento, lo que los hace ideales para aplicaciones en tiempo real en dispositivos perimetrales basados en Rockchip.

Comentarios