Exportação para RKNN de modelos Ultralytics YOLO26 para Rockchip#
Ao implementar modelos de visão computacional em dispositivos integrados, especialmente nos equipados com processadores Rockchip, é essencial dispor de um formato de modelo compatível. Exportar modelos Ultralytics YOLO26 para o formato RKNN garante um desempenho otimizado e compatibilidade com o hardware Rockchip. Este guia explica como converter os teus modelos YOLO26 para o formato RKNN, incluindo exportações de ponto flutuante e quantizadas em INT8, permitindo uma implementação eficiente em plataformas Rockchip.
Este guia foi testado com o Radxa Rock 5B, baseado no Rockchip RK3588, e com o Radxa Zero 3W, baseado no Rockchip RK3566. É esperado que funcione noutros dispositivos baseados em Rockchip compatíveis com o rknn-toolkit2, como RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B e RV1106B. Os destinos apenas compatíveis com INT8, como RV1103 e RV1106, requerem quantize=8.
O que é a Rockchip?#
Reconhecida por fornecer soluções versáteis e energeticamente eficientes, a Rockchip desenvolve sistemas avançados em chip (SoCs) que alimentam uma vasta gama de produtos eletrónicos de consumo, aplicações industriais e tecnologias de IA. Com uma arquitetura baseada em ARM, unidades de processamento neural (NPUs) integradas e suporte multimédia de alta resolução, os SoCs Rockchip permitem um desempenho de ponta em dispositivos como tablets, televisores inteligentes, sistemas IoT e aplicações de IA na periferia. Empresas como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi oferecem vários produtos baseados em SoCs Rockchip, ampliando ainda mais o seu alcance e impacto em diferentes mercados.
RKNN Toolkit#
O RKNN Toolkit é um conjunto de ferramentas e bibliotecas fornecido pela Rockchip para facilitar a implementação de modelos de aprendizagem profunda nas suas plataformas de hardware. RKNN, ou rede neural Rockchip, é o formato proprietário utilizado por estas ferramentas. Os modelos RKNN foram concebidos para tirar pleno partido da aceleração de hardware disponibilizada pela NPU (unidade de processamento neural) da Rockchip, garantindo um elevado desempenho em tarefas de IA em dispositivos como RK3588, RK3566, RV1103, RV1106 e outros sistemas equipados com Rockchip.
Principais funcionalidades dos modelos RKNN#
Os modelos RKNN oferecem várias vantagens para a implementação em plataformas Rockchip:
- Otimização para NPU: os modelos RKNN são especificamente otimizados para execução nas NPUs da Rockchip, garantindo o máximo desempenho e eficiência.
- Baixa latência: o formato RKNN minimiza a latência da inferência, o que é essencial para aplicações em tempo real em dispositivos periféricos.
- Personalização específica da plataforma: os modelos RKNN podem ser adaptados a plataformas Rockchip específicas, permitindo uma melhor utilização dos recursos de hardware.
- Eficiência energética: ao tirar partido do hardware NPU dedicado, os modelos RKNN consomem menos energia do que o processamento baseado em CPU ou GPU, prolongando a duração da bateria dos dispositivos portáteis.
Instalar o sistema operativo no hardware Rockchip#
O primeiro passo depois de obteres um dispositivo baseado em Rockchip é instalar um sistema operativo, para que o hardware possa arrancar num ambiente funcional. Neste guia, indicaremos os guias de introdução dos dois dispositivos que testámos: Radxa Rock 5B e Radxa Zero 3W.
Tarefas suportadas#
A exportação para RKNN é compatível com as sete tarefas da Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas com YOLO26, a única família que inclui essas cabeças.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detetar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportar para RKNN: converter o teu modelo YOLO26#
Exporta um modelo Ultralytics YOLO26 para o formato RKNN e executa a inferência com o modelo exportado.
Certifica-te de que utilizas um PC Linux baseado em X86 para exportar o modelo para RKNN, uma vez que a exportação em dispositivos baseados em Rockchip (ARM64) não é compatível.
Instalação#
Para instalares os pacotes necessários, executa:
# Install the required package for YOLO26
pip install ultralyticsPara obter instruções detalhadas e boas práticas relacionadas com o processo de instalação, consulte o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para YOLO26, se encontrar alguma dificuldade, consulte o nosso guia de problemas comuns para obter soluções e dicas.
Utilização#
A exportação FP16 é suportada para todas as tarefas. A exportação INT8 é atualmente suportada apenas para modelos de deteção, com suporte a mais tarefas planeado para o futuro; os alvos estritamente INT8, como RV1103 e RV1106, exportam portanto apenas modelos de deteção.
O formato RKNN é compatível com os modos Exportar, Prever e Validar. A inferência e a validação são executadas no hardware NPU da Rockchip. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a sua precisão. Por predefinição, a exportação para RKNN utiliza o caminho de compilação de ponto flutuante (quantize=16) para destinos Rockchip compatíveis com FP16. Utiliza quantize=8 para compilar um modelo RKNN quantizado em INT8 com dados de calibração. A exportação para RKNN não disponibiliza um modo FP32 separado; a predefinição FP16 não 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 Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'rknn' | Formato de destino do modelo exportado, que define a compatibilidade com ambientes de implementação Rockchip. |
imgsz | int ou tuple | 640 | Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou um tuplo (height, width) para dimensões específicas. |
batch | int | 1 | Especifica o tamanho do lote de inferência do modelo exportado ou o número máximo de imagens que o modelo exportado processará em simultâneo no modo predict. |
name | str | 'rk3588' | Especifica o destino Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 e rv1126b são compatíveis com FP16 (quantize=16 ou não definido) e INT8 (quantize=8); rv1103, rv1106, rv1103b e rv1106b são apenas compatíveis com INT8 (quantize=8 ou não definido). |
quantize | int ou str | None | Precisão de quantização: não definido ou 16 compila FP16 para alvos compatíveis com FP16; a ausência de definição ativa automaticamente o INT8 para alvos estritamente INT8; 8 compila INT8, o qual é suportado apenas para modelos de deteção. A exportação RKNN não possui um modo FP32 separado. Substitui os sinalizadores half/int8 obsoletos. |
simplify | bool | True | Simplifica o grafo ONNX intermédio com onnxslim. |
opset | int | None | Especifica a versão do opset ONNX para o grafo ONNX intermédio. O valor predefinido é 19 quando não definido, e os valores superiores a 19 são reduzidos para 19. |
data | str | None | Conjunto de dados YAML utilizado para calibração INT8. Se omitido com quantize=8, a Ultralytics seleciona o conjunto de dados de calibração de deteção predefinido (coco8.yaml). |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test completo, enquanto 0 o ignora. |
device | str | None | Especifica o dispositivo para a exportação: GPU (device=0), CPU (device=cpu). |
Certifica-te de que utilizas uma máquina Linux x86 ao exportar para RKNN.
Para obter mais detalhes sobre o processo de exportação, visita a página da documentação da Ultralytics sobre exportação.
Implementar modelos YOLO26 RKNN exportados#
Depois de exportares com sucesso os teus modelos Ultralytics YOLO26 para o formato RKNN, o passo seguinte é implementá-los em dispositivos baseados em Rockchip.
Instalação#
Para instalares os pacotes necessários, executa:
# Install the required package for YOLO26
pip install ultralyticsDepois de instalado, executa a inferência e a validação no teu dispositivo Rockchip exatamente como mostrado na secção Utilização acima — o _rknn_model exportado é carregado diretamente com YOLO(...).
Se encontrares uma mensagem de registo a indicar que a versão do runtime RKNN não corresponde à versão do RKNN Toolkit e a inferência falhar, substitui /usr/lib/librknnrt.so pelo ficheiro librknnrt.so oficial.

Aplicações no mundo real#
Os dispositivos equipados com Rockchip e modelos YOLO26 RKNN podem ser utilizados em várias aplicações:
- Vigilância inteligente: implementa sistemas eficientes de deteção de objetos para monitorização de segurança com baixo consumo de energia.
- Automação industrial: implementa o controlo de qualidade e a deteção de defeitos diretamente em dispositivos integrados.
- Análise de retalho: acompanha o comportamento dos clientes e a gestão do inventário em tempo real, sem depender da nuvem.
- Agricultura inteligente: monitoriza a saúde das culturas e deteta pragas utilizando visão computacional na agricultura.
- Robótica autónoma: permite a navegação baseada em visão e a deteção de obstáculos em plataformas com recursos limitados.
Benchmarks#
Os benchmarks do YOLO26 abaixo foram executados pela equipa da Ultralytics num Radxa Rock 5B baseado no Rockchip RK3588, utilizando o formato de modelo rknn para medir a velocidade e a precisão.
| Modelo | Formato | Precision | Estado | Tamanho (MB) | mAP50-95(B) | Tempo de inferência (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 |
Avaliado com ultralytics 8.4.60
A validação para os benchmarks acima foi feita utilizando o conjunto de dados COCO128. O tempo de inferência não inclui o pré-processamento/pós-processamento.
Resumo#
Neste guia, aprendeste a exportar modelos Ultralytics YOLO26 para o formato RKNN, de modo a melhorar a sua implementação em plataformas Rockchip. Também conheceste o RKNN Toolkit e as vantagens específicas da utilização de modelos RKNN em aplicações de IA na periferia.
A combinação de Ultralytics YOLO26 e da tecnologia NPU da Rockchip fornece uma solução eficiente para executar tarefas avançadas de visão computacional em dispositivos integrados. Esta abordagem permite a deteção de objetos em tempo real e outras aplicações de IA de visão, com um consumo mínimo de energia e um elevado desempenho.
Para mais informações sobre a utilização, consulta a documentação oficial do RKNN.
Além disso, se quiseres saber mais sobre outras integrações do Ultralytics YOLO26, visita a nossa página do guia de integrações. Encontrarás aí muitos recursos e informações úteis.
Perguntas frequentes#
Podes exportar facilmente o teu modelo Ultralytics YOLO para o formato RKNN utilizando o método
export()no pacote Python da Ultralytics ou através da interface de linha de comandos (CLI). Certifica-te de que utilizas um PC Linux baseado em x86 para o processo de exportação, uma vez que dispositivos ARM64, como os dispositivos Rockchip, não são compatíveis com esta operação. Podes especificar a plataforma Rockchip de destino utilizando o argumentoname, comork3588,rk3566ou outros. Este processo gera um modelo RKNN otimizado, pronto para ser implementado no teu dispositivo Rockchip, tirando partido da sua unidade de processamento neural (NPU) para acelerar a inferência.Exemplofrom 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")Os modelos RKNN foram especificamente concebidos para tirar partido das capacidades de aceleração de hardware das unidades de processamento neural (NPUs) da Rockchip. Esta otimização resulta em velocidades de inferência significativamente superiores e numa latência reduzida em comparação com a execução de formatos de modelo genéricos, como ONNX ou LiteRT, no mesmo hardware. A utilização de modelos RKNN permite um uso mais eficiente dos recursos do dispositivo, resultando num menor consumo de energia e num melhor desempenho geral, especialmente importante para aplicações em tempo real em dispositivos periféricos. Ao converteres os teus modelos Ultralytics YOLO para RKNN, podes obter um desempenho ideal em dispositivos equipados com SoCs Rockchip, como RK3588, RK3566 e outros.
Os modelos RKNN são especificamente otimizados para plataformas Rockchip e para as suas NPUs integradas. Embora tecnicamente possas executar um modelo RKNN noutras plataformas através de emulação de software, não beneficiarás da aceleração de hardware fornecida pelos dispositivos Rockchip. Para obteres o melhor desempenho noutras plataformas, recomenda-se que exportes os teus modelos Ultralytics YOLO para formatos especificamente concebidos para essas plataformas, como TensorRT para GPUs NVIDIA ou Edge TPU para dispositivos Coral da Google. A Ultralytics é compatível com a exportação para uma vasta gama de formatos, garantindo compatibilidade com vários aceleradores de hardware.
A exportação Ultralytics YOLO para o formato RKNN é compatível com plataformas Rockchip que utilizam compilações RKNN de ponto flutuante, incluindo RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 e RV1126B. Também é compatível com a exportação RKNN quantizada em INT8 através de
quantize=8, necessária para destinos apenas compatíveis com INT8, como RV1103, RV1106, RV1103B e RV1106B. Estas plataformas são habitualmente encontradas em dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi, permitindo implementar os teus modelos RKNN otimizados numa variedade de dispositivos equipados com Rockchip, desde computadores de placa única a sistemas industriais.Os modelos RKNN geralmente superam outros formatos, como ONNX ou LiteRT, em dispositivos Rockchip devido à sua otimização para as NPUs da Rockchip. Por exemplo, os benchmarks no Radxa Rock 5B (RK3588) mostram que o YOLO26n no formato RKNN alcança um tempo de inferência de 58,5 ms/imagem em FP16 e 41,2 ms/imagem em INT8, sendo significativamente mais rápido do que outros formatos. Esta vantagem de desempenho é consistente em vários tamanhos de modelos YOLO26, conforme demonstrado na secção de benchmarks. Ao tirar partido do hardware NPU dedicado, os modelos RKNN minimizam a latência e maximizam o débito, tornando-os ideais para aplicações em tempo real em dispositivos periféricos baseados em Rockchip.