Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
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 ciò è renderle facili da implementare sull'hardware che le persone già possiedono. 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 a GPU di fascia alta, soprattutto in ambienti edge o su laptop di uso quotidiano. Ecco perché è così importante ottimizzare i modelli per funzionare in modo efficiente su hardware più ampiamente disponibile come unità di elaborazione centrale (CPU), GPU integrate e 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. Modelli di IA di visione come Ultralytics YOLO11 supportano compiti fondamentali come il rilevamento di oggetti e la segmentazione di istanze che alimentano applicazioni che vanno dall'analisi del commercio al dettaglio alla diagnostica medica.
Figura 1. Utilizzo di Ultralytics YOLO11 per detect e segment 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 formatoOpenVINO 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 serieYOLO 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 superioremAP) 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 vostre esigenze hardware.
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 per la quantizzazione: Il toolkit supporta formati a precisione ridotta come FP16 (predefinito) e INT8, che aiutano a ridurre le dimensioni del modello e ad accelerare 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 pacchettoUltralytics 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 Ultralytics sono ottime risorse per aiutarvi a rimettervi in track.
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")
Passaggio 3: Esegui l'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 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 esempiointelcpu",intelgpu" ointel:npu", a seconda dell'hardware Intel disponibile sul sistema.
Dopo l'esecuzione del codice sopra descritto, l'immagine di output verrà salvata nella directory "detect".
Figura 4. Utilizzo del modello YOLO11 esportato per detect 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, avrai bisogno dei file del modello esportato: un file .xml (che definisce l'architettura della rete) e un file .bin (che memorizza i pesi addestrati del modello). Puoi anche configurare parametri aggiuntivi come le dimensioni di input o i passaggi di preelaborazione a seconda della tua 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.
Creato per la scalabilità: Lo stesso modello esportato può essere implementato su dispositivi edge a bassa potenza e su infrastrutture cloud su larga scala, semplificando l'implementazione scalabile dell'IA.
È 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 detect scaffali vuoti in tempo reale, a track 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 detect 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 chiave
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 ilrepository GitHub Ultralytics per saperne di più sulle integrazioni di grande impatto supportate da Ultralytics. Inoltre, date un'occhiata alle opzioni di licenza diUltralytics 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.