YOLO Vision 2026:
Integrazioni

Utilizzo dell'integrazione ONNX per esportare i modelli Ultralytics YOLO

Scopri come esportare i modelli Ultralytics YOLO, come Ultralytics YOLO11, utilizzando l'integrazione ONNX per il deployment multipiattaforma su vari hardware.

ABAbirami Vina4 min read
ONNX permette a un modello addestrato in un framework di essere eseguito in un altro

Quando le soluzioni di IA hanno iniziato a catturare l'attenzione, la maggior parte dei modelli veniva distribuita su server potenti in ambienti controllati. Tuttavia, con il progredire della tecnologia, la distribuzione si è estesa ben oltre il data center.

Oggi, i modelli AI vengono eseguiti su tutto, dai server cloud e desktop agli smartphone e ai dispositivi edge. Questo cambiamento supporta un'elaborazione più rapida, funzionalità offline e sistemi più intelligenti che operano più vicino al luogo in cui vengono generati i dati.

Un ambito in cui questo è particolarmente evidente è la computer vision, una branca dell'IA che consente alle macchine di interpretare dati visivi. Viene impiegata per alimentare applicazioni come il riconoscimento facciale, la guida autonoma e l'analisi video in tempo reale. Con la crescita di questi casi d'uso, aumenta anche la necessità di modelli in grado di funzionare senza problemi su hardware e piattaforme diverse.

Ma distribuire modelli di computer vision su una serie di target di implementazione non è sempre semplice. I dispositivi differiscono in termini di hardware, sistemi operativi e framework supportati, il che rende essenziali la flessibilità e la compatibilità.

Ecco perché avere la possibilità di esportare modelli di computer vision come Ultralytics YOLO11 in formati differenti è fondamentale. Ad esempio, l'integrazione ONNX (Open Neural Network Exchange) supportata da Ultralytics offre un modo pratico per colmare il divario tra addestramento e distribuzione. ONNX è un formato aperto che rende i modelli indipendenti dal framework e pronti per la distribuzione su tutte le piattaforme.

ONNX che consente a un modello addestrato in un framework di essere eseguito in un altro

Fig 1. ONNX ti aiuta a prendere un modello addestrato in un framework e ad eseguirlo facilmente in un altro.

In questo articolo esamineremo più da vicino l'integrazione ONNX supportata da Ultralytics ed esploreremo come esportare il tuo modello YOLO11 per una distribuzione flessibile e multi-piattaforma.

Cosa sono ONNX e ONNX Runtime?#

L'Open Neural Network Exchange è un progetto open source che definisce un formato standard per i modelli di machine learning. Originariamente sviluppato da Microsoft e Facebook, permette agli sviluppatori di addestrare un modello in un framework, come PyTorch, ed eseguirlo in un altro, come TensorFlow. Ciò rende lo sviluppo di AI più flessibile, collaborativo e accessibile, specialmente in campi come la computer vision.

ONNX fornisce un insieme comune di operatori e un formato di file unificato, facilitando lo spostamento dei modelli tra diversi strumenti, framework, runtime e compilatori. Normalmente, un modello addestrato in un framework non è facilmente compatibile con un altro, ma con ONNX puoi esportare il tuo modello una sola volta e distribuirlo quasi ovunque: su CPU (Central Processing Units), GPU (Graphics Processing Units), dispositivi mobili o hardware edge.

Inoltre, ONNX Runtime è un motore di inferenza ad alte prestazioni sviluppato specificamente per eseguire modelli nel formato ONNX. È progettato per far eseguire i modelli ONNX in modo più rapido ed efficiente su un'ampia gamma di piattaforme, inclusi server, dispositivi mobili e hardware edge. ONNX Runtime è compatibile con framework popolari come PyTorch, TensorFlow, TensorFlow Lite e scikit-learn, rendendolo facile da integrare in diversi flussi di lavoro e da distribuire ovunque sia necessario.

ONNX e ONNX Runtime che consentono la distribuzione di modelli multipiattaforma

Fig 2. ONNX e ONNX Runtime consentono una distribuzione flessibile dei modelli multipiattaforma.

