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.
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:
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'
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:
Utilizzo
Utilizzo
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.