Distribuire Ultralytics YOLO11 senza problemi con OpenVINO™

Abirami Vina

5 minuti di lettura

1 luglio 2025

Scoprite come l'esportazione di Ultralytics YOLO11 nel formato OpenVINO™ consente un'inferenza fulminea su hardware Intel®, migliorando la velocità, la scalabilità e l'accuratezza.

L'adozione dell'IA dipende dall'accessibilità delle soluzioni di IA e una parte importante di questo aspetto consiste nel renderle facili da implementare sull'hardware già in possesso delle persone. L'esecuzione di modelli di IA su GPU (unità di elaborazione grafica) è un'ottima opzione in termini di prestazioni e potenza di elaborazione parallela. 

Tuttavia, la realtà è che non tutti hanno accesso alle GPU di fascia alta, soprattutto negli ambienti periferici o sui laptop di tutti i giorni. Ecco perché è così importante ottimizzare i modelli per eseguirli in modo efficiente su hardware più ampiamente disponibile, come le unità di elaborazione centrale (CPU), le GPU integrate e le unità di elaborazione neurale (NPU).

La computer vision, ad esempio, è una branca dell'IA che consente alle macchine di analizzare e comprendere immagini e flussi video in tempo reale. I modelli di IA di visione come Ultralytics YOLO11 supportano compiti chiave come il rilevamento di oggetti e la segmentazione di istanze che alimentano applicazioni che vanno dall'analisi della vendita al dettaglio alla diagnostica medica.

Figura 1. Utilizzo di Ultralytics YOLO11 per rilevare e segmentare gli oggetti in un negozio al dettaglio.

Per rendere la computer vision più accessibile, Ultralytics ha rilasciato un'integrazione aggiornata con il toolkit OpenVINO, un progetto open-source per l'ottimizzazione e l'esecuzione dell'inferenza AI su CPU, GPU e NPU. 

Grazie a questa integrazione, è più facile esportare e distribuire modelli YOLO11 con un'inferenza fino a 3 volte più veloce su CPU e prestazioni accelerate su GPU e NPU Intel. In questo articolo spiegheremo come utilizzare il pacchetto Ultralytics Python per esportare i modelli YOLO11 nel formato OpenVINO e utilizzarli per l'inferenza. Iniziamo!

Una panoramica di Ultralytics YOLO11

Prima di addentrarci nei dettagli dell'integrazione di OpenVINO supportata da Ultralytics, diamo un'occhiata più da vicino a ciò che rende YOLO11 un modello di computer vision affidabile e d'impatto. YOLO11 è l'ultimo modello della serie YOLO di Ultralytics, che offre miglioramenti significativi in termini di velocità e precisione. 

Uno dei suoi punti di forza è l'efficienza. Ad esempio, Ultralytics YOLO11m ha il 22% di parametri in meno rispetto a Ultralytics YOLOv8m, ma raggiunge una precisione media superiore (mAP) sul dataset COCO. Ciò significa che funziona più velocemente e rileva gli oggetti con maggiore precisione, rendendolo ideale per le applicazioni in tempo reale in cui le prestazioni e la reattività sono fondamentali.

Figura 2. I benchmark delle prestazioni di Ultralytics YOLO11.

Oltre al rilevamento degli oggetti, YOLO11 supporta diverse attività avanzate di visione artificiale, come la segmentazione delle istanze, la stima delle pose, la classificazione delle immagini, il tracciamento degli oggetti e il rilevamento dei riquadri di delimitazione orientati. YOLO11 è anche facile da sviluppare, con il pacchetto Ultralytics Python che fornisce un'interfaccia semplice e coerente per l'addestramento, la valutazione e la distribuzione dei modelli. 

Inoltre, il pacchetto Ultralytics Python supporta varie integrazioni e diversi formati di esportazione, tra cui OpenVINO, ONNX e TorchScript, consentendo di integrare facilmente YOLO11 in varie pipeline di distribuzione. Che si tratti di infrastrutture cloud, dispositivi edge o sistemi embedded, il processo di esportazione è semplice e adattabile alle esigenze hardware.

Che cos'è OpenVINO™?

OpenVINO™ (Open Visual Inference and Neural Network Optimization) è un toolkit open-source per l'ottimizzazione e la distribuzione dell'inferenza AI su un'ampia gamma di hardware. Consente agli sviluppatori di eseguire applicazioni di inferenza ad alte prestazioni in modo efficiente su diverse piattaforme Intel, tra cui CPU, GPU integrate e discrete, NPU e field-programmable gate array (FPGA).

OpenVINO fornisce un'interfaccia runtime unificata che astrae le differenze hardware attraverso plugin specifici per il dispositivo. Ciò significa che gli sviluppatori possono scrivere il codice una sola volta e distribuirlo su diversi target hardware Intel utilizzando un'API coerente. 

