Exportação Rockchip RKNN para modelos Ultralytics YOLO26#
Ao implantar modelos de visão computacional em dispositivos embarcados, especialmente nos que usam processadores Rockchip, é essencial ter um formato de modelo compatível. Exportar modelos Ultralytics YOLO26 para o formato RKNN garante desempenho otimizado e compatibilidade com o hardware Rockchip. Este guia explica como converter seus modelos YOLO26 para o formato RKNN, incluindo exportações em ponto flutuante e quantizadas em INT8, permitindo uma implantação eficiente em plataformas Rockchip.
Este guia foi testado com Radxa Rock 5B, que usa o Rockchip RK3588, e com Radxa Zero 3W, que usa o Rockchip RK3566. Espera-se que funcione em outros dispositivos baseados em Rockchip compatíveis com rknn-toolkit2, como RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B e RV1106B. Os dispositivos que aceitam apenas INT8, como RV1103 e RV1106, exigem quantize=8.
O que é Rockchip?#
Reconhecida por oferecer soluções versáteis e eficientes em termos de energia, a Rockchip projeta System-on-Chips (SoCs) avançados que alimentam uma ampla variedade de eletrônicos de consumo, aplicações industriais e tecnologias de IA. Com arquitetura baseada em ARM, unidades de processamento neural (NPUs) integradas e suporte a multimídia de alta resolução, os SoCs da Rockchip oferecem desempenho de ponta para dispositivos como tablets, smart TVs, sistemas de IoT e aplicações de IA de borda. Empresas como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi oferecem uma variedade de produtos baseados em SoCs da Rockchip, ampliando ainda mais seu alcance e impacto em diversos mercados.
RKNN Toolkit#
O RKNN Toolkit é um conjunto de ferramentas e bibliotecas fornecido pela Rockchip para facilitar a implantação de modelos de aprendizado profundo em suas plataformas de hardware. RKNN, ou Rede Neural Rockchip, é o formato proprietário usado por essas ferramentas. Os modelos RKNN foram projetados para aproveitar ao máximo a aceleração de hardware oferecida pela NPU (Unidade de Processamento Neural) da Rockchip, garantindo alto desempenho em tarefas de IA em dispositivos como RK3588, RK3566, RV1103, RV1106 e outros sistemas baseados em Rockchip.
Principais recursos dos modelos RKNN#
Os modelos RKNN oferecem várias vantagens para implantação em plataformas Rockchip:
- Otimizados para NPU: os modelos RKNN são otimizados especificamente 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 de inferência, algo essencial para aplicações em tempo real em dispositivos de borda.
- Personalização específica para a plataforma: os modelos RKNN podem ser adaptados a plataformas Rockchip específicas, permitindo um melhor aproveitamento 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, prolongando a duração da bateria de dispositivos portáteis.
Gravar um sistema operacional no hardware Rockchip#
O primeiro passo depois de obter um dispositivo baseado em Rockchip é gravar um sistema operacional para que o hardware possa inicializar em um ambiente funcional. Neste guia, indicaremos os guias de introdução dos dois dispositivos que testamos: Radxa Rock 5B e Radxa Zero 3W.
Tarefas suportadas#
A exportação para RKNN oferece suporte às 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: convertendo seu modelo YOLO26#
Exporte um modelo Ultralytics YOLO26 para o formato RKNN e execute a inferência com o modelo exportado.
Use um PC Linux baseado em X86 para exportar o modelo para RKNN, pois a exportação em dispositivos baseados em Rockchip (ARM64) não é compatível.
Instalação#
Para instalar os pacotes necessários, executa:
# Install the required package for YOLO26
pip install ultralyticsPara obter instruções detalhadas e boas práticas relacionadas ao processo de instalação, consulte nosso guia de instalação da Ultralytics. Se tiver dificuldades ao instalar os pacotes necessários para YOLO26, consulte nosso guia de problemas comuns para ver soluções e dicas.
Uso#
A exportação FP16 é compatível com todas as tarefas. No momento, a exportação INT8 é compatível apenas com modelos de detecção, e o suporte a outras tarefas será adicionado futuramente; por isso, destinos compatíveis apenas com INT8, como RV1103 e RV1106, exportam somente modelos de detecção.
O formato RKNN oferece suporte aos modos Exportar, Prever e Validar. A inferência e a validação são executadas no hardware NPU da Rockchip. Exporte seu modelo e, em seguida, carregue o modelo exportado para executar a inferência ou validar sua precisão. Por padrão, a exportação para RKNN usa o caminho de compilação de ponto flutuante (quantize=16) para destinos Rockchip compatíveis com FP16. Use quantize=8 para compilar um modelo RKNN quantizado em INT8 com dados de calibração. A exportação para RKNN não oferece um modo FP32 separado; o padrão FP16 não solicita FP32.
from ultralytics import YOLO
# Carregar um modelo YOLO26 (substitua por qualquer modelo de tarefa compatível)
model = YOLO("yolo26n-obb.pt")
# Exportar o modelo para o formato RKNN
model.export(format="rknn", name="rk3588") # creates 'yolo26n-obb_rknn_model'
# Exportar um modelo RKNN quantizado em INT8 com dados de calibração (somente modelos de detecção)
model = YOLO("yolo26n.pt")
model.export(format="rknn", name="rk3588", quantize=8, data="coco8.yaml") # creates 'yolo26n_rknn_model'from ultralytics import YOLO
# Carregar o modelo RKNN exportado
model = YOLO("./yolo26n-obb_rknn_model")
# Executar inferência
results = model("https://ultralytics.com/images/boats.jpg")from ultralytics import YOLO
# Carregar o modelo RKNN exportado
model = YOLO("./yolo26n-obb_rknn_model")
# Validar a precisão no conjunto de dados DOTA8
metrics = model.val(data="dota8.yaml")Argumentos de exportação#
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
format | str | 'rknn' | Formato de destino do modelo exportado, que define a compatibilidade com ambientes de implantação Rockchip. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado para a entrada do modelo. Pode ser um inteiro para imagens quadradas ou uma tupla (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 oferecem suporte a FP16 (quantize=16 ou não definido) e INT8 (quantize=8); rv1103, rv1106, rv1103b e rv1106b aceitam somente INT8 (quantize=8 ou não definido). |
quantize | int ou str | None | Precisão da quantização: se não definido ou definido como 16, compila em FP16 para destinos compatíveis com FP16; se não definido, ativa automaticamente INT8 para destinos compatíveis apenas com INT8; 8 compila em INT8, compatível apenas com modelos de detecção. A exportação para RKNN não tem um 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 do opset ONNX para o grafo ONNX intermediário. O padrão é 19 se não for definido, e os valores acima de 19 são reduzidos para 19. |
data | str | None | Arquivo YAML do conjunto de dados usado para a calibração INT8. Se omitido com quantize=8, a Ultralytics seleciona o conjunto de dados de calibração de detecção padrão (coco8.yaml). |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como proporção, número de imagens ou proporções/contagens [train, val, test]. Listas de dois itens deixam test completo, enquanto 0 o ignora. |
device | str | None | Especifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu). |
Use uma máquina Linux x86 para exportar para RKNN.
Para mais detalhes sobre o processo de exportação, visita a página da documentação da Ultralytics sobre exportação.
Implantação de modelos YOLO26 RKNN exportados#
Depois de exportar com sucesso seus modelos Ultralytics YOLO26 para o formato RKNN, o próximo passo é implantá-los em dispositivos baseados em Rockchip.
Instalação#
Para instalar os pacotes necessários, executa:
# Install the required package for YOLO26
pip install ultralyticsDepois de instalar, execute a inferência e a validação no seu dispositivo Rockchip exatamente como mostrado na seção Uso acima — o _rknn_model exportado é carregado diretamente com YOLO(...).
Se uma mensagem de log indicar que a versão do runtime RKNN não corresponde à versão do RKNN Toolkit e a inferência falhar, substitua /usr/lib/librknnrt.so pelo arquivo oficial librknnrt.so.

