Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Impostazioni dei cookie
Facendo clic su "Accetta tutti i cookie", l'utente accetta la memorizzazione dei cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzarne l'utilizzo e contribuire alle nostre iniziative di marketing. Per saperne di più
Scoprite come esportare e distribuire i modelli Ultralytics YOLO11 con l'integrazione MNN per un'inferenza rapida su piattaforme mobili, embedded e a basso consumo.
Oggi le innovazioni dell'IA si sono estese oltre gli ambienti server remoti. Le soluzioni di IA sono state integrate in dispositivi edge come sensori e smartphone. Grazie a questo cambiamento tecnologico, i dati possono essere gestiti direttamente dove vengono generati, consentendo risposte più rapide, una maggiore privacy e una minore dipendenza dalla connettività costante del cloud.
Di conseguenza, l'IA edge sta guadagnando terreno in molti settori. Si prevede che il mercato del software edge AI raggiungerà gli 8,88 miliardi di dollari entro il 2031, man mano che un numero sempre maggiore di sistemi si orienterà verso un'elaborazione più veloce e locale.
In particolare, la computer vision, una branca dell'IA che si concentra sulla comprensione di immagini e video, è in rapida adozione in ambito edge. Dal conteggio degli alimenti confezionati all'individuazione dei pedoni da parte dei veicoli, la computer vision supporta innumerevoli applicazioni pratiche in diversi settori.
Ciò è possibile grazie ai modelli di visione artificiale. Ad esempio, Ultralytics YOLO11 è un modello che supporta diverse attività di Vision AI come il rilevamento di oggetti, la segmentazione di istanze, il tracciamento di oggetti e la stima della posa. È stato progettato per essere veloce ed efficiente e funziona bene su dispositivi con risorse hardware limitate.
Figura 1. Rilevamento e tracciamento degli alimenti confezionati con YOLO11(fonte).
Oltre a essere adatto all'implementazione edge, grazie alle varie integrazioni supportate da Ultralytics, YOLO11 può essere esportato in vari formati adatti a diversi ambienti hardware.
Una delle opzioni più efficienti è MNN (Mobile Neural Network), un motore di inferenza leggero progettato per dispositivi a basse risorse. L'esportazione di YOLO11 in MNN ne consente l'esecuzione direttamente su telefoni cellulari, sistemi embedded e altre piattaforme periferiche in cui è essenziale un'elaborazione rapida sul dispositivo.
In questo articolo esploreremo il funzionamento dell'integrazione MNN, evidenzieremo i casi d'uso più comuni e spiegheremo come iniziare a eseguire inferenze utilizzando un modello YOLO11 esportato. Iniziamo!
Una panoramica di MNN: Un framework per l'apprendimento profondo
L'esecuzione di modelli di visione computerizzata su dispositivi di piccole dimensioni come telefoni cellulari, sensori industriali e sistemi portatili non è sempre semplice. Questi dispositivi hanno spesso una memoria limitata, processori più lenti e limiti di potenza molto stringenti.
La Mobile Neural Network, o MNN, è un motore di inferenza leggero e ad alte prestazioni sviluppato da Alibaba per far funzionare in modo efficiente i modelli di intelligenza artificiale su hardware a basse risorse, mantenendo le prestazioni in tempo reale. MNN supporta un'ampia gamma di piattaforme, tra cui Android, iOS e Linux, e funziona su una serie di tipi di hardware come le unità di elaborazione centrale (CPU) e le unità di elaborazione grafica (GPU).
L'integrazione MNN supportata da Ultralytics consente di esportare facilmente i modelli YOLO11 nel formato MNN. In parole povere, ciò significa che i modelli possono essere convertiti dal formato YOLO a MNN.
Una volta convertiti, possono essere distribuiti su dispositivi che supportano il framework MNN per un'inferenza efficiente sul dispositivo. Un vantaggio fondamentale dell'uso del formato MNN è che semplifica la distribuzione di YOLO11 in scenari in cui le dimensioni, la velocità e l'efficienza delle risorse sono fondamentali.
Caratteristiche principali del backend di inferenza MNN
Prima di scoprire come utilizzare l'integrazione MNN, diamo un'occhiata a ciò che rende il framework MNN un'ottima scelta per l'esecuzione di modelli AI su dispositivi reali. È costruito per gestire i vincoli unici degli ambienti edge, pur garantendo prestazioni veloci e affidabili.
È interessante notare che MNN viene utilizzato internamente ad Alibaba in oltre 30 applicazioni, tra cui Taobao, Tmall, Youku, DingTalk e Xianyu, in un'ampia gamma di scenari come video in diretta, contenuti di breve durata, ricerca di immagini e controlli di sicurezza sul dispositivo. Supporta l'implementazione su larga scala ed esegue milioni di inferenze al giorno in ambienti di produzione.
Ecco alcune delle caratteristiche principali del quadro MNN:
Selezione automatica del backend: MNN può scegliere automaticamente il backend di esecuzione più adatto, come CPU o GPU, in base all'hardware su cui viene eseguito.
Esecuzione multi-thread: Supporta il multi-threading, consentendo di sfruttare appieno i processori multicore per un'inferenza più veloce.
Supporta la quantizzazione del modello: Consente di ridurre significativamente le dimensioni del modello utilizzando la quantizzazione FP16 o INT8, contribuendo a migliorare la velocità di inferenza e utilizzando meno memoria.
Leggero e veloce: MNN ha un ingombro molto ridotto, con la libreria principale di circa 400 KB su Android e di circa 5 MB su iOS, il che lo rende ideale per i dispositivi mobili e incorporati.
Capire come funziona l'integrazione di MNN
Vediamo quindi come esportare i modelli YOLO11 nel formato MNN.
Il primo passo consiste nell'installare il pacchetto Ultralytics Python, che fornisce tutto il necessario per esportare i modelli YOLO11 nel formato MNN. È possibile farlo eseguendo "pip install ultralytics" sul terminale o utilizzando il prompt dei comandi. Se si utilizza un Jupyter Notebook o Google Colab, aggiungere un punto esclamativo prima del comando.
Se si riscontrano problemi durante l'installazione, consultare la guida Problemi comuni per i suggerimenti sulla risoluzione dei problemi.
Una volta configurato l'ambiente, è possibile caricare un modello YOLO11 pre-addestrato, come "yolo11n.pt", ed esportarlo nel formato MNN, come mostrato nel frammento di codice sottostante. Se si è addestrato un modello YOLO11 personalizzato, è possibile esportarlo semplicemente sostituendo il nome del file con il percorso del modello.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")
Dopo aver convertito il modello in MNN, è possibile utilizzarlo su diverse piattaforme mobili ed embedded, a seconda delle esigenze dell'applicazione.
Ad esempio, si supponga di voler testare il modello esportato su un video del traffico. In questo caso, è possibile caricare il modello YOLO11 in formato MNN per rilevare oggetti come veicoli, pedoni e segnali stradali direttamente sul dispositivo, come mostrato nell'esempio seguente.
Al termine dell'inferenza, il video di output con gli oggetti rilevati viene salvato automaticamente nella cartella 'runs/detect/predict'. Inoltre, se si desidera eseguire l'inferenza utilizzando direttamente il pacchetto MNN Python, è possibile consultare la documentazione ufficiale di Ultralytics per maggiori dettagli ed esempi.
Figura 3. Analisi del traffico con un modello YOLO11 esportato in formato MNN. Immagine dell'autore.
Casi d'uso dell'implementazione di modelli di intelligenza artificiale sull'edge abilitati da YOLO11 e MNN
L'implementazione di YOLO11 con MNN consente di eseguire operazioni di computer vision veloci ed efficienti, come il rilevamento di oggetti, in ambienti in cui l'elaborazione basata su cloud non è pratica o possibile. Vediamo come questa integrazione può essere particolarmente utile in scenari reali.
Mobile edge AI per l'identificazione delle malattie delle piante
Le applicazioni per l'identificazione delle malattie delle piante che utilizzano la classificazione delle immagini stanno guadagnando popolarità tra giardinieri, ricercatori e appassionati di natura. Con una semplice foto, gli utenti possono identificare rapidamente i primi segni di malattia, come macchie o scolorimento delle foglie. Poiché queste app sono spesso utilizzate in aree esterne dove l'accesso a Internet può essere limitato o non disponibile, affidarsi all'elaborazione cloud può essere inaffidabile.
Dopo l'addestramento, un modello YOLO11 può essere esportato nel formato MNN ed eseguito direttamente sui dispositivi mobili. Il modello può quindi classificare le specie vegetali e rilevare i sintomi visibili delle malattie a livello locale, senza inviare dati a un server.
Figura 4. Un esempio di utilizzo di YOLO11 per rilevare segni di ruggine (una malattia delle piante) su una foglia(Fonte).
Inferenze efficienti sul dispositivo nella produzione
La tracciabilità accurata dei colli è essenziale nelle linee di produzione più affollate degli stabilimenti produttivi. YOLO11 può essere utilizzato per tracciare e contare ogni articolo mentre passa attraverso i punti di controllo chiave, aggiornando i conteggi in tempo reale e segnalando eventuali discrepanze. Ciò contribuisce a ridurre le spedizioni mancanti o non contabilizzate e favorisce operazioni più fluide e affidabili.
Figura 5. Tracciamento e conteggio dei pacchi con YOLO11(fonte).
L'integrazione di MNN può essere particolarmente efficace in questo contesto. Una volta esportato in formato MNN, il modello YOLO11 può essere eseguito direttamente su dispositivi compatti e a basso consumo installati lungo il trasportatore.
Poiché tutta l'elaborazione avviene a livello locale, il sistema può fornire un feedback istantaneo e non richiede una connessione a Internet. Ciò garantisce prestazioni rapide e affidabili in fabbrica, consentendo alla produzione di muoversi in modo efficiente e mantenendo un'elevata precisione e controllo.
Vantaggi dell'esportazione di YOLO11 nel formato del modello MNN
Ecco alcuni dei principali vantaggi dell'integrazione MNN fornita da Ultralytics:
Tempi di risposta più rapidi: Poiché l'inferenza viene eseguita sul dispositivo, le previsioni avvengono in tempo reale con una latenza minima.
Miglioramento privacy dei dati: I dati rimangono sul dispositivo, riducendo la necessità di inviare immagini o video sensibili al cloud.
Open-source e mantenuto attivamente: Sostenuto da Alibaba e supportato da una comunità attiva, MNN è affidabile e regolarmente aggiornato con miglioramenti delle prestazioni.
Fattori da considerare quando si utilizza lo schema MNN
Prima di scegliere MNN come framework di distribuzione, è importante valutare quanto sia adatto ai requisiti del progetto, agli obiettivi di distribuzione e alle limitazioni tecniche. Ecco alcuni fattori chiave da considerare:
Compatibilità continua: Gli aggiornamenti del framework o le modifiche alle piattaforme di destinazione potrebbero richiedere nuovi test o aggiustamenti per mantenere il funzionamento regolare.
Meno strumenti di debug: Rispetto ai framework più grandi, MNN ha strumenti più limitati per il debug e l'ispezione del comportamento del modello, il che può rendere più difficile la risoluzione dei problemi.
Le prestazioni dipendono dall'hardware: La velocità e l'efficienza del modello variano a seconda del dispositivo. Testate l'hardware di destinazione per essere certi che soddisfi i vostri obiettivi di prestazioni.
Punti di forza
Il supporto di Ultralytics per l'integrazione con MNN semplifica l'esportazione dei modelli YOLO11 per l'uso su dispositivi mobili ed embedded. È un'opzione pratica per le applicazioni che richiedono un rilevamento rapido e affidabile senza dipendere dall'accesso al cloud o dalla connettività costante.
Questa configurazione aiuta a semplificare l'implementazione, mantenendo le prestazioni e la richiesta di risorse. Che si tratti di sistemi domestici intelligenti, strumenti da campo o dispositivi industriali compatti, l'esportazione di YOLO11 in MNN offre un modo flessibile ed efficiente per eseguire attività di computer vision direttamente sui dispositivi edge.