Ecco alcune delle caratteristiche principali che rendono OpenVINO un'ottima scelta per la distribuzione:

  • Convertitore di modelli: questo strumento converte e prepara i modelli da framework popolari come PyTorch, ONNX, TensorFlow, PaddlePaddle e altri, in modo che possano essere ottimizzati per un'inferenza efficiente sull'hardware Intel.
  • Esecuzione eterogenea: Non è necessario riscrivere il codice per i diversi hardware Intel. OpenVINO semplifica l'esecuzione dello stesso modello su qualsiasi hardware supportato, dalle CPU alle GPU.
  • Supporto della quantizzazione: Il toolkit supporta formati a precisione ridotta come FP16 (predefinito) e INT8, che aiutano a ridurre le dimensioni del modello e a velocizzare l'inferenza senza influire significativamente sulla precisione.
Figura 3. OpenVINO consente diverse opzioni di implementazione.

Esplorare l'integrazione di Ultralytics x OpenVINO

Ora che abbiamo esplorato cos'è OpenVINO e il suo significato, parliamo di come esportare i modelli YOLO11 nel formato OpenVINO ed eseguire un'inferenza efficiente su hardware Intel.

Passo 1: Installare il pacchetto Ultralytics Python

Per esportare un modello nel formato OpenVINO, è necessario installare il pacchetto Ultralytics Python. Questo pacchetto fornisce tutto il necessario per addestrare, valutare ed esportare i modelli YOLO, compreso YOLO11. 

È possibile installarlo eseguendo il comando"pip install ultralytics" nel terminale o nel prompt dei comandi. Se si lavora in un ambiente interattivo come Jupyter Notebook o Google Colab, basta aggiungere un punto esclamativo prima del comando. 

Inoltre, se si verificano problemi durante l'installazione o l'esportazione, la documentazione e le guide alla risoluzione dei problemi di Ultralytics sono ottime risorse per aiutarvi a rimettervi in carreggiata.

Fase 2: Esportazione del modello YOLO11 in formato OpenVINO

Una volta configurato il pacchetto Ultralytics, il passo successivo è caricare il modello YOLO11 e convertirlo in un formato compatibile con OpenVINO. 

Nell'esempio che segue, utilizziamo un modello YOLO11 pre-addestrato ("yolo11n.pt"). La funzionalità di esportazione viene utilizzata per convertirlo in formato OpenVINO. Dopo l'esecuzione di questo codice, il modello convertito verrà salvato in una nuova cartella denominata "yolo11n_openvino_model".

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="openvino")

Fase 3: esecuzione dell'inferenza con il modello esportato

Una volta esportato il modello YOLO11 in formato OpenVINO, è possibile eseguire inferenze in due modi: utilizzando il pacchetto Ultralytics Python o il Runtime OpenVINO nativo.

Utilizzo del pacchetto Ultralytics per Python

Il modello YOLO11 esportato può essere facilmente distribuito utilizzando il pacchetto Ultralytics Python, come mostrato nel frammento di codice sottostante. Questo metodo è ideale per una rapida sperimentazione e una distribuzione semplificata su hardware Intel. 

È anche possibile specificare quale dispositivo utilizzare per l'inferenza, ad esempio "intel:cpu", "intel:gpu" o "intel:npu", a seconda dell'hardware Intel disponibile sul sistema.

ov_model = YOLO("yolo11n_openvino_model/")

results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")

Dopo l'esecuzione del codice sopra descritto, l'immagine di output verrà salvata nella directory "runs/detect/predict".

Figura 4. Utilizzo del modello YOLO11 esportato per rilevare gli oggetti in un'immagine.

Utilizzo del runtime nativo di OpenVINO

Se siete alla ricerca di un modo personalizzabile per eseguire l'inferenza, soprattutto in ambienti di produzione, OpenVINO Runtime vi offre un maggiore controllo sulle modalità di esecuzione del modello. Supporta funzionalità avanzate come l'esecuzione asincrona (esecuzione di più richieste di inferenza in parallelo) e il bilanciamento del carico (distribuzione efficiente dei carichi di lavoro di inferenza sull'hardware Intel).

Per utilizzare il runtime nativo, sono necessari i file del modello esportato: un file .xml (che definisce l'architettura della rete) e un file .bin (che memorizza i pesi addestrati del modello). È inoltre possibile configurare parametri aggiuntivi, come le dimensioni dell'input o le fasi di preelaborazione, a seconda dell'applicazione.

Un tipico flusso di distribuzione comprende l'inizializzazione del core OpenVINO, il caricamento e la compilazione del modello per un dispositivo di destinazione, la preparazione dell'input e l'esecuzione dell'inferenza. Per esempi dettagliati e indicazioni passo-passo, consultare la documentazione ufficiale di Ultralytics OpenVINO.

Perché scegliere l'integrazione Ultralytics x OpenVINO?

Esplorando le integrazioni di Ultralytics, si noterà che il pacchetto Ultralytics Python supporta l'esportazione di modelli YOLO11 in diversi formati, come TorchScript, CoreML, TensorRT e ONNX. Quindi, perché scegliere l'integrazione con OpenVINO?

Ecco alcuni motivi per cui il formato di esportazione OpenVINO è ideale per la distribuzione di modelli su hardware Intel:

  • Incremento delle prestazioni: L'inferenza è fino a 3 volte più veloce sulle CPU Intel, con un'ulteriore accelerazione disponibile sulle GPU integrate e sulle NPU.
  • Non è necessaria alcuna riqualificazione: È possibile esportare i modelli YOLO11 esistenti direttamente nel formato OpenVINO senza modificarli o riqualificarli.
  • Costruito per la scala: Lo stesso modello esportato può essere distribuito su dispositivi edge a basso consumo e su infrastrutture cloud su larga scala, semplificando l'implementazione dell'IA scalabile.

È inoltre possibile valutare i benchmark delle prestazioni del modello YOLO11 su una serie di piattaforme Intel® su OpenVINO™ Model Hub. OpenVINO Model Hub è una risorsa che consente agli sviluppatori di valutare i modelli di intelligenza artificiale sull'hardware Intel e di scoprire i vantaggi prestazionali di OpenVINO sulle CPU Intel, sulle GPU integrate, sulle NPU e sulla grafica discreta. 

Figura 5. Hub del modello OpenVINO™: Benchmark delle prestazioni per il modello YOLO11 su una serie di piattaforme Intel®.

Applicazioni di YOLO11 e del formato di esportazione OpenVINO

Grazie all'integrazione con OpenVINO, la distribuzione dei modelli YOLO11 su hardware Intel in situazioni reali diventa molto più semplice. 

Un ottimo esempio è lo smart retail, dove YOLO11 può aiutare a rilevare gli scaffali vuoti in tempo reale, a tenere traccia dei prodotti in esaurimento e ad analizzare il modo in cui i clienti si muovono all'interno del negozio. In questo modo i retailer possono migliorare la gestione dell'inventario e ottimizzare la disposizione dei negozi per coinvolgere maggiormente i clienti.

Analogamente, nelle città intelligenti, YOLO11 può essere utilizzato per monitorare il traffico contando i veicoli, tracciando i pedoni e rilevando le violazioni dei semafori rossi in tempo reale. Queste informazioni possono supportare l'ottimizzazione dei flussi di traffico, migliorare la sicurezza stradale e aiutare i sistemi di controllo automatizzati.

Figura 6. Conteggio dei veicoli con YOLO11.

Un altro caso d'uso interessante è quello dell'ispezione industriale, dove YOLO11 può essere impiegato nelle linee di produzione per rilevare automaticamente difetti visivi come componenti mancanti, disallineamenti o danni superficiali. Questo aumenta l'efficienza, riduce i costi e favorisce una migliore qualità dei prodotti.

Fattori chiave da considerare quando si utilizza il toolkit OpenVINO

Durante la distribuzione dei modelli YOLO11 con OpenVINO, ecco alcune cose importanti da tenere a mente per ottenere i migliori risultati:

  • Verificare la compatibilità hardware: Assicurarsi che l'hardware Intel, sia esso una CPU, una GPU integrata o una NPU, sia supportato da OpenVINO in modo che il modello possa funzionare in modo efficiente.

  • Installare i driver giusti: Se si utilizzano GPU o NPU Intel, verificare che tutti i driver necessari siano installati correttamente e aggiornati.

  • Capire precisione compromessi: OpenVINO supporta le precisioni dei modelli FP32, FP16 e INT8. Ognuno di essi comporta un compromesso tra velocità e precisione, quindi è importante scegliere l'opzione giusta in base agli obiettivi di prestazione e all'hardware disponibile.

Punti di forza

L'esportazione di Ultralytics YOLO11 nel formato OpenVINO semplifica l'esecuzione di modelli Vision AI veloci ed efficienti su hardware Intel. È possibile distribuire su CPU, GPU e NPU senza dover riqualificare o modificare il codice. È un ottimo modo per aumentare le prestazioni mantenendo le cose semplici e scalabili.

Grazie al supporto integrato nel pacchetto Ultralytics Python, l'esportazione e l'esecuzione dell'inferenza con OpenVINO sono semplici. In pochi passaggi è possibile ottimizzare il modello ed eseguirlo su diverse piattaforme Intel. Sia che stiate lavorando alla vendita al dettaglio intelligente, al monitoraggio del traffico o all'ispezione industriale, questo flusso di lavoro vi aiuta a passare dallo sviluppo alla distribuzione con velocità e sicurezza.

Unitevi alla comunità YOLO e consultate il repository GitHub di Ultralytics per saperne di più sulle integrazioni di grande impatto supportate da Ultralytics. Inoltre, date un'occhiata alle opzioni di licenza di Ultralytics per iniziare subito a lavorare con la computer vision!

Registratevi al nostro prossimo webinar per vedere in azione l'integrazione Ultralytics × OpenVINO e visitate il sito web di OpenVINO per esplorare gli strumenti per l'ottimizzazione e l'implementazione dell'IA su scala.

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti