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
Ottimizza il tuo modello Ultralytics YOLOv8 per l'inferenza utilizzando OpenVINO. Segui la nostra guida per convertire i modelli PyTorch in ONNX e ottimizzarli per applicazioni in tempo reale.
In questo articolo del blog, esamineremo come è possibile esportare e ottimizzare il modello Ultralytics YOLOv8 pre-addestrato o addestrato personalizzato per l'inferenza utilizzando OpenVINO. Se stai utilizzando un sistema basato su Intel, che si tratti di una CPU o di una GPU, questa guida ti mostrerà come accelerare in modo significativo il tuo modello con il minimo sforzo.
Perché ottimizzare YOLOv8 con OpenVINO?
L'ottimizzazione del tuo modello YOLOv8 con OpenVINO può fornire un aumento di velocità fino a 3 volte nelle attività di inferenza, in particolare se utilizzi una CPU Intel. Questo aumento delle prestazioni può fare un'enorme differenza nelle applicazioni in tempo reale, dal rilevamento di oggetti alla segmentazione e ai sistemi di sicurezza.
Passaggi per esportare e ottimizzare il tuo modello YOLOv8
Comprendere il processo
Innanzitutto, analizziamo il processo. Convertiremo un modello PyTorch in ONNX e lo ottimizzeremo utilizzando OpenVINO. Questo processo prevede alcuni passaggi semplici e può essere applicato a vari modelli e formati, tra cui TensorFlow, PyTorch, Caffe e ONNX.
Esportazione del modello
Consultando la documentazione di Ultralytics, scopriamo che l'esportazione di un modello YOLOv8 prevede l'utilizzo del metodo export del framework Ultralytics. Questo metodo ci consente di convertire il nostro modello da PyTorch a ONNX e, infine, di ottimizzarlo per OpenVINO. Il risultato è un modello che viene eseguito in modo significativamente più veloce, sfruttando il potente hardware di Intel.
Installazione delle dipendenze
Prima di eseguire lo script di esportazione, dovrai assicurarti che tutte le dipendenze necessarie siano installate. Queste includono la libreria Ultralytics, ONNX e OpenVINO. L'installazione di questi pacchetti è un processo semplice che può essere eseguito tramite pip, il programma di installazione dei pacchetti Python.
Esecuzione dello script di esportazione
Una volta configurato il tuo ambiente, puoi eseguire il tuo script di esportazione. Questo script convertirà il tuo modello PyTorch in ONNX e poi in OpenVINO. Il processo è semplice e prevede la chiamata di una singola funzione per gestire l'esportazione. Il framework Ultralytics semplifica la conversione e l'ottimizzazione dei tuoi modelli, assicurandoti di ottenere le migliori prestazioni con il minimo sforzo.
Fig. 1. Nicolai Nielsen che illustra come eseguire lo script di esportazione.
Confronto delle prestazioni
Dopo l'esportazione, è essenziale confrontare le prestazioni dei modelli originali e ottimizzati. Confrontando il tempo di inferenza di entrambi i modelli, è possibile vedere chiaramente i miglioramenti delle prestazioni. In genere, il modello OpenVINO mostrerà una significativa riduzione del tempo di inferenza rispetto al modello PyTorch originale. Ciò è particolarmente vero per i modelli più grandi, dove il miglioramento delle prestazioni è più evidente.
Applicazione e vantaggi nel mondo reale
L'ottimizzazione dei modelli YOLOv8 con OpenVINO è particolarmente vantaggiosa per le applicazioni che richiedono l'elaborazione in tempo reale. Ecco alcuni esempi:
Sistemi di sicurezza: Il rilevamento di oggetti in tempo reale può avvisare immediatamente il personale di sicurezza, migliorando la sicurezza e la reattività.
Veicoli automatizzati: Velocità di inferenza più elevate migliorano la reattività dei sistemi di guida autonoma, rendendoli più sicuri e affidabili.
Sanità: L'elaborazione rapida delle immagini per gli strumenti diagnostici può salvare vite umane fornendo risultati più rapidi, consentendo interventi tempestivi.
Implementando queste ottimizzazioni, non solo si migliora la performance, ma si aumenta anche l'affidabilità e l'efficienza delle applicazioni. Ciò può portare a migliori esperienze utente, maggiore produttività e soluzioni più innovative.
Conclusione
Esportare e ottimizzare un modello YOLOv8 per OpenVINO è un modo efficace per sfruttare l'hardware Intel per applicazioni di IA più veloci ed efficienti. Con pochi semplici passaggi, puoi trasformare le prestazioni del tuo modello e applicarlo efficacemente a scenari reali.
Assicurati di consultare altri tutorial e guide di Ultralytics per continuare a migliorare i tuoi progetti di IA. Visita il nostro repository GitHub e unisciti alla community di Ultralytics per ulteriori approfondimenti e aggiornamenti. Innoviamo insieme!
Ricorda, ottimizzare i tuoi modelli non significa solo velocità: significa sbloccare nuove possibilità e garantire che le tue soluzioni di IA siano robuste, efficienti e pronte per il futuro.