Aplicações no mundo real#
Dispositivos com Rockchip e modelos YOLO26 RKNN podem ser usados em diversas 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 o controle de qualidade e a detecção de defeitos diretamente em dispositivos embarcados.
- Análise de varejo: acompanhe o comportamento dos clientes e gerencie o estoque em tempo real, sem depender da nuvem.
- Agricultura inteligente: monitore a saúde das plantações e detecte pragas usando visão computacional na agricultura.
- Robótica autônoma: possibilite a navegação baseada em visão e a detecção de obstáculos em plataformas com recursos limitados.
Benchmarks#
Os benchmarks do YOLO26 abaixo foram executados pela equipe da Ultralytics no Radxa Rock 5B, baseado no Rockchip RK3588, usando o formato de modelo rknn para medir velocidade e 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 |
Benchmark executado com ultralytics 8.4.60
A validação dos benchmarks acima foi feita com o conjunto de dados COCO128. O tempo de inferência não inclui o pré-processamento nem o pós-processamento.
Resumo#
Neste guia, você aprendeu a exportar modelos Ultralytics YOLO26 para o formato RKNN a fim de aprimorar sua implantação em plataformas Rockchip. Você também conheceu o RKNN Toolkit e as vantagens específicas de usar modelos RKNN em aplicações de IA de borda.
A combinação de Ultralytics YOLO26 e da tecnologia NPU da Rockchip oferece uma solução eficiente para executar tarefas avançadas de visão computacional em dispositivos embarcados. Essa abordagem possibilita a detecção de objetos em tempo real e outras aplicações de IA visual com consumo mínimo de energia e alto desempenho.
Para mais detalhes sobre o uso, consulte a documentação oficial do RKNN.
Além disso, se quiseres saber mais sobre outras integrações da Ultralytics YOLO26, visita a nossa página do guia de integração. Encontrarás muitos recursos e informações úteis.
Perguntas frequentes#
Você pode exportar facilmente seu modelo Ultralytics YOLO para o formato RKNN usando o método
export()no pacote Ultralytics Python ou pela interface de linha de comando (CLI). Use um PC Linux baseado em x86 para o processo de exportação, pois dispositivos ARM64, como os dispositivos Rockchip, não são compatíveis com essa operação. Você pode especificar a plataforma Rockchip de destino usando o argumentoname, comork3588,rk3566ou outros. Esse processo gera um modelo RKNN otimizado, pronto para implantação no seu dispositivo Rockchip, aproveitando sua Unidade de Processamento Neural (NPU) para acelerar a inferência.Exemplofrom ultralytics import YOLO # Carregar seu modelo YOLO model = YOLO("yolo26n.pt") # Exportar para o formato RKNN para uma plataforma Rockchip específica model.export(format="rknn", name="rk3588")Os modelos RKNN foram projetados especificamente para aproveitar os recursos de aceleração de hardware das Unidades de Processamento Neural (NPUs) da Rockchip. Essa otimização resulta em velocidades de inferência significativamente maiores e latência reduzida, em comparação com a execução de formatos de modelo genéricos, como ONNX ou LiteRT, no mesmo hardware. O uso de modelos RKNN permite aproveitar os recursos do dispositivo com mais eficiência, reduzindo o consumo de energia e melhorando o desempenho geral — algo especialmente importante para aplicações em tempo real em dispositivos de borda. Ao converter seus modelos Ultralytics YOLO para RKNN, você pode obter o desempenho ideal em dispositivos equipados com SoCs da Rockchip, como RK3588, RK3566 e outros.
Os modelos RKNN são otimizados especificamente para plataformas Rockchip e suas NPUs integradas. Embora seja tecnicamente possível executar um modelo RKNN em outras plataformas usando emulação por software, você não aproveitará a aceleração de hardware oferecida pelos dispositivos Rockchip. Para obter o melhor desempenho em outras plataformas, recomendamos exportar seus modelos Ultralytics YOLO para formatos projetados especificamente para elas, como TensorRT para GPUs NVIDIA ou Edge TPU para dispositivos Coral do Google. A Ultralytics oferece suporte à exportação para uma ampla variedade de formatos, garantindo compatibilidade com diversos aceleradores de hardware.
A exportação de modelos Ultralytics YOLO para o formato RKNN é compatível com plataformas Rockchip que aceitam compilações RKNN de ponto flutuante, incluindo RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 e RV1126B. Também oferece suporte à exportação de modelos RKNN quantizados em INT8 com
quantize=8, necessária para destinos compatíveis apenas com INT8, como RV1103, RV1106, RV1103B e RV1106B. Essas plataformas são comuns em dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi, permitindo implantar seus modelos RKNN otimizados em vários dispositivos baseados em Rockchip, de computadores de placa única a sistemas industriais.Em geral, os modelos RKNN superam outros formatos, como ONNX ou LiteRT, em dispositivos Rockchip por serem otimizados para as NPUs da Rockchip. Por exemplo, 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, significativamente mais rápido do que outros formatos. Essa vantagem de desempenho se mantém em vários tamanhos de modelo YOLO26, como demonstrado na seção de benchmarks. Ao aproveitar o hardware NPU dedicado, os modelos RKNN minimizam a latência e maximizam a taxa de processamento, sendo ideais para aplicações em tempo real em dispositivos de borda baseados em Rockchip.