Exportación Rockchip RKNN para modelos Ultralytics YOLO26#
Al desplegar modelos de visión artificial en dispositivos integrados, especialmente en los que incorporan procesadores Rockchip, es fundamental disponer de un formato de modelo compatible. Exportar modelos Ultralytics YOLO26 al formato RKNN garantiza un rendimiento optimizado y la compatibilidad con el hardware de Rockchip. Esta guía te explica cómo convertir tus modelos YOLO26 al formato RKNN, incluidas las exportaciones de punto flotante y las cuantizadas INT8, para permitir un despliegue eficiente en plataformas Rockchip.
Esta guía se ha probado 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 dispositivos compatibles solo con INT8, como RV1103 y RV1106, requieren quantize=8.
¿Qué es Rockchip?#
Rockchip, conocida por ofrecer soluciones versátiles y eficientes energéticamente, diseña sistemas en chip (SoC) avanzados que impulsan una amplia variedad de productos electrónicos de consumo, aplicaciones industriales y tecnologías de IA. Con una arquitectura basada en ARM, unidades de procesamiento neuronal (NPU) integradas y compatibilidad con multimedia de alta resolución, los SoC de Rockchip ofrecen un rendimiento de vanguardia en dispositivos como tabletas, televisores inteligentes, sistemas IoT y aplicaciones de IA en el perímetro. Empresas como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas y Banana Pi ofrecen distintos productos basados en SoC de Rockchip, lo que amplía aún más su alcance e impacto en diversos mercados.
RKNN Toolkit#
El RKNN Toolkit es un conjunto de herramientas y bibliotecas que proporciona Rockchip para facilitar la implementación de modelos de aprendizaje profundo en sus plataformas de hardware. RKNN, o red neuronal de Rockchip, es el formato propietario que utilizan estas herramientas. Los modelos RKNN están diseñados para aprovechar al máximo la aceleración por hardware que proporciona la NPU (unidad de procesamiento neuronal) de Rockchip y garantizar un alto rendimiento en tareas de IA en dispositivos como RK3588, RK3566, RV1103, RV1106 y otros sistemas basados en Rockchip.
Características principales de los modelos RKNN#
Los modelos RKNN ofrecen varias ventajas para su implementación en plataformas Rockchip:
- Optimizados 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 inferencia, algo esencial para las aplicaciones en tiempo real en dispositivos periféricos.
- Personalización específica para cada plataforma: los modelos RKNN se pueden adaptar a plataformas Rockchip concretas, lo que permite aprovechar mejor los recursos de hardware.
- Eficiencia energética: al aprovechar el hardware NPU dedicado, los modelos RKNN consumen menos energía que el procesamiento basado en CPU o GPU, lo que prolonga la autonomía de los dispositivos portátiles.
Instalar un sistema operativo en el hardware Rockchip#
El primer paso después de hacerte con un dispositivo basado en Rockchip es instalar un sistema operativo para que el hardware pueda arrancar en un entorno operativo. En esta guía te indicaremos cómo empezar con los dos dispositivos que hemos probado: Radxa Rock 5B y Radxa Zero 3W.
Tareas compatibles#
La exportación a 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.
| Tarea | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semántica | ❌ | ❌ | ✅ |
| Profundidad | ❌ | ❌ | ✅ |
| Clasificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportar a RKNN: convertir tu modelo YOLO26#
Exporta un modelo Ultralytics YOLO26 al formato RKNN y ejecuta inferencias con el modelo exportado.
Asegúrate de usar un PC Linux basado en X86 para exportar el modelo a RKNN, ya que no se admite la exportación en dispositivos basados en Rockchip (ARM64).
Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si tienes dificultades al instalar los paquetes necesarios para YOLO26, consulta nuestra guía sobre problemas habituales, donde encontrarás soluciones y consejos.
Uso#
La exportación FP16 es compatible con todas las tareas. Actualmente, la exportación INT8 solo es compatible con modelos de detección; próximamente se admitirán más tareas. Por tanto, los objetivos que solo admiten INT8, como RV1103 y RV1106, solo permiten exportar modelos de detección.
El formato RKNN es compatible con los modos Exportar, Predecir y Validar. La inferencia y la validación se ejecutan en el hardware NPU de Rockchip. Exporta tu modelo y, a continuación, carga el modelo exportado para ejecutar inferencias o validar su precisión. De forma predeterminada, la exportación a RKNN utiliza la ruta de compilación de punto flotante (quantize=16) para los objetivos Rockchip compatibles con FP16. Usa quantize=8 para compilar un modelo RKNN cuantizado a INT8 con datos de calibración. La exportación a RKNN no ofrece un modo FP32 independiente; el valor predeterminado FP16 no solicita FP32.
from ultralytics import YOLO
# Carga un modelo YOLO26 (sustitúyelo por cualquier modelo de tarea compatible)
model = YOLO("yolo26n-obb.pt")
# Exporta el modelo al formato RKNN
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# Exporta un modelo RKNN cuantizado a INT8 con datos de calibración (solo modelos de detección)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# Carga el modelo RKNN exportado
model = YOLO("./yolo26n-obb_rknn_model")
# Ejecutar inferencia
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Carga el modelo RKNN exportado
model = YOLO("./yolo26n-obb_rknn_model")
# Valida la precisión con el conjunto de datos DOTA8
metrics = model.val(data="dota8.yaml")Argumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'rknn' | Formato de destino del modelo exportado, que define la compatibilidad con los entornos de implementación de Rockchip. |
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 del lote de inferencia del modelo exportado o el número máximo de imágenes que el modelo exportado procesará simultáneamente en el modo predict. |
name | str | 'rk3588' | Especifica el objetivo Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 y rv1126b admiten FP16 (quantize=16 o sin configurar) e INT8 (quantize=8); rv1103, rv1106, rv1103b y rv1106b solo admiten INT8 (quantize=8 o sin configurar). |
quantize | int o str | None | Precisión de cuantización: si no se configura o se establece en 16, compila en FP16 para los objetivos compatibles con FP16; si no se configura, activa automáticamente INT8 para los objetivos que solo admiten INT8; 8 compila en INT8, que solo es compatible con modelos de detección. La exportación a RKNN no tiene un modo FP32 independiente. Sustituye las opciones obsoletas half/int8. |
simplify | bool | True | Simplifica el grafo ONNX intermedio con onnxslim. |
opset | int | None | Especifica la versión del opset de ONNX para el grafo ONNX intermedio. Si no se configura, el valor predeterminado es 19; los valores superiores a 19 se reducen a 19. |
data | str | None | Archivo YAML del conjunto de datos usado para la calibración INT8. Si se omite junto con quantize=8, Ultralytics selecciona el conjunto de datos de calibración de detección predeterminado (coco8.yaml). |
fraction | float, int o list | 1.0 | Subconjunto de calibración expresado como proporción, número de imágenes o proporciones/recuentos [train, val, test]. Las listas de dos elementos dejan completo test, mientras que 0 lo omite. |
device | str | None | Especifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu). |
Asegúrate de usar un equipo Linux x86 al exportar a RKNN.
Para obtener más información sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.
Implementación de modelos YOLO26 RKNN exportados#
Una vez que hayas exportado correctamente tus modelos Ultralytics YOLO26 al formato RKNN, el siguiente paso es implementarlos en dispositivos basados en Rockchip.
Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsUna vez instalado, ejecuta la inferencia y la validación en tu dispositivo Rockchip exactamente como se indica en la sección Uso anterior: el _rknn_model exportado se carga directamente con YOLO(...).
Si aparece un mensaje de registro que indica que la versión del entorno de ejecución RKNN no coincide con la versión del RKNN Toolkit y la inferencia falla, sustituye /usr/lib/librknnrt.so por el archivo oficial librknnrt.so.

