Rockchip RKNN Export 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
Argomenti di esportazione
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
format |
str |
rknn |
Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di distribuzione. |
imgsz |
int o tuple |
640 |
Dimensione desiderata dell'immagine per l'input del modello. Può essere un numero intero per le immagini quadrate o una tupla (height, width) per le dimensioni specifiche. |
batch |
int |
1 |
Specifica la dimensione dell'inferenza batch del modello di esportazione o il numero massimo di immagini che il modello esportato elaborerà contemporaneamente in predict modalità. |
name |
str |
rk3588 |
Specifica il modello di Rockchip (rk3588, rk3576, rk3566, rk3568, rk3562, rv1103, rv1106, rv1103b, rv1106b, rk2118). |
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
Nota
Se si riscontra un messaggio di log che indica che la versione del runtime RKNN non corrisponde alla versione di RKNN Toolkit e l'inferenza non riesce, sostituire /usr/lib/librknnrt.so
con il servizio ufficiale file librknnrt.so.
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.
FAQ
Come si esporta il modello Ultralytics YOLO in formato RKNN?
È possibile esportare facilmente il modello Ultralytics YOLO in formato RKNN utilizzando il file export()
nel pacchetto Ultralytics Python o tramite l'interfaccia a riga di comando (CLI). Assicuratevi di utilizzare un PC Linux basato su x86 per il processo di esportazione, poiché i dispositivi ARM64 come Rockchip non sono supportati per questa operazione. È possibile specificare la piattaforma Rockchip di destinazione utilizzando il comando name
come ad esempio rk3588
, rk3566
o altri. Questo processo genera un modello RKNN ottimizzato, pronto per essere implementato sul dispositivo Rockchip, sfruttando la sua Neural Processing Unit (NPU) per un'inferenza accelerata.
Esempio
Quali sono i vantaggi dell'utilizzo dei modelli RKNN sui dispositivi Rockchip?
I modelli RKNN sono progettati specificamente per sfruttare le capacità di accelerazione hardware delle unità di elaborazione neurale (NPU) di Rockchip. Questa ottimizzazione si traduce in una velocità di inferenza significativamente maggiore e in una latenza ridotta rispetto all'esecuzione di formati di modelli generici come ONNX o TensorFlow Lite sullo stesso hardware. L'uso dei modelli RKNN consente un uso più efficiente delle risorse del dispositivo, con conseguente riduzione del consumo energetico e migliori prestazioni complessive, particolarmente importanti per le applicazioni in tempo reale sui dispositivi edge. Convertendo i modelli Ultralytics YOLO in RKNN, è possibile ottenere prestazioni ottimali su dispositivi dotati di SoC Rockchip come RK3588, RK3566 e altri.
È possibile distribuire i modelli RKNN su dispositivi di altri produttori come NVIDIA o Google?
I modelli RKNN sono ottimizzati specificamente per le piattaforme Rockchip e le loro NPU integrate. Sebbene sia tecnicamente possibile eseguire un modello RKNN su altre piattaforme utilizzando l'emulazione software, non si beneficerà dell'accelerazione hardware fornita dai dispositivi Rockchip. Per ottenere prestazioni ottimali su altre piattaforme, si consiglia di esportare i modelli Ultralytics YOLO in formati specificamente progettati per tali piattaforme, come TensorRT per le GPU NVIDIA o TensorFlow Lite per Google's Edge TPU. Ultralytics supporta l'esportazione in un'ampia gamma di formati, garantendo la compatibilità con vari acceleratori hardware.
Quali piattaforme Rockchip sono supportate per l'implementazione del modello RKNN?
L'esportazione di Ultralytics YOLO in formato RKNN supporta un'ampia gamma di piattaforme Rockchip, tra cui le popolari RK3588, RK3576, RK3566, RK3568, RK3562, RV1103, RV1106, RV1103B, RV1106B e RK2118. Queste piattaforme sono comunemente presenti nei dispositivi di produttori come Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi. Questo ampio supporto garantisce la possibilità di distribuire i modelli RKNN ottimizzati su vari dispositivi Rockchip, dai computer single-board ai sistemi industriali, sfruttando appieno le capacità di accelerazione dell'intelligenza artificiale per migliorare le prestazioni delle applicazioni di computer vision.
Come si comportano i modelli RKNN rispetto ad altri formati sui dispositivi Rockchip?
I modelli RKNN generalmente superano altri formati come ONNX o TensorFlow Lite sui dispositivi Rockchip grazie alla loro ottimizzazione per le NPU Rockchip. Ad esempio, i benchmark sul Radxa Rock 5B (RK3588) mostrano che YOLO11n in formato RKNN raggiunge un tempo di inferenza di 99,5 ms/immagine, significativamente più veloce di altri formati. Questo vantaggio prestazionale è coerente con le varie dimensioni del modello YOLO11 , come dimostrato nella sezione dei benchmark. Sfruttando l'hardware NPU dedicato, i modelli RKNN riducono al minimo la latenza e massimizzano il throughput, rendendoli ideali per le applicazioni in tempo reale sui dispositivi edge basati su Rockchip.