Distribuisci Ultralytics YOLO11 con l'integrazione MNN in modo semplice
Scopri come esportare e distribuire i modelli Ultralytics YOLO11 con l'integrazione MNN per eseguire inferenze rapide su piattaforme mobili, embedded e a basso consumo.
Abirami Vina9 min di lettura
Oggi le innovazioni nell'AI si sono estese oltre gli ambienti dei server remoti. Le soluzioni di AI vengono integrate in dispositivi edge come sensori e smartphone. Grazie a questo cambiamento tecnologico, ora i dati possono essere elaborati direttamente nel luogo in cui vengono generati, consentendo risposte più rapide, una maggiore privacy e una minore dipendenza da una connessione costante al cloud.
Di conseguenza, l'AI edge si sta diffondendo in molti settori. Si prevede che il mercato del software per l'AI edge raggiungerà gli 8,88 miliardi di dollari entro il 2031, man mano che un numero crescente di sistemi passerà a un'elaborazione più rapida e locale.
In particolare, la computer vision, un ramo dell'AI che si concentra sulla comprensione di immagini e video, viene adottata rapidamente nell'edge computing. Dal conteggio degli alimenti durante il confezionamento al rilevamento dei pedoni da parte dei veicoli, la computer vision supporta innumerevoli applicazioni pratiche in diversi settori.
Tutto questo è possibile grazie ai modelli di visione artificiale. Ad esempio, Ultralytics YOLO11 è un modello che supporta diverse attività di AI per la visione, come il rilevamento di oggetti, la segmentazione di istanze, la stima della posa e il tracciamento degli oggetti. È progettato per essere veloce ed efficiente e funziona bene sui dispositivi con risorse hardware limitate.

Fig. 1. Rilevamento e tracciamento degli alimenti durante il confezionamento con Ultralytics YOLO11.
Oltre a essere adatto alla distribuzione su dispositivi edge, grazie alle varie integrazioni supportate da Ultralytics, YOLO11 può essere esportato in diversi formati adatti a differenti ambienti hardware.
Una delle opzioni più efficienti è MNN (Mobile Neural Network), un motore di inferenza leggero progettato per dispositivi con risorse limitate. Esportare Ultralytics YOLO11 in MNN consente di eseguirlo direttamente su telefoni cellulari, sistemi embedded e altre piattaforme edge in cui l'elaborazione rapida sul dispositivo è essenziale.
In questo articolo vedremo come funziona l'integrazione MNN, illustreremo i casi d'uso più comuni e ti guideremo nei primi passi per eseguire inferenze con un modello Ultralytics YOLO11 esportato.
Panoramica di MNN: un framework di deep learning#
Eseguire modelli di computer vision su dispositivi più piccoli, come telefoni cellulari, sensori industriali e sistemi portatili, non è sempre semplice. Questi dispositivi hanno spesso poca memoria, processori più lenti e limiti rigorosi di consumo energetico.
Mobile Neural Network, o MNN, è un motore di inferenza leggero e ad alte prestazioni sviluppato da Alibaba per eseguire in modo efficiente modelli di AI su hardware con risorse limitate, mantenendo prestazioni in tempo reale. MNN supporta un'ampia gamma di piattaforme, tra cui Android, iOS e Linux, e funziona su diversi tipi di hardware, come le unità centrali di elaborazione (CPUs) e le unità di elaborazione grafica (GPUs).

Fig. 2. Panoramica del framework MNN (fonte).
L'integrazione MNN supportata da Ultralytics permette di esportare facilmente i modelli YOLO11 nel formato MNN. In altre parole, i modelli possono essere convertiti dal formato PyTorch nativo a MNN.
Una volta convertiti, possono essere distribuiti sui dispositivi che supportano il framework MNN per un'inferenza efficiente direttamente sul dispositivo. Un vantaggio fondamentale del formato MNN è che semplifica la distribuzione di Ultralytics YOLO11 negli scenari in cui dimensioni, velocità ed efficienza nell'uso delle risorse sono essenziali.
Funzionalità principali del backend di inferenza MNN#
Prima di vedere come usare l'integrazione MNN, scopriamo perché il framework MNN è un'ottima scelta per eseguire modelli di AI su dispositivi reali. È progettato per gestire i vincoli specifici degli ambienti edge garantendo prestazioni rapide e affidabili.
È interessante notare che Alibaba usa MNN internamente in oltre 30 applicazioni, tra cui Taobao, Tmall, Youku, DingTalk e Xianyu, per un'ampia gamma di scenari come video in diretta, contenuti brevi, ricerca di immagini e controlli di sicurezza sul dispositivo. Supporta distribuzioni su larga scala ed esegue milioni di inferenze al giorno negli ambienti di produzione.
Ecco alcune delle funzionalità principali del framework MNN:
- Selezione automatica del backend: MNN può scegliere automaticamente il backend di esecuzione più adatto, ad esempio CPU o GPU, in base all'hardware su cui viene eseguito.
- Esecuzione multi-thread: Supporta il multithreading, consentendo di sfruttare appieno i processori multicore per un'inferenza più rapida.
- Supporto della quantizzazione dei modelli: consente di ridurre notevolmente le dimensioni del modello usando la quantizzazione FP16 o INT8, migliorando la velocità di inferenza e riducendo l'uso della memoria.
- Leggero e veloce: MNN ha un ingombro molto ridotto: la libreria principale occupa circa 400 KB su Android e circa 5 MB su iOS, rendendolo ideale per i dispositivi mobili e integrati.
Come funziona l'integrazione MNN#
Vediamo ora come esportare i modelli Ultralytics YOLO11 nel formato MNN.
Il primo passaggio consiste nell'installare il pacchetto Python Ultralytics, che fornisce tutto il necessario per esportare i modelli YOLO11 nel formato MNN. Puoi farlo eseguendo pip install ultralytics nel terminale o nel prompt dei comandi. Se usi Jupyter Notebook o Google Colab, aggiungi un punto esclamativo prima del comando.
Se riscontri problemi durante l'installazione, consulta la guida ai problemi comuni per suggerimenti sulla risoluzione dei problemi.
Una volta configurato l'ambiente, puoi caricare un modello YOLO11 preaddestrato, ad esempio "yolo11n.pt", ed esportarlo nel formato MNN come mostrato nel frammento di codice qui sotto. Se hai addestrato un tuo modello YOLO11 personalizzato, puoi 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, puoi usarlo su diverse piattaforme mobili ed embedded, a seconda delle esigenze della tua applicazione.
Ad esempio, supponiamo che tu voglia testare il modello esportato su un video del traffico. In tal caso, puoi caricare il modello Ultralytics YOLO11 in formato MNN per rilevare direttamente sul dispositivo oggetti come veicoli, pedoni e segnali stradali, come mostrato nell'esempio seguente.
mnn_model = YOLO("yolo11n.mnn")
results = mnn_model("https://videos.pexels.com/video-files/27783817/12223745_1920_1080_24fps.mp4", save=True)Al termine dell'inferenza, il video di output con gli oggetti rilevati viene salvato automaticamente nella cartella 'runs/detect/predict'. Inoltre, se vuoi eseguire inferenze direttamente con il pacchetto Python MNN, consulta la documentazione ufficiale di Ultralytics per MNN per ulteriori dettagli ed esempi.

Fig. 3. Analisi del traffico con un modello Ultralytics YOLO11 esportato nel formato MNN. Immagine dell'autore.
Casi d'uso della distribuzione di modelli di AI edge resa possibile da Ultralytics YOLO11 e MNN#
Distribuire Ultralytics YOLO11 con MNN consente di svolgere rapidamente ed efficientemente attività di computer vision come il rilevamento di oggetti in ambienti in cui l'elaborazione basata sul cloud non è pratica o possibile. Vediamo come questa integrazione può rivelarsi particolarmente utile in scenari reali.
AI edge su dispositivi mobili per identificare le malattie delle piante#
Le app per identificare le malattie delle piante che usano la classificazione delle immagini stanno diventando sempre più popolari tra giardinieri, ricercatori e appassionati della natura. Basta una foto per individuare rapidamente i primi segni di una malattia, come macchie o scolorimenti sulle foglie. Poiché queste app vengono spesso usate all'aperto, dove l'accesso a Internet può essere limitato o assente, affidarsi all'elaborazione cloud può rivelarsi poco affidabile.
Dopo l'addestramento su un dataset come PlantDoc, un modello Ultralytics YOLO11 può essere esportato nel formato MNN ed eseguito direttamente sui dispositivi mobili. Il modello può quindi classificare le specie vegetali e rilevare localmente i sintomi visibili delle malattie, senza inviare dati a un server.

Fig. 4. Esempio di utilizzo di YOLO11 per rilevare su una foglia i segni della ruggine (una malattia delle piante) (fonte).
Inferenze efficienti sul dispositivo in ambito manifatturiero#
Il tracciamento preciso dei pacchi è essenziale nelle linee di produzione ad alto ritmo degli stabilimenti manifatturieri. Ultralytics YOLO11 può essere usato per tracciare e contare ogni articolo mentre attraversa i punti di controllo principali, aggiornando i conteggi in tempo reale e segnalando eventuali discrepanze. Ciò aiuta a ridurre le spedizioni perse o non contabilizzate e favorisce operazioni più fluide e affidabili.

Fig. 5. Tracciamento e conteggio dei pacchi con YOLO11 (fonte).
In questo contesto, l'integrazione MNN può avere un impatto particolarmente significativo. Una volta esportato in formato MNN, il modello Ultralytics YOLO11 può essere eseguito direttamente sui dispositivi compatti a basso consumo installati lungo il nastro trasportatore.
Poiché tutta l'elaborazione avviene localmente, il sistema può fornire un riscontro immediato e non richiede una connessione Internet. Questo garantisce prestazioni rapide e affidabili in fabbrica, mantenendo efficiente il flusso di produzione e assicurando al contempo elevata precisione e controllo.
Vantaggi dell'esportazione di Ultralytics YOLO11 nel formato 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 vengono generate in tempo reale con una latenza minima.
- Maggiore privacy dei dati: i dati restano sul dispositivo, riducendo la necessità di inviare al cloud immagini o video sensibili.
- Open source e aggiornato attivamente: sostenuto da Alibaba e supportato da una community attiva, MNN è affidabile e viene aggiornato regolarmente con miglioramenti delle prestazioni.
Aspetti da considerare quando usi il framework MNN#
Prima di scegliere MNN come framework di distribuzione, è importante valutare anche quanto sia adatto ai requisiti del tuo progetto, alle piattaforme di destinazione e ai vincoli tecnici. Ecco alcuni aspetti fondamentali da considerare:
- Compatibilità nel tempo: gli aggiornamenti del framework o le modifiche alle piattaforme di destinazione potrebbero richiedere nuovi test o adeguamenti per mantenere il corretto funzionamento.
- Meno strumenti di debug: rispetto ai framework più grandi, MNN dispone di strumenti più limitati per il debug e l'analisi del comportamento dei modelli, rendendo più difficile la risoluzione dei problemi.
- Le prestazioni dipendono dall'hardware: la velocità e l'efficienza del modello variano in base al dispositivo. Prova l'hardware di destinazione per verificare che soddisfi i tuoi obiettivi prestazionali.
Punti chiave#
Il supporto di Ultralytics all'integrazione MNN semplifica l'esportazione dei modelli YOLO11 per l'uso su dispositivi mobili ed embedded. È una soluzione pratica per le applicazioni che richiedono un rilevamento rapido e affidabile senza dipendere dall'accesso al cloud o da una connessione costante.
Questa configurazione semplifica la distribuzione mantenendo elevate le prestazioni e contenuto il consumo di risorse. Che tu stia realizzando sistemi per la casa intelligente, strumenti da usare sul campo o dispositivi industriali compatti, esportare Ultralytics YOLO11 in MNN offre un modo flessibile ed efficiente per eseguire attività di computer vision direttamente sui dispositivi edge.
Unisciti alla nostra community in continua crescita! Esplora il nostro repository GitHub per approfondire l'AI. Vuoi avviare i tuoi progetti di computer vision? Scopri le nostre opzioni di licenza. Approfondisci l'AI in ambito sanitario e la computer vision nel commercio al dettaglio nelle nostre pagine dedicate alle soluzioni!
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