Caratteristiche principali di ONNX#

Prima di discutere su come esportare Ultralytics YOLO11 in formato ONNX, diamo un'occhiata ad alcune caratteristiche chiave del formato di modello ONNX.

Che tu stia passando da uno strumento all'altro, effettuando la distribuzione su diversi dispositivi o aggiornando i sistemi, ONNX aiuta a mantenere tutto in funzione senza problemi. Ecco cosa rende unico il formato modello ONNX:

  • Un formato standard: ONNX utilizza un modo comune per descrivere come vengono costruiti i modelli, come i layer e le operazioni (pensa a essi come blocchi di costruzione). Quando un modello viene convertito in ONNX, segue questo standard in modo che qualsiasi sistema che supporta ONNX possa comprenderlo ed eseguirlo.

  • Retrocompatibilità: Anche mentre ONNX continua a migliorare, assicura che i modelli precedenti funzionino ancora con le versioni più recenti. Ciò significa che non devi riaddestrare o ricostruire i tuoi modelli ogni volta che ONNX riceve un aggiornamento.

  • Progettazione del modello basata su grafi: I modelli ONNX sono strutturati come grafi di computazione, in cui ogni nodo rappresenta un'operazione (come un layer o una funzione matematica) e i bordi indicano il flusso di dati. Questa progettazione basata su grafi facilita l'integrazione con vari sistemi che utilizzano strutture di grafi di computazione simili.

  • Strumenti a misura di sviluppatore: Viene fornito con un'ampia gamma di strumenti che ti aiutano a convertire, convalidare e ottimizzare i tuoi modelli. Questi strumenti semplificano il processo di spostamento dei modelli tra diversi framework e possono accelerare la distribuzione, specialmente per le applicazioni di computer vision.

Una panoramica dell'integrazione ONNX#

Esportare i modelli Ultralytics YOLO come Ultralytics YOLO11 in formato ONNX è semplice e può essere fatto in pochi passaggi.

Per iniziare, installa il pacchetto Python di Ultralytics utilizzando un gestore di pacchetti come ‘pip’. Puoi farlo eseguendo il comando “pip install ultralytics” nel tuo prompt dei comandi o nel terminale.

Con il pacchetto Ultralytics puoi facilmente addestrare, testare, mettere a punto, esportare e distribuire modelli per varie attività di computer vision, rendendo l'intero processo più rapido ed efficiente. Durante l'installazione, se riscontri difficoltà, puoi fare riferimento alla guida sui problemi comuni per soluzioni e suggerimenti.

Una volta installato il pacchetto Ultralytics, puoi caricare ed esportare il modello YOLO11 nel formato ONNX utilizzando il codice seguente. Questo esempio carica un modello YOLO11 pre-addestrato (yolo11n.pt) e lo esporta come file ONNX (yolo11n.onnx), rendendolo pronto per la distribuzione su diverse piattaforme e dispositivi.

Dopo aver convertito il tuo modello nel formato ONNX, puoi distribuirlo su una varietà di piattaforme.

L'esempio seguente mostra come caricare il modello YOLO11 esportato (yolo11n.onnx) ed eseguire un'inferenza con esso. L'inferenza significa semplicemente utilizzare il modello addestrato per fare previsioni su nuovi dati. In questo caso, utilizzeremo l'URL di un'immagine di un autobus per testare il modello.

Quando esegui questo codice, l'immagine di output risultante verrà salvata nella cartella runs/detect/predict.

Esecuzione di un'inferenza utilizzando il modello esportato Ultralytics YOLO11 su un'immagine

Fig 3. Esecuzione di un'inferenza utilizzando il modello esportato Ultralytics YOLO11 su un'immagine.

Quando dovresti scegliere l'integrazione ONNX?#

Il pacchetto Python di Ultralytics supporta l'esportazione di modelli in diversi formati, tra cui TorchScript, CoreML, TensorRT e ONNX. Quindi, perché scegliere ONNX?

