Link to this sectionEsportazione Rockchip RKNN per modelli Ultralytics YOLO26#
Quando distribuisci modelli di computer vision su dispositivi embedded, specialmente quelli alimentati da processori Rockchip, avere un formato di modello compatibile è essenziale. Esportare modelli Ultralytics YOLO26 nel formato RKNN garantisce prestazioni ottimizzate e compatibilità con l'hardware Rockchip. Questa guida ti accompagnerà nella conversione dei tuoi modelli YOLO26 nel formato RKNN, includendo esportazioni in virgola mobile e quantizzate INT8, consentendo una distribuzione efficiente sulle piattaforme Rockchip.
Questa guida è stata testata con Radxa Rock 5B, basato su Rockchip RK3588, e Radxa Zero 3W, basato su Rockchip RK3566. Si prevede che funzioni su altri dispositivi basati su Rockchip che supportano rknn-toolkit2 come RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B e RV1106B. I target solo INT8 come RV1103 e RV1106 richiedono int8=True.
Link to this sectionCos'è Rockchip?#
Rinomata per offrire soluzioni versatili ed efficienti dal punto di vista energetico, Rockchip progetta System-on-Chips (SoCs) avanzati che alimentano una vasta gamma di elettronica di consumo, applicazioni industriali e tecnologie AI. Grazie all'architettura basata su ARM, alle Neural Processing Units (NPUs) integrate e al supporto multimediale ad alta risoluzione, i SoC Rockchip consentono prestazioni all'avanguardia per dispositivi come tablet, smart TV, sistemi IoT e applicazioni di edge AI. Aziende come Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi offrono una varietà di prodotti basati su SoC Rockchip, estendendone ulteriormente la portata e l'impatto su mercati diversi.
Link to this sectionRKNN Toolkit#
Il RKNN Toolkit è un insieme di strumenti e librerie forniti da Rockchip per facilitare la distribuzione di modelli di deep learning sulle loro piattaforme hardware. RKNN, ovvero 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 alte prestazioni nelle attività di AI su dispositivi come RK3588, RK3566, RV1103, RV1106 e altri sistemi alimentati da Rockchip.
Link to this sectionCaratteristiche principali dei modelli RKNN#
I modelli RKNN offrono diversi vantaggi per la distribuzione sulle piattaforme Rockchip:
- Ottimizzati per NPU: i modelli RKNN sono specificamente ottimizzati per essere eseguiti sulle NPU di Rockchip, garantendo prestazioni ed efficienza massime.
- Bassa latenza: Il formato RKNN riduce al minimo la latenza di inferenza, il che è fondamentale per le applicazioni in tempo reale su dispositivi edge.
- Personalizzazione specifica per piattaforma: I modelli RKNN possono essere adattati a specifiche piattaforme Rockchip, consentendo un migliore utilizzo delle risorse hardware.
- Efficienza energetica: Sfruttando l'hardware dedicato NPU, i modelli RKNN consumano meno energia rispetto all'elaborazione basata su CPU o GPU, prolungando la durata della batteria per i dispositivi portatili.
Link to this sectionFlash del SO su hardware Rockchip#
Il primo passo dopo aver ottenuto un dispositivo basato su Rockchip è flashare un sistema operativo affinché l'hardware possa avviarsi in un ambiente operativo. In questa guida indicheremo le guide introduttive dei due dispositivi che abbiamo testato, ovvero Radxa Rock 5B e Radxa Zero 3W.
Link to this sectionEsportazione in RKNN: Convertire il tuo modello YOLO26#
Esporta un modello Ultralytics YOLO26 nel formato RKNN ed esegui l'inferenza con il modello esportato.
Assicurati 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.
Link to this sectionInstallazione#
Per installare i pacchetti richiesti, esegui:
# Install the required package for YOLO26
pip install ultralyticsPer istruzioni dettagliate e best practice relative al processo di installazione, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti richiesti per YOLO26, se riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Link to this sectionUtilizzo#
L'esportazione è attualmente supportata solo per i modelli di rilevamento. Il supporto per altri modelli arriverà in futuro.
Il formato RKNN supporta le modalità Export, Predict e Validate. L'inferenza e la convalida vengono eseguite sull'hardware Rockchip NPU. Esporta il tuo modello, quindi carica quello esportato per eseguire l'inferenza o convalidarne l'accuratezza. Per impostazione predefinita, l'esportazione RKNN utilizza il percorso di compilazione in virgola mobile esistente con half=True per i target Rockchip compatibili con FP16. Usa int8=True per compilare un modello RKNN quantizzato INT8 con dati di calibrazione. L'esportazione RKNN non espone una modalità FP32 separata; lasciare int8=False non richiede FP32.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to RKNN format
model.export(format="rknn", name="rk3588") # creates '/yolo26n_rknn_model'
# Export an INT8-quantized RKNN model with calibration data
model.export(format="rknn", name="rk3588", int8=True, data="coco8.yaml")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionArgomenti di esportazione#
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
format | str | 'rknn' | Formato target per il modello esportato, che definisce la compatibilità con gli ambienti di distribuzione Rockchip. |
imgsz | int o tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
batch | int | 1 | Specifica la dimensione del batch di inferenza del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict. |
name | str | 'rk3588' | Specifica il target Rockchip, come rk3588, rk3576, rk3566, rk3568, rk3562, rk2118, rv1126b, rv1103, rv1106, rv1103b o rv1106b. |
half | bool | True | Abilita il percorso di esportazione RKNN in virgola mobile predefinito per target compatibili con FP16. Mutualmente esclusivo con int8=True. |
int8 | bool | False | Abilita la quantizzazione INT8. Richiesto per target solo INT8 come RV1103 e RV1106. Quando False, l'RKNN Toolkit compila un modello in virgola mobile per target compatibili con FP16, non FP32. |
data | str | None | YAML del dataset utilizzato per la calibrazione INT8. Se omesso con int8=True, Ultralytics seleziona il dataset di calibrazione predefinito per l'attività del modello. |
fraction | float | 1.0 | Frazione delle immagini di calibrazione da utilizzare per la quantizzazione INT8. |
device | str | None | Specifica il dispositivo per l'esportazione: GPU (device=0), CPU (device=cpu). |
Assicurati di utilizzare una macchina Linux x86 durante l'esportazione in RKNN.
Per maggiori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.
Link to this sectionDistribuzione di modelli YOLO26 RKNN esportati#
Una volta esportati con successo i tuoi modelli Ultralytics YOLO26 nel formato RKNN, il passo successivo è distribuire questi modelli su dispositivi basati su Rockchip.
Link to this sectionInstallazione#
Per installare i pacchetti richiesti, esegui:
# Install the required package for YOLO26
pip install ultralyticsUna volta installato, esegui l'inferenza e la convalida sul tuo dispositivo Rockchip esattamente come mostrato nella sezione Utilizzo sopra: il _rknn_model esportato si carica direttamente con YOLO(...).
Se riscontri un messaggio di log che indica che la versione del runtime RKNN non corrisponde alla versione del toolkit RKNN e l'inferenza fallisce, sostituisci /usr/lib/librknnrt.so con il file librknnrt.so ufficiale.

Link to this sectionApplicazioni nel mondo reale#
I dispositivi basati su Rockchip con modelli YOLO26 RKNN possono essere utilizzati in varie applicazioni:
- Sorveglianza intelligente: Distribuisci sistemi di rilevamento oggetti efficienti per il monitoraggio della sicurezza con basso consumo energetico.
- Automazione industriale: Implementa il controllo qualità e il rilevamento dei difetti direttamente su dispositivi embedded.
- Analisi al dettaglio: Traccia il comportamento dei clienti e la gestione dell'inventario in tempo reale senza dipendenza dal cloud.
- Agricoltura intelligente: Monitora la salute delle colture e rileva i parassiti utilizzando la computer vision in agricoltura.
- Robotica autonoma: Abilita la navigazione basata sulla visione e il rilevamento degli ostacoli su piattaforme con risorse limitate.
Link to this sectionBenchmark#
I benchmark di YOLO26 di seguito sono stati eseguiti dal team di Ultralytics su Radxa Rock 5B basato su Rockchip RK3588 con il formato modello rknn misurando velocità e accuratezza.
| Modello | Formato | Stato | Dimensione (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | rknn | ✅ | 7.1 | 0.479 | 65.7 |
| YOLO26s | rknn | ✅ | 20.9 | 0.571 | 99.2 |
| YOLO26m | rknn | ✅ | 42.5 | 0.610 | 235.3 |
| YOLO26l | rknn | ✅ | 52.1 | 0.630 | 280.5 |
| YOLO26x | rknn | ✅ | 112.2 | 0.666 | 669.1 |
Valutato con ultralytics 8.4.23
La validazione per i benchmark sopra indicati è stata eseguita utilizzando il dataset COCO128. Il tempo di inferenza non include la pre/post-elaborazione.
Link to this sectionRiepilogo#
In questa guida, hai imparato come esportare i modelli Ultralytics YOLO26 nel formato RKNN per migliorare la loro implementazione sulle piattaforme Rockchip. Ti sono stati anche presentati il toolkit RKNN e i vantaggi specifici dell'utilizzo dei modelli RKNN per le applicazioni AI edge.
La combinazione di Ultralytics YOLO26 e della tecnologia NPU di Rockchip fornisce una soluzione efficiente per eseguire attività avanzate di computer vision su dispositivi embedded. Questo approccio abilita il rilevamento di oggetti in tempo reale e altre applicazioni AI di visione con un consumo energetico minimo e prestazioni elevate.
Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale di RKNN.
Inoltre, se vuoi saperne di più su altre integrazioni di Ultralytics YOLO26, visita la nostra pagina delle guide all'integrazione. Lì troverai molte risorse e approfondimenti utili.
Link to this sectionFAQ#
Link to this sectionCome posso esportare il mio modello Ultralytics YOLO nel formato RKNN?#
Puoi esportare facilmente il tuo modello Ultralytics YOLO nel formato RKNN utilizzando il metodo export() nel pacchetto Python di Ultralytics o tramite l'interfaccia a riga di comando (CLI). Assicurati 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. Puoi specificare la piattaforma Rockchip di destinazione utilizzando l'argomento name, come rk3588, rk3566 o altri. Questo processo genera un modello RKNN ottimizzato pronto per l'implementazione sul tuo dispositivo Rockchip, sfruttando la sua Neural Processing Unit (NPU) per un'inferenza accelerata.
from ultralytics import YOLO
# Load your YOLO model
model = YOLO("yolo26n.pt")
# Export to RKNN format for a specific Rockchip platform
model.export(format="rknn", name="rk3588")Link to this sectionQuali 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 Neural Processing Units (NPU) di Rockchip. Questa ottimizzazione si traduce in velocità di inferenza significativamente più elevate e in una latenza ridotta rispetto all'esecuzione di formati di modello generici come ONNX o TensorFlow Lite sullo stesso hardware. L'utilizzo di modelli RKNN consente un uso più efficiente delle risorse del dispositivo, portando a un minor consumo energetico e a migliori prestazioni complessive, fattore particolarmente critico per le applicazioni in tempo reale sui dispositivi edge. Convertendo i tuoi modelli Ultralytics YOLO in RKNN, puoi ottenere prestazioni ottimali su dispositivi alimentati da SoC Rockchip come RK3588, RK3566 e altri.
Link to this sectionPosso implementare 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 tramite emulazione software, non beneficerai dell'accelerazione hardware fornita dai dispositivi Rockchip. Per prestazioni ottimali su altre piattaforme, si consiglia di esportare i tuoi modelli Ultralytics YOLO in formati progettati specificamente per tali piattaforme, come TensorRT per GPU NVIDIA o TensorFlow Lite per Edge TPU di Google. Ultralytics supporta l'esportazione verso un'ampia gamma di formati, garantendo la compatibilità con vari acceleratori hardware.
Link to this sectionQuali piattaforme Rockchip sono supportate per l'implementazione dei modelli RKNN?#
L'esportazione di Ultralytics YOLO verso il formato RKNN supporta le piattaforme Rockchip con build RKNN in virgola mobile, tra cui RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 e RV1126B. Supporta anche l'esportazione RKNN quantizzata INT8 con int8=True, necessaria per i target solo INT8 come RV1103, RV1106, RV1103B e RV1106B. Queste piattaforme si trovano comunemente in dispositivi di produttori come Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi, permettendoti di implementare i tuoi modelli RKNN ottimizzati su una serie di dispositivi basati su Rockchip, dai single-board computer ai sistemi industriali.
Link to this sectionCome si confrontano le prestazioni dei 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 di Rockchip. Ad esempio, i benchmark su Radxa Rock 5B (RK3588) mostrano che YOLO26n in formato RKNN raggiunge un tempo di inferenza di 65,7 ms/immagine, significativamente più veloce rispetto ad altri formati. Questo vantaggio prestazionale è coerente tra le varie dimensioni dei modelli YOLO26, come dimostrato nella sezione benchmark. Sfruttando l'hardware NPU dedicato, i modelli RKNN minimizzano la latenza e massimizzano il throughput, rendendoli ideali per le applicazioni in tempo reale sui dispositivi edge basati su Rockchip.