Exportação RKNN da Rockchip para modelos Ultralytics YOLO26#
Quando implementas modelos de visão computacional em dispositivos embebidos, especialmente aqueles alimentados por processadores Rockchip, ter um formato de modelo compatível é essencial. Exportar modelos Ultralytics YOLO26 para o formato RKNN garante um desempenho otimizado e compatibilidade com o hardware da Rockchip. Este guia vai ajudar-te a converter os teus modelos YOLO26 para o formato RKNN, incluindo exportações quantizadas de vírgula flutuante e INT8, permitindo uma implementação eficiente em plataformas Rockchip.
Este guia foi testado com o Radxa Rock 5B, que se baseia no Rockchip RK3588, e com o Radxa Zero 3W, que se baseia no Rockchip RK3566. Espera-se que funcione noutros dispositivos baseados em Rockchip que suportam o rknn-toolkit2, tais como RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B e RV1106B. Destinos apenas INT8, como o RV1103 e o RV1106, requerem quantize=8.
O que é Rockchip?#
Reconhecida por fornecer soluções versáteis e energeticamente eficientes, a Rockchip concebe Sistemas em Chip (SoCs) avançados que alimentam uma vasta gama de eletrónica de consumo, aplicações industriais e tecnologias de IA. Com 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 para dispositivos como tablets, smart TVs, sistemas IoT e aplicações de IA de edge. Empresas como a Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi oferecem uma variedade de produtos baseados em SoCs Rockchip, estendendo ainda mais o seu alcance e impacto em diversos mercados.
RKNN Toolkit#
O RKNN Toolkit é um conjunto de ferramentas e bibliotecas fornecidas pela Rockchip para facilitar a implementação de modelos de deep learning nas suas plataformas de hardware. RKNN, ou Rockchip Neural Network, é o formato proprietário utilizado por estas ferramentas. Os modelos RKNN são concebidos para tirar pleno partido da aceleração de hardware fornecida pela NPU (Neural Processing Unit) da Rockchip, garantindo um alto desempenho em tarefas de IA em dispositivos como o RK3588, RK3566, RV1103, RV1106 e outros sistemas alimentados por Rockchip.
Principais Recursos dos Modelos RKNN#
Os modelos RKNN oferecem várias vantagens para a implantação em plataformas Rockchip:
- Otimizado para NPU: Os modelos RKNN são especificamente otimizados para serem executados nas NPUs da Rockchip, garantindo desempenho e eficiência máximos.
- Baixa Latência: O formato RKNN minimiza a latência de inferência, o que é crítico para aplicações em tempo real em dispositivos de borda.
- Personalização Específica da Plataforma: Os modelos RKNN podem ser adaptados para plataformas Rockchip específicas, permitindo uma melhor utilização dos recursos de hardware.
- Eficiência Energética: Ao aproveitar o hardware dedicado da NPU, os modelos RKNN consomem menos energia do que o processamento baseado em CPU ou GPU, estendendo a vida útil da bateria para dispositivos portáteis.
Instalar o SO no hardware Rockchip#
O primeiro passo após adquirir um dispositivo baseado em Rockchip é instalar um SO para que o hardware possa inicializar em um ambiente funcional. Neste guia, indicaremos os guias de início rápido dos dois dispositivos que testamos, que são o Radxa Rock 5B e o Radxa Zero 3W.
Tarefas Suportadas#
A exportação para RKNN suporta todas as sete tarefas do Ultralytics. A segmentação semântica e a estimativa de profundidade estão disponíveis apenas com o YOLO26, a única família que possui esses cabeçotes.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ✅ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exportar para RKNN: Convertendo seu modelo YOLO26#
Exporte um modelo Ultralytics YOLO26 para o formato RKNN e execute a inferência com o modelo exportado.
Certifique-se de usar um PC Linux baseado em X86 para exportar o modelo para RKNN, pois a exportação em dispositivos baseados em Rockchip (ARM64) não é suportada.
Instalação#
Para instalar os pacotes necessários, execute:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se encontrares alguma dificuldade, consulta o nosso guia de problemas comuns para obter soluções e dicas.
Uso#
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 em breve.
O formato RKNN suporta os modos Export, Predict e Validate. A inferência e a validação correm no hardware NPU da Rockchip. Exporta o teu modelo, depois carrega o modelo exportado para correr a inferência ou validar a sua precisão. Por predefinição, a exportação RKNN utiliza o caminho de compilação de vírgula flutuante (quantize=16) para alvos Rockchip com capacidade FP16. Usa quantize=8 para construir um modelo RKNN quantizado em INT8 com dados de calibração. A exportação RKNN não expõe 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
model.export(format="rknn", name="rk3588", quantize=8, data="dota8.yaml")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 para o modelo exportado, definindo a compatibilidade com ambientes de implantação da Rockchip. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
batch | int | 1 | Especifica o tamanho de inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará concorrentemente no modo predict. |
name | str | 'rk3588' | Especifica o alvo Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 e rv1126b suportam FP16 (quantize=16 ou não definido) e INT8 (quantize=8); rv1103, rv1106, rv1103b e rv1106b são apenas INT8 (quantize=8 ou não definido). |
quantize | int ou str | None | Precisão de quantização: não definido ou 16 constrói FP16 para alvos com capacidade FP16; não definido ativa automaticamente INT8 para alvos apenas INT8; 8 constrói INT8. A exportação RKNN não tem nenhum modo FP32 separado. Substitui as flags obsoletas half/int8. |
simplify | bool | True | Simplifica o grafo ONNX intermediário com onnxslim. |
opset | int | None | Especifica a versão opset do ONNX para o grafo ONNX intermediário. O padrão é 19 se não for definido, e valores acima de 19 são reduzidos para 19. |
data | str | None | YAML do conjunto de dados usado para calibração INT8; a classificação por sua vez utiliza um diretório de conjunto de dados ou um nome de conjunto de dados integrado. Se omitido com quantize=8, o Ultralytics seleciona o conjunto de dados de calibração padrão para a tarefa do modelo. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como uma proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test cheio, enquanto 0 o pula. |
device | str | None | Especifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu). |
Por favor, certifique-se de usar uma máquina Linux x86 ao exportar para RKNN.
Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.
Implantando Modelos YOLO26 RKNN Exportados#
Depois de exportar com sucesso seus modelos Ultralytics YOLO26 para o formato RKNN, o próximo passo é implantar esses modelos em dispositivos baseados em Rockchip.
Instalação#
Para instalar os pacotes necessários, execute:
# Install the required package for YOLO26
pip install ultralyticsUma vez instalado, executa a inferência e a validação no teu dispositivo Rockchip exatamente como mostrado na secção Usage acima — o _rknn_model exportado carrega 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 do Mundo Real#
Dispositivos equipados com Rockchip usando modelos YOLO26 RKNN podem ser usados em várias aplicações:
- Vigilância Inteligente: Implante sistemas eficientes de detecção de objetos para monitoramento de segurança com baixo consumo de energia.
- Automação Industrial: Implemente controle de qualidade e detecção de defeitos diretamente em dispositivos embarcados.
- Análise de Varejo: Rastreie o comportamento do cliente e o gerenciamento de inventário em tempo real sem dependência da nuvem.
- Agricultura Inteligente: Monitoriza a saúde das culturas e deteta pragas utilizando visão computacional na agricultura.
- Robótica Autônoma: Habilite navegação baseada em visão e detecção de obstáculos em plataformas com recursos limitados.
Benchmarks#
Os benchmarks do YOLO26 abaixo foram executados pela equipa da Ultralytics no Radxa Rock 5B baseado no Rockchip RK3588 com o formato de modelo rknn, medindo a velocidade e a precisão.
| Modelo | Formato | Precisão | Status | 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 usando o dataset COCO128. O tempo de inferência não inclui pré/pós-processamento.
Resumo#
Neste guia, você aprendeu como exportar modelos Ultralytics YOLO26 para o formato RKNN para aprimorar sua implantação em plataformas Rockchip. Você também foi apresentado ao RKNN Toolkit e às vantagens específicas de usar modelos RKNN para aplicações de edge AI.
A combinação do Ultralytics YOLO26 e da tecnologia NPU da Rockchip fornece uma solução eficiente para executar tarefas avançadas de visão computacional em dispositivos embebidos. Esta abordagem permite deteção de objetos em tempo real e outras aplicações de IA de visão com consumo mínimo de energia e alto desempenho.
Para mais detalhes sobre a utilização, visita a documentação oficial do RKNN.
Além disso, se quiseres saber mais sobre outras integrações do Ultralytics YOLO26, visita a nossa integration guide page. Encontrará lá muitos recursos e conhecimentos úteis.
FAQ#
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 estás a utilizar um PC Linux baseado em x86 para o processo de exportação, uma vez que os dispositivos ARM64 como o Rockchip não são suportados para esta operação. Podes especificar a plataforma Rockchip de destino utilizando o argumentoname, tal comork3588,rk3566ou outros. Este processo gera um modelo RKNN otimizado pronto para implementação no teu dispositivo Rockchip, tirando partido da sua Unidade de Processamento Neural (NPU) para inferência acelerada.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 são especificamente concebidos para aproveitar as capacidades de aceleração de hardware das NPU (Unidades de Processamento Neural) da Rockchip. Esta otimização resulta em velocidades de inferência significativamente mais rápidas e menor latência em comparação com a execução de formatos de modelo genéricos como ONNX ou LiteRT no mesmo hardware. Usar modelos RKNN permite uma utilização mais eficiente dos recursos do dispositivo, levando a um menor consumo de energia e melhor desempenho geral, especialmente crítico para aplicações em tempo real em dispositivos de edge. Ao converter os teus modelos Ultralytics YOLO para RKNN, podes alcançar o desempenho ideal em dispositivos alimentados por SoC da Rockchip como o RK3588, RK3566 e outros.
Os modelos RKNN são especificamente otimizados para plataformas Rockchip e as suas NPUs integradas. Embora possas tecnicamente executar um modelo RKNN noutras plataformas utilizando emulação por software, não beneficiarás da aceleração de hardware fornecida pelos dispositivos Rockchip. Para um desempenho ideal noutras plataformas, recomenda-se exportar os teus modelos Ultralytics YOLO para formatos especificamente concebidos para essas plataformas, tais como TensorRT para GPUs NVIDIA ou Edge TPU para os dispositivos Coral da Google. A Ultralytics suporta a exportação para uma vasta gama de formatos, garantindo compatibilidade com vários aceleradores de hardware.
A exportação do Ultralytics YOLO para o formato RKNN suporta plataformas Rockchip com compilações RKNN de vírgula flutuante, incluindo RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 e RV1126B. Também suporta exportação RKNN quantizada em INT8 com
quantize=8, o que é necessário para alvos apenas INT8, como RV1103, RV1106, RV1103B e RV1106B. Estas plataformas são comumente encontradas em dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi, permitindo-te implementar os teus modelos RKNN otimizados numa gama de dispositivos alimentados por Rockchip, desde computadores de placa única até sistemas industriais.Os modelos RKNN geralmente superam outros formatos como ONNX ou LiteRT em dispositivos Rockchip devido à otimização para as NPU da Rockchip. Por exemplo, os benchmarks no Radxa Rock 5B (RK3588) mostram que 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, significativamente mais rápido do que outros formatos. Esta vantagem de desempenho é consistente em vários tamanhos de modelos YOLO26, conforme demonstrado na seção de benchmarks. Ao aproveitar o hardware NPU dedicado, os modelos RKNN minimizam a latência e maximizam a taxa de transferência, tornando-os ideais para aplicações em tempo real em dispositivos de borda baseados em Rockchip.