Vai al contenuto

Esportazione RKNN per i modelli Ultralytics YOLO11

Quando si distribuiscono modelli di computer vision su dispositivi embedded, in particolare quelli alimentati da processori Rockchip, è essenziale disporre di un formato di modello compatibile. L'esportazione dei Ultralytics YOLO11 in formato RKNN garantisce prestazioni ottimizzate e compatibilità con l'hardware Rockchip. Questa guida vi guiderà nella conversione dei modelli YOLO11 in formato RKNN, consentendo una distribuzione efficiente sulle piattaforme Rockchip.

Nota

Questa guida è stata testata con Radxa Rock 5B, basato su Rockchip RK3588 e Radxa Zero 3W, basato su Rockchip RK3566. Dovrebbe funzionare anche con altri dispositivi basati su Rockchip che supportano rknn-toolkit2, come RK3576, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B e RK2118.

RKNN

Che cos'è il Rockchip?

Rinomata per la fornitura di soluzioni versatili ed efficienti dal punto di vista energetico, Rockchip progetta System-on-Chip (SoC) avanzati che alimentano un'ampia gamma di elettronica di consumo, applicazioni industriali e tecnologie AI. Grazie all'architettura basata su ARM, alle unità di elaborazione neurale (NPU) integrate e al supporto multimediale ad alta risoluzione, i SoC Rockchip consentono di ottenere prestazioni all'avanguardia per dispositivi come tablet, smart TV, sistemi IoT e applicazioni AI edge. Aziende come Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi offrono una varietà di prodotti basati sui SoC Rockchip, estendendo ulteriormente la loro portata e il loro impatto su diversi mercati.

Toolkit RKNN

Il Toolkit RKNN è un insieme di strumenti e librerie forniti da Rockchip per facilitare l'implementazione di modelli di deep learning sulle proprie piattaforme hardware. RKNN, o Rockchip Neural Network, è il formato proprietario utilizzato da questi strumenti. I modelli RKNN sono progettati per sfruttare appieno l'accelerazione hardware fornita dalla NPU (Neural Processing Unit) di Rockchip, garantendo prestazioni elevate nelle attività di AI su dispositivi come RK3588, RK3566, RV1103, RV1106 e altri sistemi Rockchip.

Caratteristiche principali dei modelli RKNN

I modelli RKNN offrono diversi vantaggi per l'implementazione su piattaforme Rockchip:

  • Ottimizzato per NPU: I modelli RKNN sono specificamente ottimizzati per l'esecuzione sulle NPU Rockchip, assicurando il massimo delle prestazioni e dell'efficienza.
  • Bassa latenza: Il formato RKNN riduce al minimo la latenza di inferenza, che è fondamentale per le applicazioni in tempo reale sui dispositivi edge.
  • Personalizzazione specifica della piattaforma: I modelli RKNN possono essere adattati a specifiche piattaforme Rockchip, consentendo un migliore utilizzo delle risorse hardware.

Sistema operativo flash su hardware Rockchip

Il primo passo da compiere dopo aver messo le mani su un dispositivo basato su Rockchip è quello di flashare un sistema operativo in modo che l'hardware possa avviarsi in un ambiente funzionante. In questa guida vi illustreremo le guide all'avvio dei due dispositivi che abbiamo testato: Radxa Rock 5B e Radxa Zero 3W.

Esportazione in RKNN: Conversione del modello YOLO11

Esportare un modello Ultralytics YOLO11 in formato RKNN ed eseguire l'inferenza con il modello esportato.

Nota

Assicurarsi di utilizzare un PC Linux basato su X86 per esportare il modello in RKNN, poiché l'esportazione su dispositivi basati su Rockchip (ARM64) non è supportata.

Installazione

Per installare i pacchetti richiesti, eseguire:

Installazione

# Install the required package for YOLO11
pip install ultralytics

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consultare la nostra Guida all'installazione diUltralytics . Durante l'installazione dei pacchetti necessari per YOLO11, se si incontrano difficoltà, consultare la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Utilizzo

Nota

L'esportazione è attualmente supportata solo per i modelli di rilevamento. In futuro saranno supportati altri modelli.

Utilizzo

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'

Per maggiori dettagli sul processo di esportazione, visitare la pagina di documentazioneUltralytics sull'esportazione.

Distribuzione dei modelli RKNN esportati YOLO11

Una volta esportati con successo i modelli Ultralytics YOLO11 in formato RKNN, il passo successivo è la distribuzione di questi modelli sui dispositivi basati su Rockchip.

Installazione

Per installare i pacchetti richiesti, eseguire:

Installazione

# Install the required package for YOLO11
pip install ultralytics

Utilizzo

Utilizzo

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'

Parametri di riferimento

YOLO11 I benchmark riportati di seguito sono stati eseguiti dal team di Ultralytics su Radxa Rock 5B basato su Rockchip RK3588 con rknn formato modello che misura velocità e precisione.

Modello Formato Stato Dimensione (MB) mAP50-95(B) Tempo di inferenza (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

La validazione per il benchmark di cui sopra è stata effettuata utilizzando il dataset coco8.

Sintesi

In questa guida avete appreso come esportare i modelli Ultralytics YOLO11 in formato RKNN per migliorarne la distribuzione sulle piattaforme Rockchip. È stato inoltre presentato il Toolkit RKNN e i vantaggi specifici dell'uso dei modelli RKNN per le applicazioni di intelligenza artificiale.

Per ulteriori dettagli sull'uso, visitate la documentazione ufficiale di RKNN.

Inoltre, se desiderate saperne di più su altre integrazioni di Ultralytics YOLO11 , visitate la nostra pagina della guida alle integrazioni. Troverete molte risorse e approfondimenti utili.

📅C reato 0 giorni fa ✏️ Aggiornato 0 giorni fa

Commenti