Esportazione e ottimizzazione di Ultralytics YOLOv8 per l'inferenza su Intel OpenVINO

Nuvola Ladi

2 minuti di lettura

24 maggio 2024

Ottimizzate il vostro modello Ultralytics YOLOv8 per l'inferenza utilizzando OpenVINO. Seguite la nostra guida per convertire i modelli PyTorch in ONNX e ottimizzarli per le applicazioni in tempo reale.

In questo blogpost vedremo come esportare e ottimizzare il modello Ultralytics YOLOv8 pre-addestrato o addestrato su misura per l' inferenza utilizzando OpenVINO. Se utilizzate un sistema basato su Intel, sia esso una CPU o una GPU, questa guida vi mostrerà come velocizzare significativamente il vostro modello con il minimo sforzo.

Perché ottimizzare YOLOv8 con OpenVINO?

L'ottimizzazione del modello YOLOv8 con OpenVINO può fornire un aumento di velocità fino a 3 volte sulle attività di inferenza, in particolare se si utilizza una CPU Intel. Questo aumento di prestazioni può fare una grande differenza nelle applicazioni in tempo reale, dal rilevamento di oggetti alla segmentazione e ai sistemi di sicurezza.

Passaggi per esportare e ottimizzare il modello YOLOv8

Comprendere il processo

Per prima cosa, analizziamo il processo. Convertiremo un modello PyTorch in ONNX e poi lo ottimizzeremo con OpenVINO. Questo processo prevede pochi passaggi semplici e può essere applicato a vari modelli e formati, tra cui TensorFlow, PyTorch, Caffe e ONNX.

Esportazione del modello

Nella documentazione di Ultralytics, scopriamo che l'esportazione di un modello YOLOv8 comporta l'utilizzo del metodo di esportazione del framework Ultralytics. Questo metodo ci permette di convertire il nostro modello da PyTorch a ONNX e, infine, di ottimizzarlo per OpenVINO. Il risultato è un modello che viene eseguito molto più velocemente, sfruttando il potente hardware di Intel.

Installazione delle dipendenze

Prima di eseguire lo script di esportazione, è necessario assicurarsi 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 impostato l'ambiente, è possibile eseguire lo script di esportazione. Questo script convertirà il 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 modelli, garantendo le migliori prestazioni con il minimo sforzo.

__wf_reserved_inherit
Figura 1. Nicolai Nielsen illustra come eseguire lo script di esportazione.

Confronto delle prestazioni

Dopo l'esportazione, è essenziale confrontare le prestazioni del modello originale e di quello ottimizzato. L'analisi comparativa del tempo di inferenza di entrambi i modelli consente di vedere chiaramente i guadagni di prestazioni. In genere, il modello OpenVINO mostra una riduzione significativa del tempo di inferenza rispetto al modello PyTorch originale. Questo è particolarmente vero per i modelli più grandi, dove l'aumento delle prestazioni è più evidente.

Applicazione e vantaggi nel mondo reale

L'ottimizzazione dei modelli YOLOv8 con OpenVINO è particolarmente vantaggiosa per le applicazioni che richiedono un'elaborazione in tempo reale. Ecco alcuni esempi:

  • Sistemi di sicurezza: Il rilevamento di oggetti in tempo reale può allertare istantaneamente il personale di sicurezza, migliorando la sicurezza e la reattività.
  • Veicoli automatizzati: Una maggiore velocità di inferenza migliora 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 e consentendo interventi tempestivi.

Implementando queste ottimizzazioni, non solo migliorate le prestazioni, ma anche l'affidabilità e l'efficienza delle vostre applicazioni. Questo può portare a una migliore esperienza utente, a una maggiore produttività e a soluzioni più innovative.

Conclusione

L'esportazione e l'ottimizzazione di un modello YOLOv8 per OpenVINO è un modo potente per sfruttare l'hardware Intel per applicazioni AI più veloci ed efficienti. Con pochi semplici passaggi, è possibile trasformare le prestazioni del modello e applicarlo efficacemente a scenari reali.

Assicuratevi di consultare altri tutorial e guide di Ultralytics per continuare a migliorare i vostri progetti di intelligenza artificiale. Visitate il nostro repository GitHub e unitevi alla comunità di Ultralytics per ulteriori approfondimenti e aggiornamenti. Innoviamo insieme!

Ricordate che l'ottimizzazione dei modelli non è solo una questione di velocità: si tratta di sbloccare nuove possibilità e di garantire che le vostre soluzioni di IA siano robuste, efficienti e pronte per il futuro. 

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti