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.

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.
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!
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.
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.
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:
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.
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.
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")
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.
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".
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.
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:
È 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.
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.
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.
Durante la distribuzione dei modelli YOLO11 con OpenVINO, ecco alcune cose importanti da tenere a mente per ottenere i migliori risultati:
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.