Exportación de modelos Ultralytics YOLO26 a RKNN para Rockchip#
Al implementar modelos de visión por ordenador en dispositivos integrados, especialmente los basados en procesadores Rockchip, es esencial disponer de un formato de modelo compatible. Exportar modelos de Ultralytics YOLO26 al formato RKNN garantiza un rendimiento optimizado y compatibilidad con el hardware de Rockchip. Esta guía te explica cómo convertir tus modelos YOLO26 al formato RKNN, incluidas las exportaciones de coma flotante y cuantizadas a INT8, para permitir una implementación 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 objetivos que solo admiten INT8, como RV1103 y RV1106, requieren quantize=8.
¿Qué es Rockchip?#
Rockchip, reconocida por ofrecer soluciones versátiles y eficientes en cuanto a consumo energético, diseña avanzados sistemas en chip (SoCs) que impulsan una amplia gama de productos electrónicos de consumo, aplicaciones industriales y tecnologías de IA. Gracias a su arquitectura basada en ARM, sus unidades de procesamiento neuronal (NPUs) integradas y su compatibilidad con multimedia de alta resolución, los SoCs de Rockchip ofrecen un rendimiento puntero en dispositivos como tabletas, televisores inteligentes, 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 distintos mercados.
RKNN Toolkit#
El RKNN Toolkit es un conjunto de herramientas y bibliotecas proporcionado por 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 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 de Rockchip (unidad de procesamiento neuronal), garantizando 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 la implementación en plataformas Rockchip:
- Optimización para NPU: Los modelos RKNN están específicamente optimizados 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, un aspecto fundamental para las aplicaciones en tiempo real en dispositivos periféricos.
- Personalización específica para la 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 dedicado de la NPU, los modelos RKNN consumen menos energía que el procesamiento basado en CPU o GPU, lo que prolonga la duración de la batería de los dispositivos portátiles.
Instalar un sistema operativo en el hardware Rockchip#
El primer paso después de conseguir un dispositivo basado en Rockchip es instalar un sistema operativo para que el hardware pueda arrancar en un entorno funcional. En esta guía te remitiremos a las guías de inicio de los dos dispositivos que hemos probado: Radxa Rock 5B y Radxa Zero 3W.
Tareas compatibles#
La exportación a RKNN admite 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 |
|---|---|---|---|
| Detección | ✅ | ✅ | ✅ |
| Segmentación | ✅ | ✅ | ✅ |
| Semántica | ❌ | ❌ | ✅ |
| Profundidad | ❌ | ❌ | ✅ |
| Clasificación | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportación a RKNN: conversión de tu modelo YOLO26#
Exporta un modelo Ultralytics YOLO26 al formato RKNN y ejecuta la inferencia con el modelo exportado.
Asegúrate de utilizar un PC Linux basado en X86 para exportar el modelo a RKNN, ya que la exportación en dispositivos basados en Rockchip (ARM64) no es compatible.
Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara consultar instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, revisa nuestra guía de instalación de Ultralytics. Si encuentras dificultades al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.
Uso#
La exportación FP16 es compatible con todas las tareas. La exportación INT8 actualmente solo es compatible con modelos de detección; en el futuro se incluirá compatibilidad con más tareas. Por lo tanto, los destinos exclusivos para INT8, como RV1103 y RV1106, solo exportan modelos de detección.
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, a continuación, carga el modelo exportado para ejecutar la inferencia o validar su precisión. De forma predeterminada, la exportación a RKNN utiliza la ruta de compilación de coma flotante (quantize=16) para 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
# 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 (detection models only)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'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")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#
| 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 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 de 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 solo admiten INT8 (quantize=8 o sin establecer). |
quantize | int o str | None | Precisión de cuantización: si no se define o se usa 16, se genera FP16 para destinos compatibles con FP16; si no se define, se activa automáticamente INT8 para destinos exclusivos de INT8; 8 genera INT8, lo cual solo es compatible con modelos de detección. La exportación a RKNN no tiene un modo FP32 independiente. Reemplaza las banderas obsoletas half y 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. El valor predeterminado es 19 si no se establece, y los valores superiores a 19 se reducen a 19. |
data | str | None | YAML de dataset utilizado para la calibración INT8. Si se omite con quantize=8, Ultralytics selecciona el dataset de calibración de detección predeterminado (coco8.yaml). |
fraction | float, int o list | 1.0 | Subconjunto de calibración como proporción, número de imágenes o proporciones/números de [train, val, test]. Las listas de dos elementos dejan test completo, mientras que 0 lo omite. |
device | str | None | Especifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu). |
Asegúrate de utilizar una máquina Linux x86 al exportar a RKNN.
Para obtener más información sobre el proceso de exportación, visita la página de la 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 muestra en la sección Usage anterior: el _rknn_model exportado se carga directamente con YOLO(...).
Si aparece un mensaje de registro que indica que la versión del tiempo de ejecución de RKNN no coincide con la versión de RKNN Toolkit y la inferencia falla, sustituye /usr/lib/librknnrt.so por el archivo librknnrt.so oficial.

Aplicaciones en el mundo real#
Los dispositivos basados en Rockchip con modelos YOLO26 RKNN se pueden utilizar en diversas aplicaciones:
- Vigilancia inteligente: Implementa sistemas eficientes de detección de objetos para la supervisión 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 minorista: Haz un seguimiento del comportamiento de los clientes y de la gestión del inventario en tiempo real sin depender de la nube.
- Agricultura inteligente: Supervisa el estado de los cultivos y detecta plagas mediante la visión por ordenador 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.
Evaluaciones comparativas#
Las pruebas de rendimiento de YOLO26 que aparecen a continuación fueron realizadas por el equipo de Ultralytics en una Radxa Rock 5B basada en Rockchip RK3588, utilizando 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 |
Pruebas de rendimiento realizadas con ultralytics 8.4.60
La validación de los benchmarks anteriores se realizó utilizando 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 utilizar modelos RKNN para aplicaciones de IA en el borde.
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 por ordenador 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, visita la documentación oficial de RKNN.
Además, si quieres obtener más información sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de la guía de integraciones. Allí encontrarás muchos recursos y conocimientos útiles.
Preguntas frecuentes#
Puedes exportar fácilmente tu modelo Ultralytics YOLO al formato RKNN mediante el método
export()del paquete Ultralytics Python o a través de la interfaz de línea de comandos (CLI). Asegúrate de utilizar un PC Linux basado en x86 para el proceso de 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 # Load your YOLO model model = YOLO("yolo26n.pt") # Export to RKNN format for a specific Rockchip platform model.export(format="rknn", name="rk3588")Los modelos RKNN están diseñados específicamente para aprovechar las capacidades de aceleración de hardware de las unidades de procesamiento neuronal (NPUs) de Rockchip. Esta optimización se traduce en velocidades de inferencia considerablemente mayores y una latencia reducida en comparación con la ejecución de formatos de modelo genéricos como ONNX o LiteRT en el mismo hardware. El uso de modelos RKNN permite utilizar los recursos del dispositivo de forma más eficiente, lo que se traduce en un menor consumo energético y un mejor rendimiento general, especialmente importante para las aplicaciones en tiempo real en dispositivos periféricos. Al convertir tus modelos Ultralytics YOLO a RKNN, puedes lograr un rendimiento óptimo en dispositivos basados en SoCs 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 te beneficiarás de la aceleración de hardware proporcionada por 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 ellas, como TensorRT para GPU de NVIDIA o Edge TPU para dispositivos Coral de Google. Ultralytics admite la exportación a una amplia variedad de formatos, lo que garantiza la compatibilidad con distintos aceleradores de hardware.
La exportación de Ultralytics YOLO al formato RKNN admite plataformas Rockchip con compilaciones RKNN de coma flotante, incluidas RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 y RV1126B. También admite la exportación RKNN cuantizada a INT8 con
quantize=8, necesaria para 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 te permite implementar tus modelos RKNN optimizados en una amplia gama de dispositivos basados en Rockchip, desde ordenadores de placa única hasta sistemas industriales.Por lo general, los modelos RKNN superan a otros formatos como ONNX o LiteRT en dispositivos Rockchip gracias 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 58,5 ms/imagen en FP16 y 41,2 ms/imagen en INT8, considerablemente más rápido que otros formatos. Esta ventaja de rendimiento se mantiene en distintos tamaños de modelo YOLO26, como se demuestra en la sección de pruebas de rendimiento. 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.