Aplicaciones en el mundo real#
Los dispositivos basados en Rockchip con modelos YOLO26 RKNN se pueden utilizar en distintas aplicaciones:
- Videovigilancia inteligente: implementa sistemas eficientes de detección de objetos para la vigilancia de seguridad con un bajo consumo energético.
- Automatización industrial: implementa el control de calidad y la detección de defectos directamente en dispositivos integrados.
- Analítica para el comercio minorista: realiza un seguimiento del comportamiento de los clientes y gestiona el inventario en tiempo real, sin depender de la nube.
- Agricultura inteligente: supervisa la salud de los cultivos y detecta plagas mediante la visión artificial en la agricultura.
- Robótica autónoma: permite la navegación basada en visión y la detección de obstáculos en plataformas con recursos limitados.
Pruebas de rendimiento#
El equipo de Ultralytics ejecutó los siguientes benchmarks de YOLO26 en una Radxa Rock 5B basada en Rockchip RK3588, con el formato de modelo rknn, para medir la velocidad y la precisión.
| Modelo | Formato | Precisión | Estado | Tamaño (MB) | mAP50-95(B) | Tiempo de inferencia (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | rknn | FP16 | ✅ | 7.2 | 0.477 | 58.5 |
| YOLO26n | rknn | INT8 | ✅ | 4.1 | 0.463 | 41.2 |
| YOLO26s | rknn | FP16 | ✅ | 21.0 | 0.569 | 93.8 |
| YOLO26s | rknn | INT8 | ✅ | 12.0 | 0.554 | 61.9 |
| YOLO26m | rknn | FP16 | ✅ | 43.0 | 0.608 | 226.3 |
| YOLO26m | rknn | INT8 | ✅ | 22.0 | 0.603 | 122.0 |
| YOLO26l | rknn | FP16 | ✅ | 53.0 | 0.628 | 264.7 |
| YOLO26l | rknn | INT8 | ✅ | 28.0 | 0.617 | 145.3 |
| YOLO26x | rknn | FP16 | ✅ | 113.0 | 0.664 | 655.4 |
| YOLO26x | rknn | INT8 | ✅ | 58.0 | 0.649 | 287.4 |
Evaluado con ultralytics 8.4.60
La validación de los benchmarks anteriores se realizó con el conjunto de datos COCO128. El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
Resumen#
En esta guía has aprendido a exportar modelos Ultralytics YOLO26 al formato RKNN para mejorar su implementación en plataformas Rockchip. También has conocido el RKNN Toolkit y las ventajas específicas de usar modelos RKNN para aplicaciones de IA en el perímetro.
La combinación de Ultralytics YOLO26 y la tecnología NPU de Rockchip ofrece una solución eficiente para ejecutar tareas avanzadas de visión artificial en dispositivos integrados. Este enfoque permite realizar detección de objetos en tiempo real y otras aplicaciones de IA visual con un consumo energético mínimo y un alto rendimiento.
Para obtener más información sobre el uso, consulta la documentación oficial de RKNN.
Además, si quieres saber más sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de la guía de integración. Allí encontrarás muchos recursos e ideas útiles.
Preguntas frecuentes#
Puedes exportar fácilmente tu modelo Ultralytics YOLO al formato RKNN con el método
export()del paquete Python de Ultralytics o mediante la interfaz de línea de comandos (CLI). Asegúrate de usar un PC Linux basado en x86 para la exportación, ya que los dispositivos ARM64, como los de Rockchip, no son compatibles con esta operación. Puedes especificar la plataforma Rockchip de destino mediante el argumentoname, por ejemplo,rk3588,rk3566u otros. Este proceso genera un modelo RKNN optimizado y listo para implementarse en tu dispositivo Rockchip, aprovechando su unidad de procesamiento neuronal (NPU) para acelerar la inferencia.Ejemplofrom ultralytics import YOLO # Carga tu modelo YOLO model = YOLO("yolo26n.pt") # Exporta al formato RKNN para una plataforma Rockchip específica model.export(format="rknn", name="rk3588")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 permite una inferencia mucho más rápida y una latencia menor que al ejecutar formatos de modelo genéricos, como ONNX o LiteRT, en el mismo hardware. Los modelos RKNN permiten utilizar los recursos del dispositivo de forma más eficiente, con un menor consumo energético y un mejor rendimiento general, algo especialmente importante para las aplicaciones en tiempo real en dispositivos periféricos. Al convertir tus modelos Ultralytics YOLO a RKNN, puedes obtener un rendimiento óptimo en dispositivos con SoC de Rockchip, como RK3588, RK3566 y otros.
Los modelos RKNN están optimizados específicamente para las plataformas Rockchip y sus NPU integradas. Aunque técnicamente puedes ejecutar un modelo RKNN en otras plataformas mediante emulación por software, no aprovecharás la aceleración por hardware que ofrecen los dispositivos Rockchip. Para obtener 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 GPU NVIDIA o Edge TPU para dispositivos Coral de Google. Ultralytics permite exportar a una amplia variedad de formatos para garantizar la compatibilidad con distintos aceleradores de hardware.
La exportación de Ultralytics YOLO al formato RKNN es compatible con plataformas Rockchip que admiten compilaciones RKNN de punto flotante, como RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 y RV1126B. También admite la exportación RKNN cuantizada a INT8 con
quantize=8, necesaria para los objetivos que solo admiten 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 permite implementar tus modelos RKNN optimizados en una amplia gama de dispositivos basados en Rockchip, desde ordenadores de placa única hasta sistemas industriales.Los modelos RKNN suelen superar a otros formatos, como ONNX o LiteRT, en dispositivos Rockchip porque están optimizados para las NPU de Rockchip. Por ejemplo, los benchmarks de Radxa Rock 5B (RK3588) muestran que YOLO26n en formato RKNN alcanza un tiempo de inferencia de 58,5 ms por imagen en FP16 y 41,2 ms por imagen en INT8, bastante más rápido que otros formatos. Esta ventaja de rendimiento se mantiene en distintos tamaños de modelo YOLO26, como se muestra en la sección de benchmarks. Al aprovechar el hardware NPU dedicado, los modelos RKNN minimizan la latencia y maximizan el rendimiento, por lo que son ideales para aplicaciones en tiempo real en dispositivos periféricos basados en Rockchip.