Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Distribuire Ultralytics YOLO11 senza problemi utilizzando l'integrazione MNN

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.

Oggigiorno, le innovazioni dell'IA si sono estese oltre gli ambienti server remoti. Le soluzioni di IA vengono integrate in dispositivi edge come sensori e smartphone. Grazie a questo cambiamento tecnologico, i dati possono ora essere gestiti direttamente dove vengono generati, consentendo risposte più rapide, una maggiore privacy e una minore dipendenza dalla connettività cloud costante.

Di conseguenza, l'edge AI 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 sempre più sistemi si spostano verso un'elaborazione più rapida 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 detect pedoni da parte dei veicoli, la computer vision supporta innumerevoli applicazioni pratiche in diversi settori.

Ciò è possibile grazie a modelli di visione computerizzata. Per esempio, Ultralytics YOLO11 è un modello che supporta diverse attività di IA di visione, 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 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 memoria limitata, processori più lenti e limiti di potenza rigorosi. 

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).

Fig. 2. Uno sguardo al framework MNN (Fonte).

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 dimensioni, velocità ed efficienza delle risorse sono fondamentali.

Caratteristiche principali del backend di inferenza MNN

Prima di esaminare come utilizzare l'integrazione MNN, vediamo cosa rende il framework MNN un'ottima scelta per l'esecuzione di modelli di IA su dispositivi reali. È progettato per gestire i vincoli specifici degli ambienti edge, offrendo al contempo prestazioni rapide e affidabili.

È interessante notare che MNN viene utilizzato internamente da Alibaba in oltre 30 applicazioni, tra cui Taobao, Tmall, Youku, DingTalk e Xianyu, in un'ampia gamma di scenari come video in diretta, contenuti brevi, ricerca di immagini e controlli di sicurezza sul dispositivo. Supporta implementazioni su larga scala ed esegue milioni di inferenze al giorno in ambienti di produzione.

Ecco alcune delle caratteristiche principali del framework 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, consentendogli di sfruttare appieno i processori multicore per un'inferenza più rapida.
  • 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 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.

Comprendere come funziona l'integrazione MNN

Vediamo quindi come esportare i modelli YOLO11 nel formato MNN.

Il primo passo consiste nell'installare il pacchettoUltralytics 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.

In caso di problemi durante l'installazione, consulta la guida ai problemi comuni per 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 tuo modello in MNN, puoi utilizzarlo su diverse piattaforme mobili ed embedded a seconda delle tue esigenze applicative.

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 detect oggetti come veicoli, pedoni e segnali stradali direttamente sul dispositivo, 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 'detect'. 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 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.

AI mobile edge per l'identificazione delle malattie delle piante

Le app 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 sola foto, gli utenti possono identificare rapidamente i primi segni di malattia, come macchie sulle foglie o scolorimento. Poiché queste app vengono spesso utilizzate in aree esterne dove l'accesso a Internet potrebbe 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 classify specie vegetali e detect sintomi visibili delle malattie a livello locale, senza inviare dati a un server. 

Figura 4. Un esempio di utilizzo di YOLO11 per detect segni di ruggine (una malattia delle piante) su una foglia(Fonte).

Inferenze efficienti on-device nel settore manifatturiero

La tracciabilità accurata dei colli è essenziale nelle linee di produzione più affollate degli stabilimenti produttivi. YOLO11 può essere utilizzato per track 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 localmente, il sistema è in grado di fornire un feedback istantaneo e non richiede alcuna connessione a Internet. Ciò garantisce prestazioni rapide e affidabili all'interno dello stabilimento, mantenendo la produzione in movimento in modo efficiente e preservando al contempo elevati livelli di accuratezza 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 predizioni avvengono in tempo reale con una latenza minima.
  • Maggiore privacy dei dati: I dati rimangono sul dispositivo, riducendo la necessità di inviare immagini o video sensibili al cloud.
  • Open-source e attivamente mantenuto: Supportato da Alibaba e supportato da una comunità attiva, MNN è affidabile e regolarmente aggiornato con miglioramenti delle prestazioni.

Fattori da considerare quando si utilizza il framework MNN

Prima di scegliere MNN come framework di deployment, è importante valutare anche quanto si adatti alle esigenze del tuo progetto, ai target di deployment 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 modifiche per mantenere tutto in funzione senza problemi.
  • 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 tuo modello varieranno a seconda del dispositivo. Testa il tuo hardware di destinazione per assicurarti che soddisfi i tuoi obiettivi di prestazioni.

Punti chiave

Il supporto di Ultralyticsper 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.

Unisciti alla nostra community in crescita! Esplora il nostro repository GitHub per approfondire la tua conoscenza dell'AI. Sei pronto per iniziare i tuoi progetti di computer vision? Scopri le nostre opzioni di licenza. Scopri di più sull'AI nel settore sanitario e sulla computer vision nel retail nelle nostre pagine delle soluzioni!

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis