Saltar para o conteúdo

Exportação RKNN 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.

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.

RKNN

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.

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
# Here name can be one of rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118
model.export(format="rknn", args={"name": "rk3588"})  # creates '/yolo11n_rknn_model'
# Export a YOLO11n PyTorch model to RKNN format
# Here 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'

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'

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.

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.

📅C riado há 0 dias ✏️ Atualizado há 0 dias

Comentários