Meet YOLO26: next-gen vision AI.

Link to this sectionEsportazione Rockchip RKNN per i modelli Ultralytics YOLO26#

Quando distribuisci modelli di computer vision su dispositivi embedded, specialmente quelli alimentati da processori Rockchip, avere un formato di modello compatibile è fondamentale. Esportare i 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 in formato RKNN, includendo esportazioni in virgola mobile e quantizzate INT8, consentendo una distribuzione efficiente sulle piattaforme Rockchip.

Rockchip RKNN export for NPU deployment

Nota

Questa guida è stata testata con Radxa Rock 5B, basata su Rockchip RK3588, e con Radxa Zero 3W, basata su Rockchip RK3566. È previsto il funzionamento su altri dispositivi basati su Rockchip che supportano rknn-toolkit2, come RK3576, RK3568, RK3562, RK2118, RV1126B, RV1103, RV1106, RV1103B e RV1106B. I target che supportano solo INT8, come RV1103 e RV1106, richiedono quantize=8.

Link to this sectionCos'è Rockchip?#

Rinomato per fornire 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 Neural Processing Units (NPU) 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 edge AI. Aziende come Radxa, ASUS, Pine64, Orange Pi, Odroid, Khadas e Banana Pi offrono una varietà di prodotti basati su SoC Rockchip, estendendo ulteriormente la loro portata e il loro impatto su diversi mercati.

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, 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à 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 ottimizzati specificamente per l'esecuzione sulle NPU di Rockchip, garantendo massime prestazioni ed efficienza.
  • Bassa latenza: il formato RKNN minimizza la latenza di inferenza, che è fondamentale per le applicazioni in tempo reale sui dispositivi edge.
  • Personalizzazione specifica per la piattaforma: i modelli RKNN possono essere adattati a specifiche piattaforme Rockchip, consentendo un migliore utilizzo delle risorse hardware.
  • Efficienza energetica: sfruttando l'hardware NPU dedicato, 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 sectionInstallazione del sistema operativo sull'hardware Rockchip#

Il primo passo dopo aver messo le mani su un dispositivo basato su Rockchip è installare un sistema operativo in modo che l'hardware possa avviarsi in un ambiente funzionante. 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: conversione del tuo modello YOLO26#

Esporta un modello Ultralytics YOLO26 in formato RKNN ed esegui l'inferenza con il modello esportato.

Nota

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:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Per istruzioni dettagliate e best practice relative al processo di installazione, consulta la nostra guida all'installazione di Ultralytics. Durante l'installazione dei pacchetti necessari per YOLO26, se riscontri difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.

Link to this sectionUtilizzo#

Nota

L'esportazione è attualmente supportata solo per i modelli di rilevamento. In futuro sarà disponibile il supporto per altri modelli.

Il formato RKNN supporta le modalità Export, Predict e Validate. L'inferenza e la convalida vengono eseguite sull'hardware NPU Rockchip. Esporta il tuo modello, quindi carica il modello esportato per eseguire l'inferenza o convalidarne l'accuratezza. Per impostazione predefinita, l'esportazione RKNN utilizza il percorso di compilazione in virgola mobile (quantize=16) per i target Rockchip con capacità FP16. Usa quantize=8 per creare un modello RKNN quantizzato in INT8 con dati di calibrazione. L'esportazione RKNN non espone una modalità FP32 separata; l'impostazione predefinita FP16 non richiede FP32.

Esportazione
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", quantize=8, data="coco8.yaml")
Previsione
from ultralytics import YOLO

# Load the exported RKNN model
model = YOLO("./yolo26n_rknn_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Convalida
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#

ArgomentoTipoPredefinitoDescrizione
formatstr'rknn'Formato di destinazione per il modello esportato, che definisce la compatibilità con gli ambienti di distribuzione Rockchip.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un numero intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
batchint1Specifica la dimensione dell'inferenza batch del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
namestr'rk3588'Specifica il target Rockchip. rk3588, rk3576, rk3566, rk3568, rk3562, rk2118 e rv1126b supportano FP16 (quantize=16 o non impostato) e INT8 (quantize=8); rv1103, rv1106, rv1103b e rv1106b sono solo per INT8 (quantize=8 o non impostato).
quantizeint o strNonePrecisione di quantizzazione: non impostato o 16 crea FP16 per i target in grado di gestire FP16; non impostato abilita automaticamente INT8 per i target solo INT8; 8 crea INT8. L'esportazione RKNN non dispone di una modalità FP32 separata. Sostituisce i flag obsoleti half/int8.
datastrNoneYAML del dataset utilizzato per la calibrazione INT8. Se omesso con quantize=8, Ultralytics seleziona il dataset di calibrazione predefinito per l'attività del modello.
fractionfloat1.0Frazione di immagini di calibrazione da utilizzare per la quantizzazione INT8.
devicestrNoneSpecifica il dispositivo per l'esportazione: GPU (device=0), CPU (device=cpu).
Suggerimento

Assicurati di utilizzare una macchina Linux x86 durante l'esportazione in RKNN.

Per ulteriori dettagli sul processo di esportazione, visita la pagina della documentazione di Ultralytics sull'esportazione.

Link to this sectionDistribuzione dei modelli RKNN YOLO26 esportati#

Una volta esportati con successo i tuoi modelli Ultralytics YOLO26 in formato RKNN, il passo successivo è distribuire questi modelli su dispositivi basati su Rockchip.

Link to this sectionInstallazione#

Per installare i pacchetti richiesti, esegui:

Installazione
# Install the required package for YOLO26
pip install ultralytics

Una 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(...).

Nota

Se incontri un messaggio di registro che indica che la versione del runtime RKNN non corrisponde alla versione di RKNN Toolkit e l'inferenza fallisce, sostituisci /usr/lib/librknnrt.so con il file librknnrt.so ufficiale.

Screenshot dell'esportazione RKNN

Link to this sectionApplicazioni nel mondo reale#

I dispositivi alimentati da Rockchip con modelli RKNN YOLO26 possono essere utilizzati in varie applicazioni:

  • Sorveglianza intelligente: distribuisci sistemi di rilevamento oggetti efficienti per il monitoraggio della sicurezza con un basso consumo energetico.
  • Automazione industriale: implementa il controllo qualità e il rilevamento dei difetti direttamente sui dispositivi embedded.
  • Analisi retail: 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 Ultralytics su Radxa Rock 5B basato su Rockchip RK3588 con formato modello rknn, misurando velocità e precisione.

Performance
ModelloFormatoStatoDimensione (MB)mAP50-95(B)Tempo di inferenza (ms/im)
YOLO26nrknn7.10.47965.7
YOLO26srknn20.90.57199.2
YOLO26mrknn42.50.610235.3
YOLO26lrknn52.10.630280.5
YOLO26xrknn112.20.666669.1

Benchmark effettuato con ultralytics 8.4.23

Nota

La convalida per i benchmark sopra riportati è stata effettuata utilizzando il dataset COCO128. Il tempo di inferenza non include la pre/post-elaborazione.

In questa guida, hai imparato come esportare i modelli Ultralytics YOLO26 in formato RKNN per migliorarne la distribuzione sulle piattaforme Rockchip. Ti sono stati inoltre presentati RKNN Toolkit e i vantaggi specifici dell'utilizzo dei modelli RKNN per le applicazioni edge AI.

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 consente il rilevamento oggetti in tempo reale e altre applicazioni di vision AI 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 della guida all'integrazione. Troverai molte risorse utili e approfondimenti lì.

Link to this sectionFAQ#

Link to this sectionCome posso esportare il mio modello Ultralytics YOLO in formato RKNN?#

Puoi facilmente esportare il tuo modello Ultralytics YOLO in 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 la distribuzione sul tuo dispositivo Rockchip, sfruttando la sua Neural Processing Unit (NPU) per un'inferenza accelerata.

Esempio
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 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 prestazioni complessive migliori, particolarmente critiche 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 distribuire 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 tu possa tecnicamente eseguire un modello RKNN su altre piattaforme utilizzando l'emulazione software, non trarrai vantaggio dall'accelerazione hardware fornita dai dispositivi Rockchip. Per prestazioni ottimali su altre piattaforme, ti consigliamo di esportare i tuoi modelli Ultralytics YOLO in formati progettati specificamente per tali piattaforme, come TensorRT per le GPU NVIDIA o TensorFlow Lite per l'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 la distribuzione di modelli RKNN?#

L'esportazione di Ultralytics YOLO nel formato RKNN supporta le piattaforme Rockchip con build RKNN in virgola mobile, inclusi RK3588, RK3576, RK3566, RK3568, RK3562, RK2118 e RV1126B. Supporta inoltre l'esportazione RKNN quantizzata in INT8 con quantize=8, necessaria per i target che supportano 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, consentendoti di distribuire i tuoi modelli RKNN ottimizzati su una gamma di dispositivi alimentati da Rockchip, dai computer a scheda singola ai sistemi industriali.

Link to this sectionCome si confrontano le prestazioni dei modelli RKNN con 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 è costante 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 su dispositivi edge basati su Rockchip.

Commenti