Esportazione Intel OpenVINO

OpenVINO Intel AI inference toolkit

In questa guida, trattiamo l'esportazione dei modelli YOLO26 nel formato OpenVINO, che può fornire un'accelerazione fino a 3x su CPU, oltre ad accelerare l'inferenza YOLO su hardware Intel GPU e NPU.

OpenVINO, abbreviazione di Open Visual Inference & Neural Network Optimization toolkit, è un toolkit completo per l'ottimizzazione e il deployment di modelli di inferenza AI. Anche se il nome contiene Visual, OpenVINO supporta anche varie attività aggiuntive tra cui linguaggio, audio, serie temporali, ecc.



Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀

Esempi di utilizzo

Esporta un modello YOLO26n nel formato OpenVINO ed esegui l'inferenza con il modello esportato.

Esempio
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")

# Run inference with specified device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")

Argomenti di esportazione

ArgomentoTipoPredefinitoDescrizione
formatstr'openvino'Formato di destinazione per il modello esportato, che definisce la compatibilità con vari ambienti di deployment.
imgszint o tuple640Dimensione dell'immagine desiderata per l'input del modello. Può essere un intero per immagini quadrate o una tupla (height, width) per dimensioni specifiche.
halfboolFalseAbilita la quantizzazione FP16 (precisione dimezzata), riducendo la dimensione del modello e potenzialmente accelerando l'inferenza su hardware supportato.
int8boolFalseAttiva la quantizzazione INT8, comprimendo ulteriormente il modello e accelerando l'inferenza con una perdita di precisione minima, principalmente per dispositivi edge.
dynamicboolFalseConsente dimensioni di input dinamiche, migliorando la flessibilità nella gestione di dimensioni dell'immagine variabili.
nmsboolFalseAggiunge la Non-Maximum Suppression (NMS), essenziale per un post-processing del rilevamento accurato ed efficiente.
batchint1Specifica la dimensione del batch di inferenza del modello esportato o il numero massimo di immagini che il modello esportato elaborerà simultaneamente in modalità predict.
datastr'coco8.yaml'Percorso del file di configurazione del dataset (predefinito: coco8.yaml), essenziale per la quantizzazione.
fractionfloat1.0Specifica la frazione del dataset da utilizzare per la calibrazione della quantizzazione INT8. Consente di calibrare su un sottoinsieme del dataset completo, utile per esperimenti o quando le risorse sono limitate. Se non specificato con INT8 abilitato, verrà utilizzato l'intero dataset.

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

Avviso

OpenVINO™ è compatibile con la maggior parte dei processori Intel®, ma per garantire prestazioni ottimali:

  1. Verifica il supporto di OpenVINO™ Controlla se il tuo chip Intel® è ufficialmente supportato da OpenVINO™ utilizzando l'elenco di compatibilità Intel.

  2. Identifica il tuo acceleratore Determina se il tuo processore include una NPU (Neural Processing Unit) integrata o una GPU (GPU integrata) consultando la guida all'hardware di Intel.

  3. Installa i driver più recenti Se il tuo chip supporta una NPU o una GPU ma OpenVINO™ non la rileva, potresti dover installare o aggiornare i driver associati. Segui le istruzioni di installazione dei driver per abilitare l'accelerazione completa.

Seguendo questi tre passaggi, puoi assicurarti che OpenVINO™ funzioni in modo ottimale sul tuo hardware Intel®.

Vantaggi di OpenVINO

  1. Prestazioni: OpenVINO offre un'inferenza ad alte prestazioni sfruttando la potenza delle CPU Intel, delle GPU integrate e discrete e degli FPGA.
  2. Supporto per l'esecuzione eterogenea: OpenVINO fornisce un'API per scrivere il codice una volta ed eseguirlo su qualsiasi hardware Intel supportato (CPU, GPU, FPGA, VPU, ecc.).
  3. Model Optimizer: OpenVINO fornisce un Model Optimizer che importa, converte e ottimizza i modelli da framework di deep learning popolari come PyTorch, TensorFlow, TensorFlow Lite, Keras, ONNX, PaddlePaddle e Caffe.
  4. Facilità d'uso: Il toolkit viene fornito con oltre 80 notebook di tutorial (inclusa l'ottimizzazione YOLO26) che insegnano diversi aspetti del toolkit.

Struttura di esportazione OpenVINO

Quando esporti un modello nel formato OpenVINO, si ottiene una directory contenente quanto segue:

  1. File XML: Descrive la topologia della rete.
  2. File BIN: Contiene i dati binari di pesi e bias.
  3. File di mapping: Contiene la mappatura dei tensori di output del modello originale ai nomi dei tensori OpenVINO.

Puoi utilizzare questi file per eseguire l'inferenza con l'OpenVINO Inference Engine.

Utilizzo dell'esportazione OpenVINO nel deployment

Una volta che il tuo modello è stato esportato con successo nel formato OpenVINO, hai due opzioni principali per eseguire l'inferenza:

  1. Usa il pacchetto ultralytics, che fornisce un'API di alto livello e racchiude l'OpenVINO Runtime.

  2. Usa il pacchetto nativo openvino per un controllo più avanzato o personalizzato sul comportamento dell'inferenza.

Inferenza con Ultralytics

Il pacchetto ultralytics ti consente di eseguire facilmente l'inferenza utilizzando il modello OpenVINO esportato tramite il metodo predict. Puoi anche specificare il dispositivo di destinazione (es. intel:gpu, intel:npu, intel:cpu) usando l'argomento device.

from ultralytics import YOLO

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")  # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu")  # specify the device you want to run inference on

Questo approccio è ideale per una prototipazione rapida o per il deployment quando non hai bisogno di un controllo completo sulla pipeline di inferenza.

Inferenza con OpenVINO Runtime

L'OpenVINO Runtime fornisce un'API unificata per l'inferenza su tutto l'hardware Intel supportato. Offre anche funzionalità avanzate come il bilanciamento del carico sull'hardware Intel e l'esecuzione asincrona. Per maggiori informazioni sull'esecuzione dell'inferenza, consulta i notebook YOLO26.

Ricorda, avrai bisogno dei file XML e BIN, così come di eventuali impostazioni specifiche dell'applicazione come la dimensione dell'input, il fattore di scala per la normalizzazione, ecc., per configurare correttamente e utilizzare il modello con il Runtime.

Nella tua applicazione di deployment, dovresti solitamente eseguire i seguenti passaggi:

  1. Inizializza OpenVINO creando core = Core().
  2. Carica il modello utilizzando il metodo core.read_model().
  3. Compila il modello utilizzando la funzione core.compile_model().
  4. Prepara l'input (immagine, testo, audio, ecc.).
  5. Esegui l'inferenza utilizzando compiled_model(input_data).

Per passaggi più dettagliati e frammenti di codice, consulta la documentazione di OpenVINO o il tutorial API.

Benchmark OpenVINO YOLO26

Il team di Ultralytics ha eseguito il benchmark di YOLO26 su vari formati di modello e precisione, valutando velocità e accuratezza su diversi dispositivi Intel compatibili con OpenVINO.

Nota
  • I risultati del benchmark qui sotto sono puramente di riferimento e potrebbero variare in base all'esatta configurazione hardware e software di un sistema, nonché al carico di lavoro corrente del sistema nel momento in cui vengono eseguiti i benchmark.

  • Tutti i benchmark sono stati eseguiti con il pacchetto Python openvino versione 2026.2.0.dev20260501. Aggiorneremo i benchmark con la build stabile una volta rilasciata la versione 2026.2.0.

  • I modelli YOLO26 su NPU sono supportati solo su sistemi Intel® Core™ Ultra™ con serie 2xxV e serie 3xx e successive.

Intel® Core™ Ultra

La serie Intel® Core™ Ultra™ rappresenta un nuovo punto di riferimento nel calcolo ad alte prestazioni, progettata per soddisfare le esigenze in continua evoluzione degli utenti moderni, dai gamer ai creatori ai professionisti che sfruttano l'IA. Questa linea di nuova generazione è molto più di una tradizionale serie di CPU; combina potenti core CPU, capacità GPU integrate ad alte prestazioni e una Neural Processing Unit (NPU) dedicata all'interno di un singolo chip, offrendo una soluzione unificata per carichi di lavoro di calcolo diversi e intensivi.

Al centro dell'architettura Intel® Core Ultra™ c'è un design ibrido che consente prestazioni eccezionali tra le attività di elaborazione tradizionali, carichi di lavoro accelerati da GPU e operazioni guidate dall'IA. L'inclusione della NPU migliora l'inferenza AI sul dispositivo, consentendo un machine learning e un'elaborazione dati più rapidi ed efficienti in un'ampia gamma di applicazioni.

La famiglia Core Ultra™ include vari modelli su misura per diverse esigenze di prestazioni, con opzioni che spaziano da design efficienti dal punto di vista energetico a varianti ad alta potenza contrassegnate dalla sigla "H", ideali per laptop e form factor compatti che richiedono una potenza di calcolo seria. In tutta la linea, gli utenti beneficiano della sinergia dell'integrazione di CPU, GPU e NPU, offrendo efficienza, reattività e capacità di multitasking notevoli.

Come parte dell'innovazione continua di Intel, la serie Core Ultra™ definisce un nuovo standard per il calcolo pronto per il futuro. Con molteplici modelli disponibili e altri all'orizzonte, questa serie sottolinea l'impegno di Intel nel fornire soluzioni all'avanguardia per la prossima generazione di dispositivi intelligenti potenziati dall'IA.

I benchmark qui sotto sono eseguiti su Intel® Core™ Ultra™ X7 358H, Intel® Core™ Ultra™ 7 258V e Intel® Core™ Ultra™ 7 155H a precisione FP32, FP16 e INT8.

Intel® Core™ Ultra™ X7 358H

Benchmark
Intel Core Ultra GPU benchmarks
Risultati dettagliati del benchmark
ModelloFormatoPrecisioneStatoDimensione (MB)metriche/mAP50-95(B)Tempo di inferenza (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476525.18
YOLO26nOpenVINOFP329.60.47632.67
YOLO26nOpenVINOFP165.10.47632.64
YOLO26nOpenVINOINT83.20.46252.73
YOLO26sPyTorch (CPU)FP3219.50.570350.09
YOLO26sOpenVINOFP3236.70.56153.57
YOLO26sOpenVINOFP1618.60.56153.55
YOLO26sOpenVINOINT810.00.5473.09
YOLO26mPyTorch (CPU)FP3242.20.6196135.1
YOLO26mOpenVINOFP3278.30.61685.64
YOLO26mOpenVINOFP1639.50.61685.85
YOLO26mOpenVINOINT820.50.59944.14
YOLO26lPyTorch (CPU)FP3250.70.6215169.75
YOLO26lOpenVINOFP3295.30.62068.14
YOLO26lOpenVINOFP1648.10.62068.18
YOLO26lOpenVINOINT825.20.59994.67
YOLO26xPyTorch (CPU)FP32113.20.6512407.56
YOLO26xOpenVINOFP32213.20.656913.11
YOLO26xOpenVINOFP16107.10.656913.15
YOLO26xOpenVINOINT854.80.63749.24

Intel® Core™ Ultra™ 7 258V

Benchmark
Intel Core Ultra GPU benchmarks
Risultati dettagliati del benchmark
ModelloFormatoPrecisioneStatoDimensione (MB)metriche/mAP50-95(B)Tempo di inferenza (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476531.43
YOLO26nOpenVINOFP329.60.47623.57
YOLO26nOpenVINOFP165.10.47623.53
YOLO26nOpenVINOINT83.20.46253.65
YOLO26sPyTorch (CPU)FP3219.50.570360.4
YOLO26sOpenVINOFP3236.70.56165.02
YOLO26sOpenVINOFP1618.60.56165.01
YOLO26sOpenVINOINT810.00.5474.31
YOLO26mPyTorch (CPU)FP3242.20.6196173.31
YOLO26mOpenVINOFP3278.30.61919.48
YOLO26mOpenVINOFP1639.50.61689.6
YOLO26mOpenVINOINT820.50.59946.03
YOLO26lPyTorch (CPU)FP3250.70.6173224.52
YOLO26lOpenVINOFP3295.30.372511.88
YOLO26lOpenVINOFP1648.10.620112.0
YOLO26lOpenVINOINT825.20.59998.47
YOLO26xPyTorch (CPU)FP32113.20.6512595.72
YOLO26xOpenVINOFP32213.20.656720.26
YOLO26xOpenVINOFP16107.10.645420.25
YOLO26xOpenVINOINT854.80.637414.77

Intel® Core™ Ultra™ 7 155H

Benchmark
Intel Core Ultra GPU benchmarks
Risultati dettagliati del benchmark
ModelloFormatoPrecisioneStatoDimensione (MB)metriche/mAP50-95(B)Tempo di inferenza (ms/im)
YOLO26nPyTorch (CPU)FP325.30.476538.77
YOLO26nOpenVINOFP329.60.47749.87
YOLO26nOpenVINOFP165.10.47749.84
YOLO26nOpenVINOINT83.20.47055.86
YOLO26sPyTorch (CPU)FP3219.50.570369.54
YOLO26sOpenVINOFP3236.70.561617.29
YOLO26sOpenVINOFP1618.60.561617.06
YOLO26sOpenVINOINT810.00.545210.33
YOLO26mPyTorch (CPU)FP3242.20.6196192.22
YOLO26mOpenVINOFP3278.30.618734.64
YOLO26mOpenVINOFP1639.50.618734.75
YOLO26mOpenVINOINT820.50.607315.99
YOLO26lPyTorch (CPU)FP3250.70.6215245.62
YOLO26lOpenVINOFP3295.30.620243.7
YOLO26lOpenVINOFP1648.10.620244.65
YOLO26lOpenVINOINT825.20.604820.31
YOLO26xPyTorch (CPU)FP32113.20.6512513.06
YOLO26xOpenVINOFP32213.20.654480.19
YOLO26xOpenVINOFP16107.10.654479.83
YOLO26xOpenVINOINT854.80.639335.16

Riproduci i nostri risultati

Per riprodurre i benchmark Ultralytics sopra indicati su tutti i formati di esportazione, esegui questo codice:

Esempio
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")

Tieni presente che i risultati dei benchmark potrebbero variare in base all'esatta configurazione hardware e software di un sistema, oltre che al carico di lavoro corrente del sistema nel momento in cui vengono eseguiti i benchmark. Per ottenere i risultati più affidabili, usa un dataset con un numero elevato di immagini, ad esempio data='coco.yaml' (5000 immagini di validazione).

Conclusione

I risultati dei benchmark dimostrano chiaramente i vantaggi dell'esportazione del modello YOLO26 nel formato OpenVINO. Tra diversi modelli e piattaforme hardware, il formato OpenVINO supera costantemente gli altri formati in termini di velocità di inferenza, mantenendo un'accuratezza paragonabile.

I benchmark sottolineano l'efficacia di OpenVINO come strumento per il deployment di modelli di deep learning. Convertendo i modelli nel formato OpenVINO, gli sviluppatori possono ottenere significativi miglioramenti delle prestazioni, rendendo più semplice il deployment di questi modelli in applicazioni reali.

Per informazioni più dettagliate e istruzioni sull'uso di OpenVINO, fai riferimento alla documentazione ufficiale di OpenVINO.

FAQ

Come posso esportare i modelli YOLO26 nel formato OpenVINO?

L'esportazione dei modelli YOLO26 nel formato OpenVINO può aumentare significativamente la velocità della CPU e abilitare le accelerazioni su GPU e NPU sull'hardware Intel. Per esportare, puoi usare Python o la CLI come mostrato di seguito:

Esempio
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model
model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

Per ulteriori informazioni, fai riferimento alla documentazione sui formati di esportazione.

Quali sono i vantaggi dell'utilizzo di OpenVINO con i modelli YOLO26?

L'utilizzo del toolkit OpenVINO di Intel con i modelli YOLO26 offre diversi vantaggi:

  1. Prestazioni: Ottieni un incremento di velocità fino a 3x sull'inferenza CPU e sfrutta le GPU e le NPU Intel per l'accelerazione.
  2. Model Optimizer: Converti, ottimizza ed esegui modelli da framework popolari come PyTorch, TensorFlow e ONNX.
  3. Facilità d'uso: Sono disponibili oltre 80 notebook tutorial per aiutarti a iniziare, inclusi quelli per YOLO26.
  4. Esecuzione eterogenea: Effettua il deployment dei modelli su vari hardware Intel con un'unica API.

Per confronti dettagliati sulle prestazioni, visita la nostra sezione benchmark.

Come posso eseguire l'inferenza utilizzando un modello YOLO26 esportato in OpenVINO?

Dopo aver esportato un modello YOLO26n nel formato OpenVINO, puoi eseguire l'inferenza usando Python o la CLI:

Esempio
from ultralytics import YOLO

# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")

# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")

Fai riferimento alla nostra documentazione sulla modalità di previsione per maggiori dettagli.

Perché dovrei scegliere Ultralytics YOLO26 rispetto ad altri modelli per l'esportazione in OpenVINO?

Ultralytics YOLO26 è ottimizzato per il rilevamento di oggetti in tempo reale con elevata accuratezza e velocità. Nello specifico, quando combinato con OpenVINO, YOLO26 offre:

  • Fino a 3x di incremento della velocità sulle CPU Intel
  • Deployment senza problemi su GPU e NPU Intel
  • Accuratezza coerente e paragonabile tra i vari formati di esportazione

Per un'analisi approfondita delle prestazioni, consulta i nostri benchmark YOLO26 dettagliati su diversi hardware.

Posso eseguire il benchmark dei modelli YOLO26 su formati diversi come PyTorch, ONNX e OpenVINO?

Sì, puoi eseguire il benchmark dei modelli YOLO26 in vari formati, inclusi PyTorch, TorchScript, ONNX e OpenVINO. Usa il seguente frammento di codice per eseguire i benchmark sul dataset scelto:

Esempio
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats
results = model.benchmark(data="coco8.yaml")

Per risultati dettagliati dei benchmark, fai riferimento alla nostra sezione benchmark e alla documentazione sui formati di esportazione.

Commenti