Saltar para o conteúdo

Rockchip RKNN Export para Ultralytics YOLO11 Models

Ao implantar modelos de visão computacional em dispositivos incorporados, especialmente aqueles alimentados por processadores Rockchip, é essencial ter um formato de modelo compatível. A exportação de modelos Ultralytics YOLO11 para o formato RKNN garante desempenho otimizado e compatibilidade com o hardware da Rockchip. Este guia orienta-o na conversão dos seus modelos YOLO11 para o formato RKNN, permitindo uma implementação eficiente nas plataformas Rockchip.

RKNN

Nota

Este guia foi testado com o Radxa Rock 5B, que é baseado no Rockchip RK3588 e no Radxa Zero 3W, que é baseado no Rockchip RK3566. Espera-se que funcione noutros dispositivos baseados em Rockchip que suportem rknn-toolkit2, tais como RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B e RK2118.

O que é o Rockchip?

Reconhecida por fornecer soluções versáteis e eficientes em termos de energia, a Rockchip projeta System-on-Chips (SoCs) avançados que alimentam uma ampla gama 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 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 ponta. Empresas como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi oferecem uma variedade de produtos baseados em SoCs Rockchip, ampliando ainda mais seu alcance e impacto em diversos mercados.

Kit de ferramentas RKNN

O RKNN Toolkit é um conjunto de ferramentas e bibliotecas fornecidas pela Rockchip para facilitar a implantação de modelos de aprendizagem profunda em suas plataformas de hardware. RKNN, ou Rockchip Neural Network, é o formato proprietário usado por essas ferramentas. Os modelos RKNN são projetados para aproveitar ao máximo a aceleração de hardware fornecida 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 alimentados por Rockchip.

Principais caraterísticas dos modelos RKNN

Os modelos RKNN oferecem várias vantagens para implantação em plataformas Rockchip:

  • Optimizado para NPU: Os modelos RKNN são especificamente otimizados para serem executados nas NPUs do Rockchip, garantindo o máximo desempenho e eficiência.
  • Baixa latência: O formato RKNN minimiza a latência da inferência, o que é fundamental para aplicações em tempo real em dispositivos de ponta.
  • 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 aproveitar o hardware NPU dedicado, os modelos RKNN consomem menos energia do que o processamento GPU CPU ou GPU, aumentando a vida útil da bateria para dispositivos portáteis.

Flash OS para hardware Rockchip

O primeiro passo depois de deitar as mãos a um dispositivo baseado em Rockchip é fazer flash de um SO para que o hardware possa arrancar num ambiente de trabalho. Neste guia, indicaremos os guias de iniciação dos dois dispositivos que testámos, que são o Radxa Rock 5B e o Radxa Zero 3W.

Exportar para RKNN: Convertendo seu modelo YOLO11

Exportar um modelo Ultralytics YOLO11 para o formato RKNN e executar a inferência com o modelo exportado.

Nota

Certifique-se de que utiliza um PC Linux baseado em X86 para exportar o modelo para o RKNN, uma vez que a exportação em dispositivos baseados em Rockchip (ARM64) não é suportada.

Instalação

Para instalar os pacotes necessários, execute:

Instalação

# Install the required package for YOLO11
pip install ultralytics

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulte o nosso guia de instalaçãoUltralytics . Ao instalar os pacotes necessários para YOLO11, se encontrar alguma dificuldade, consulte o nosso guia de Problemas comuns para obter soluções e dicas.

Utilização

Nota

Atualmente, a exportação só é suportada para modelos de deteção. No futuro, será disponibilizado mais suporte para modelos.

Utilização

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", name="rk3588")  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# 'name' can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
yolo export model=yolo11n.pt format=rknn name=rk3588 # creates '/yolo11n_rknn_model'

Argumentos de exportação

Argumento Tipo Predefinição Descrição
format str 'rknn' Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implantação.
imgsz int ou tuple 640 Tamanho de imagem pretendido 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 da inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado irá processar em simultâneo em predict modo.
name str 'rk3588' Especifica o modelo Rockchip (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118)

Para mais informações sobre o processo de exportação, visite a página de documentaçãoUltralytics sobre exportação.

Implementação de modelos RKNN exportados YOLO11

Depois de exportar com êxito os seus modelos Ultralytics YOLO11 para o formato RKNN, o próximo passo é implementar estes modelos em dispositivos baseados em Rockchip.

Instalação

Para instalar os pacotes necessários, execute:

Instalação

# Install the required package for YOLO11
pip install ultralytics

Utilização

Utilização

from ultralytics import YOLO

# Load the exported RKNN model
rknn_model = YOLO("./yolo11n_rknn_model")

# Run inference
results = rknn_model("https://ultralytics.com/images/bus.jpg")
# Run inference with the exported model
yolo predict model='./yolo11n_rknn_model' source='https://ultralytics.com/images/bus.jpg'

Nota

Se encontrar uma mensagem de registo que indique que a versão de tempo de execução do RKNN não corresponde à versão do Toolkit RKNN e que a inferência falha, substitua /usr/lib/librknnrt.so com o oficial ficheiro librknnrt.so.

Captura de ecrã da exportação RKNN

Aplicações no mundo real

Os dispositivos alimentados por Rockchip com modelos YOLO11 RKNN podem ser utilizados em várias aplicações:

  • Vigilância inteligente: Implementar sistemas eficientes de deteção de objectos para monitorização da segurança com baixo consumo de energia.
  • Automação industrial: Implementar controlo de qualidade e deteção de defeitos diretamente em dispositivos incorporados.
  • Análise de retalho: Acompanhe o comportamento do cliente e a gestão do inventário em tempo real sem dependência da nuvem.
  • Agricultura inteligente: Monitorizar a saúde das culturas e detetar pragas utilizando a visão computacional na agricultura.
  • Robótica autónoma: Permitir a navegação baseada na visão e a deteção de obstáculos em plataformas com recursos limitados.

Referências

YOLO11 Os benchmarks abaixo foram executados pela equipa Ultralytics no Radxa Rock 5B baseado no Rockchip RK3588 com rknn velocidade e precisão de medição do formato do modelo.

Modelo Formato Estado Tamanho (MB) mAP50-95(B) Tempo de inferência (ms/im)
YOLO11n rknn 7.4 0.61 99.5
YOLO11s rknn 20.7 0.741 122.3
YOLO11m rknn 41.9 0.764 298.0
YOLO11l rknn 53.3 0.72 319.6
YOLO11x rknn 114.6 0.828 632.1

Nota

A validação do parâmetro de referência acima foi efectuada utilizando o conjunto de dados coco8

Resumo

Neste guia, você aprendeu a exportar modelos Ultralytics YOLO11 para o formato RKNN para aprimorar sua implantação em plataformas Rockchip. Também foi apresentado ao kit de ferramentas RKNN e às vantagens específicas do uso de modelos RKNN para aplicativos de IA de borda.

A combinação de Ultralytics YOLO11 e a tecnologia NPU da Rockchip fornece uma solução eficiente para executar tarefas avançadas de visão computacional em dispositivos incorporados. Esta abordagem permite a deteção de objectos 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, consulte a documentação oficial do RKNN.

Além disso, se quiser saber mais sobre outras integrações de Ultralytics YOLO11 , visite a nossa página de guia de integração. Encontrará aí muitos recursos e informações úteis.

FAQ

Como é que exporto o meu modelo Ultralytics YOLO para o formato RKNN?

Pode exportar facilmente o seu modelo Ultralytics YOLO para o formato RKNN utilizando o export() no pacote Ultralytics Python ou através da interface de linha de comandos (CLI). Certifique-se de que está 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. É possível especificar a plataforma Rockchip de destino usando o parâmetro name argumento, tal como rk3588, rk3566ou outros. Esse processo gera um modelo RKNN otimizado pronto para ser implantado no dispositivo Rockchip, aproveitando a Unidade de Processamento Neural (NPU) para inferência acelerada.

Exemplo

from ultralytics import YOLO

# Load your YOLO model
model = YOLO("yolo11n.pt")

# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")
yolo export model=yolo11n.pt format=rknn name=rk3588

Quais são as vantagens de utilizar modelos RKNN em dispositivos Rockchip?

Os modelos RKNN são 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 mais rápidas e latência reduzida em comparação com a execução de formatos de modelos genéricos como ONNX ou TensorFlow Lite no mesmo hardware. A utilização de modelos RKNN permite uma utilização mais eficiente dos recursos do dispositivo, levando a um menor consumo de energia e a um melhor desempenho geral, especialmente crítico para aplicações em tempo real em dispositivos de ponta. Ao converter os seus modelos Ultralytics YOLO para RKNN, pode obter um desempenho ótimo em dispositivos alimentados por Rockchip SoCs como o RK3588, RK3566 e outros.

Posso implementar modelos RKNN em dispositivos de outros fabricantes, como NVIDIA ou Google?

Os modelos RKNN são especificamente otimizados para as plataformas Rockchip e suas NPUs integradas. Embora seja tecnicamente possível executar um modelo RKNN noutras plataformas utilizando emulação de software, não beneficiará da aceleração de hardware fornecida pelos dispositivos Rockchip. Para obter o melhor desempenho em outras plataformas, recomenda-se exportar seus modelos Ultralytics YOLO para formatos especificamente projetados para essas plataformas, como TensorRT para NVIDIA GPUs ou TensorFlow Lite para Google's Edge TPU. Ultralytics suporta a exportação para uma ampla gama de formatos, garantindo a compatibilidade com vários aceleradores de hardware.

Quais plataformas Rockchip são compatíveis com a implantação do modelo RKNN?

A exportação Ultralytics YOLO para o formato RKNN suporta uma vasta gama de plataformas Rockchip, incluindo as populares RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B e RK2118. Essas plataformas são comumente encontradas em dispositivos de fabricantes como Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi. Este amplo suporte garante que pode implementar os seus modelos RKNN optimizados em vários dispositivos alimentados por Rockchip, desde computadores de placa única a sistemas industriais, tirando o máximo partido das suas capacidades de aceleração de IA para um melhor desempenho nas suas aplicações de visão computacional.

Como é que o desempenho dos modelos RKNN se compara com outros formatos nos dispositivos Rockchip?

Os modelos RKNN geralmente superam outros formatos como ONNX ou TensorFlow Lite em dispositivos Rockchip devido à sua otimização para as NPUs do Rockchip. Por exemplo, os benchmarks no Radxa Rock 5B (RK3588) mostram que o YOLO11n no formato RKNN atinge um tempo de inferência de 99,5 ms/imagem, significativamente mais rápido do que outros formatos. Esta vantagem de desempenho é consistente em vários tamanhos de modelos YOLO11 , como demonstrado na secção de benchmarks. Ao aproveitar o hardware dedicado da NPU, os modelos RKNN minimizam a latência e maximizam o rendimento, tornando-os ideais para aplicações em tempo real em dispositivos de ponta baseados em Rockchip.

📅C riado há 2 meses ✏️ Atualizado há 9 dias

Comentários