Ciò che distingue ONNX è il fatto di essere un formato agnostico rispetto al framework. Mentre molti altri formati di esportazione sono legati a strumenti o ambienti specifici, ONNX utilizza un formato standardizzato e un set condiviso di operatori. Questo lo rende altamente portabile, adatto all'hardware e ideale per la distribuzione multipiattaforma, indipendentemente dal fatto che tu stia lavorando con server cloud, app mobili o dispositivi edge.

Ecco alcuni motivi per cui l'integrazione ONNX potrebbe essere la scelta ideale per i tuoi progetti con Ultralytics YOLO11:

  • Distribuzione portabile: Una volta esportato in ONNX, il tuo modello Ultralytics YOLO11 può essere distribuito su varie piattaforme senza modifiche al codice o riaddestramento.

  • Supporto a livello industriale: ONNX è supportato dalle principali aziende e framework di AI, rendendolo un formato affidabile e ampiamente accettato. Assicura una compatibilità a lungo termine, proprio come funzionano i PDF su diversi dispositivi.

  • Sviluppo a prova di futuro: Utilizzare ONNX aiuta a proteggere i tuoi investimenti nei modelli. Man mano che gli strumenti si evolvono, ONNX mantiene i tuoi modelli pertinenti e utilizzabili, anche in ambienti nuovi o diversi.

  • Nessun vendor lock-in: Alcuni strumenti ti vincolano all'utilizzo esclusivo del loro sistema, il che può limitare ciò che il tuo modello può fare. ONNX evita questo problema lasciandoti scegliere la piattaforma che meglio si adatta alle tue esigenze, senza rimanere bloccato con una singola configurazione.

Applicazioni di Ultralytics YOLO11 e del formato di modello ONNX#

Successivamente, esploriamo alcune applicazioni reali in cui Ultralytics YOLO11 può essere distribuito con l'aiuto dell'integrazione ONNX.

Tracciamento dell'inventario nei magazzini tramite Ultralytics YOLO11#

Nei magazzini molto frequentati, è difficile tenere d'occhio ogni prodotto e pacco in ogni momento. I sistemi di computer vision possono aiutare i lavoratori a trovare prodotti sugli scaffali e ottenere informazioni come il numero di prodotti, il tipo, ecc. Tali sistemi possono aiutare le aziende a gestire automaticamente il loro vasto inventario e far risparmiare molto tempo ai magazzinieri.

In particolare, nei magazzini intelligenti, i modelli Ultralytics YOLO11 esportati in ONNX possono essere utilizzati per identificare e contare gli articoli in tempo reale utilizzando telecamere e dispositivi edge. Il modello esportato può aiutare a scansionare scaffali o pallet per rilevare i livelli delle scorte, gli articoli mancanti o i punti vuoti. Poiché l'esportazione in ONNX rende il modello leggero ed efficiente, può essere eseguito direttamente su piccoli dispositivi edge, come telecamere intelligenti, eliminando la necessità di server costosi o di un accesso costante al cloud.

Un esempio di utilizzo di Ultralytics YOLO11 per rilevare e contare i pacchi

Fig 4. Un esempio di utilizzo di YOLO11 per rilevare e conteggiare i pacchi.

Gestione dei rifiuti ospedalieri con Ultralytics YOLO11#

Gli ospedali di tutto il mondo producono enormi quantità di rifiuti ogni giorno, dai guanti e siringhe usati alle apparecchiature impiegate durante gli interventi chirurgici (come strumenti chirurgici monouso o contaminati come forbici e bisturi). In effetti, la ricerca mostra che gli ospedali producono circa 5 milioni di tonnellate di rifiuti ogni anno, pari a 29 libbre di rifiuti per letto al giorno.

Smistare correttamente tali rifiuti è essenziale per l'igiene, la sicurezza e il rispetto delle normative. Con i modelli Ultralytics YOLO11 esportati in formato ONNX, gli ospedali possono automatizzare e monitorare lo smaltimento dei rifiuti in tempo reale.

Ad esempio, le telecamere posizionate vicino ai bidoni dei rifiuti in aree come sale operatorie o corridoi possono monitorare gli articoli mentre vengono scartati. Un modello personalizzato di Ultralytics YOLO11, addestrato a riconoscere diversi tipi di rifiuti medicali, può analizzare il filmato e identificare ciò che viene buttato via. Se un articolo finisce nel bidone sbagliato, come una siringa usata nella spazzatura normale, il sistema può essere configurato per avvisare immediatamente il personale con una luce o un suono, aiutando a prevenire la contaminazione e garantendo la conformità.

Utilizzo di Ultralytics YOLO11 per rilevare strumenti medicali

Fig 5. Utilizzo di Ultralytics YOLO11 per rilevare strumenti medicali.

Monitoraggio delle colture abilitato da Ultralytics YOLO11#

Conoscere il momento giusto per raccogliere le colture può avere un grande impatto sia sulla qualità dei prodotti che sulla produttività complessiva di un'azienda agricola. Tradizionalmente, gli agricoltori si affidano all'esperienza e alle ispezioni manuali, ma con i recenti progressi tecnologici, la situazione sta iniziando a cambiare.

Ora, grazie a innovazioni di computer vision come YOLO11, esportato in formato ONNX, gli agricoltori possono portare automazione e precisione nei campi. Utilizzando droni o telecamere montate su trattori o pali, gli agricoltori possono catturare immagini delle loro colture (come pomodori, mele o grano). YOLO11 può quindi essere utilizzato per rilevare indicatori chiave come colore, dimensioni e la distribuzione delle colture. Sulla base di queste informazioni, gli agricoltori possono determinare se le colture sono pronte per la raccolta, se stanno ancora maturando o se hanno già superato il momento ideale.

Ultralytics YOLO11 che rileva le colture in filmati aerei di droni

Fig 6. YOLO11 può essere utilizzato per rilevare le colture in riprese aeree con drone.

Limitazioni di ONNX da considerare#

Sebbene ONNX offra numerosi vantaggi, come la portabilità, la compatibilità multipiattaforma e l'interoperabilità tra framework, ci sono alcune limitazioni da tenere a mente:

  • Dimensioni del modello: la conversione dei modelli in formato ONNX può talvolta comportare dimensioni di file maggiori rispetto ai formati originali. Tecniche come quantizzazione e potatura possono aiutare a mitigare questo problema riducendo le dimensioni del modello senza comprometterne significativamente le prestazioni.

  • Compatibilità del runtime: Sebbene ONNX Runtime sia progettato per la compatibilità multipiattaforma, le prestazioni e il supporto possono variare a seconda dell'hardware e dei sistemi operativi.

  • Sfide di debug: Il debug dei modelli ONNX può essere più complesso rispetto ai framework nativi come PyTorch o TensorFlow. I messaggi di errore potrebbero essere meno descrittivi, rendendo più difficile individuare i problemi. Tuttavia, strumenti come Netron per la visualizzazione dei modelli e le capacità di logging di ONNX Runtime possono essere d'aiuto nella risoluzione dei problemi.

Punti chiave#

Esportare Ultralytics YOLO11 in ONNX rende facile prendere un modello di computer vision addestrato e distribuirlo quasi ovunque, che sia su un portatile, un dispositivo mobile o persino una fotocamera intelligente compatta. Con l'integrazione ONNX, non sei legato a un singolo framework o piattaforma, il che ti dà la flessibilità di eseguire il tuo modello nell'ambiente che meglio si adatta alla tua applicazione.

Ciò rende la transizione dall'addestramento alla distribuzione nel mondo reale più rapida ed efficiente. Che tu stia monitorando l'inventario in un magazzino o garantendo che i rifiuti ospedalieri vengano smaltiti correttamente, questa configurazione aiuta i sistemi a funzionare in modo più fluido, riduce gli errori e fa risparmiare tempo prezioso.

Vuoi saperne di più su computer vision e IA? Esplora il nostro repository GitHub, connettiti con la nostra community e dai un'occhiata alle nostre opzioni di licenza per dare il via al tuo progetto di computer vision. Se stai esplorando innovazioni come l'IA nella produzione e la computer vision nell'industria automobilistica, visita le nostre pagine delle soluzioni per scoprire di più.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning