Esportare i modelli Ultralytics YOLO11 nel formato del modello NCNN
Esporta i modelli Ultralytics YOLO11 nel formato NCNN per eseguire inferenze efficienti e a bassa latenza su dispositivi edge con risorse di calcolo ed energia limitate.
Abirami Vina9 min di lettura
Le soluzioni di IA sono sempre più diffuse, anche in settori critici come la gestione delle catastrofi, la gestione dei rifiuti e la lotta agli incendi. Con la crescente adozione, i modelli di IA vengono implementati in ambienti sempre più diversi, non solo su server o nel cloud, ma direttamente sui dispositivi in funzione sul campo.
Ad esempio, droni e apparecchiature con componenti edge alimentati da piccoli processori possono svolgere un ruolo fondamentale nelle zone colpite da calamità. Dotati di termocamere, questi dispositivi possono raccogliere e analizzare dati sul posto per localizzare le persone intrappolate sotto le macerie. Questo è possibile grazie alla visione artificiale, un ramo dell'intelligenza artificiale che interpreta le informazioni visive provenienti da immagini e video.
Tuttavia, distribuire modelli di IA per la visione su dispositivi edge non è semplice come potrebbe sembrare. I modelli di IA devono essere ottimizzati per funzionare in modo efficiente su hardware con potenza di calcolo e memoria limitate. Ecco perché i framework di IA come NCNN sono essenziali: aiutano a convertire e ottimizzare i modelli per ottenere prestazioni in tempo reale su dispositivi a basso consumo, con una perdita minima di precisione.
In particolare, i modelli Ultralytics YOLO come Ultralytics YOLO11 possono essere esportati facilmente nel formato NCNN grazie all’integrazione NCNN supportata da Ultralytics. Convertire YOLO11 nel formato NCNN permette al modello di funzionare più velocemente, usare meno memoria e operare senza problemi su dispositivi diversi, con una perdita minima di precisione.
In questo articolo vedremo l’integrazione NCNN supportata da Ultralytics e ti mostreremo come esportare il tuo modello YOLO11 nel formato NCNN.
Panoramica di NCNN: un framework leggero per reti neurali#
NCNN è un framework open source per l'inferenza delle reti neurali sviluppato da Tencent. È stato progettato appositamente per gli ambienti mobili ed edge, offrendo inferenze ad alte prestazioni con un ingombro minimo. Questo lo rende ideale per la distribuzione su dispositivi con risorse limitate, come smartphone, droni e dispositivi IoT (Internet delle cose).
Il framework NCNN si è diffuso nella comunità dell'IA e del deep learning grazie alla sua efficienza, portabilità e ottimizzazione per le CPU mobili (unità centrali di elaborazione). Consente agli sviluppatori di eseguire modelli di reti neurali su dispositivi economici con memoria e potenza di elaborazione limitate. Progettato per essere semplice e flessibile, NCNN supporta un'ampia gamma di modelli di visione artificiale e funziona su diverse piattaforme, tra cui Android, Linux, iOS e macOS.

Fig 1. I modelli in formato NCNN possono essere distribuiti su numerose piattaforme.
Caratteristiche principali dell'ottimizzazione delle prestazioni di NCNN#
Ecco alcune delle caratteristiche principali che rendono NCNN un framework per l'inferenza delle reti neurali efficace e ampiamente utilizzato:
- Runtime leggero e indipendente dall'hardware: il framework NCNN è ottimizzato per eseguire modelli su CPU standard e non richiede hardware specializzato come GPU (unità di elaborazione grafica) o NPU (unità di elaborazione neurale).
- Quantizzazione del modello: per le applicazioni in cui memoria e velocità sono fondamentali, NCNN supporta metodi di quantizzazione che riducono le dimensioni del modello e migliorano i tempi di inferenza. Questo aiuta a eseguire senza problemi i modelli di IA su dispositivi mobili e integrati.
- Open source e accessibile: essendo un framework open source, NCNN è disponibile gratuitamente per chiunque voglia usarlo, modificarlo e migliorarlo. Questo favorisce l'innovazione e un'ampia adozione in una varietà di casi d'uso.
- Sviluppo attivo e community: Tencent e una comunità di sviluppatori in crescita mantengono attivamente NCNN su GitHub, con aggiornamenti regolari e miglioramenti della compatibilità dei modelli.
Esportare Ultralytics YOLO11 nel formato di modello NCNN: guida rapida#
Ora che abbiamo visto cos'è NCNN, esaminiamo più da vicino come esportare i modelli Ultralytics YOLO11 nel formato NCNN.
Passaggio 1: installa il pacchetto Python di Ultralytics#
Prima di esportare il modello, il primo passaggio consiste nell’installare il pacchetto Python Ultralytics usando il programma di installazione dei pacchetti pip. Per farlo, esegui pip install ultralytics nel terminale o nel prompt dei comandi. Se lavori in un notebook Jupyter o in Google Colab, aggiungi un punto esclamativo prima del comando, in questo modo: !pip install ultralytics.
Il pacchetto Ultralytics fornisce strumenti per addestrare, testare, ottimizzare e esportare modelli di AI visiva per una vasta gamma di attività di computer vision. Se riscontri problemi durante l'installazione o l'esportazione di un modello, la documentazione ufficiale di Ultralytics e la guida ai problemi comuni sono ottime risorse per la risoluzione dei problemi.
Passaggio 2: esportazione di Ultralytics YOLO11#
Dopo aver installato il pacchetto Ultralytics, puoi caricare il tuo modello YOLO11 ed esportarlo nel formato NCNN. L’esempio qui sotto usa un modello YOLO11n preaddestrato (yolo11n.pt) e lo esporta nel formato NCNN, salvando l’output in una cartella chiamata yolo11n_ncnn_model.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")Il modello Ultralytics YOLO11 esportato può quindi essere distribuito su vari dispositivi leggeri, come smartphone, sistemi embedded o piattaforme IoT. Anche il processo di distribuzione è molto semplice.
Considera, ad esempio, il frammento di codice qui sotto, che mostra come caricare il modello esportato ed eseguire l’inferenza. L’inferenza è il processo con cui si usa un modello addestrato per fare previsioni su dati nuovi e mai visti. In questo esempio, il modello viene testato su un’immagine di un uomo in bicicletta, recuperata da un URL accessibile pubblicamente.
ncnn_model = YOLO("./yolo11n_ncnn_model")
results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)Dopo aver eseguito il codice, troverai l’immagine di output nella cartella runs/detect/predict.

Fig. 2. Rilevamento di oggetti con un modello Ultralytics YOLO11 esportato in formato NCNN. Immagine dell'autore.
Perché scegliere il rilevamento in tempo reale con NCNN#
Esplorando le varie integrazioni supportate da Ultralytics, potresti notare che sono disponibili diverse opzioni di esportazione. Quando conviene quindi scegliere il formato NCNN?
Il formato di esportazione NCNN è una scelta affidabile quando devi distribuire modelli Ultralytics YOLO11 su dispositivi con risorse limitate. È particolarmente utile per le applicazioni in tempo reale eseguite direttamente sul dispositivo, come quelle sui dispositivi edge, senza bisogno di una connessione al cloud. Ciò consente al modello di svolgere attività come il rilevamento di oggetti direttamente sul posto.
Ecco alcuni scenari comuni in cui NCNN è particolarmente adatto:
- Distribuzione su dispositivi mobili: il formato NCNN è ottimizzato per Android e iOS e semplifica l'integrazione dei modelli nelle app mobili, per un'inferenza rapida sul dispositivo e con una latenza minima.
- Sistemi embedded e dispositivi IoT: Se distribuisci il modello su dispositivi come Raspberry Pi o NVIDIA Jetson, l’esportazione in NCNN può migliorare le prestazioni e la reattività.
- Distribuzione su desktop e server: sebbene NCNN sia ideale per i dispositivi a basso consumo, supporta anche Linux, Windows e macOS in ambienti desktop e server. Questo offre agli sviluppatori opzioni di distribuzione flessibili.

Fig. 3. Opzioni per distribuire modelli Ultralytics YOLO11 con NCNN. Immagine dell'autore.
Casi d'uso della distribuzione di modelli Ultralytics YOLO11 con NCNN#
Vediamo ora alcuni casi d’uso pratici in cui esportare i modelli Ultralytics YOLO11 in NCNN può fare davvero la differenza.
Caschi per vigili del fuoco dotati di AI visiva#
I caschi di sicurezza dotati di telecamere e microcomputer embedded possono essere usati in settori come l'edilizia e la lotta antincendio per migliorare la sicurezza e la consapevolezza della situazione. Su questi dispositivi è possibile eseguire modelli di AI visiva in tempo reale, come Ultralytics YOLO11, per rilevare vari tipi di oggetti e attrezzature. Ad esempio, questi caschi possono aiutare i vigili del fuoco a individuare persone, ostacoli o pericoli in condizioni di scarsa visibilità.
Tuttavia, eseguire modelli di grandi dimensioni direttamente sui dispositivi indossabili può rallentare le prestazioni e scaricare rapidamente la batteria. In questo caso, usare l'integrazione NCNN è una scelta intelligente. Consente un'inferenza a bassa latenza e a basso consumo energetico.
Classificazione dei rifiuti e cestini intelligenti#
Allo stesso modo, i cestini intelligenti possono essere integrati con telecamere e processori di IA edge compatti per identificare e smistare i materiali mentre vengono gettati. I modelli di IA per la visione come YOLO11 possono essere addestrati su dati personalizzati per rilevare diversi tipi di rifiuti, come carta, plastica, gomma e così via.
Una volta identificati, i rifiuti possono essere smistati automaticamente in scomparti separati in base alla possibilità di riutilizzarli. Usando l'AI edge insieme ai modelli Ultralytics YOLO11 esportati in formato NCNN, questi cestini possono elaborare i dati localmente, senza bisogno di una connessione Internet. Ciò consente loro di operare in autonomia e prendere decisioni di smistamento in tempo reale con un ritardo minimo.

Fig. 4. Rilevamento di rifiuti di plastica con YOLO11.
Monitoraggio del bestiame con droni e computer vision#
A volte le aree agricole in località remote non dispongono di connessioni Internet stabili o persino di un'alimentazione elettrica costante, il che limita la possibilità di eseguire applicazioni di AI online. In questi casi, è possibile usare dispositivi edge e droni per svolgere diverse attività.
Un buon esempio è il monitoraggio del bestiame, come bovini, ovini e pollame. È possibile farlo con modelli di AI visiva come YOLO11, che possono tracciare gli spostamenti degli animali, rilevare segni di lesioni, malattie o comportamenti anomali e avvisare gli allevatori quando gli animali si smarriscono. L'integrazione NCNN consente inoltre di eseguire ed elaborare questi dati direttamente sui dispositivi edge, risultando ideale per l'analisi di immagini e video nelle aziende agricole remote o non collegate alla rete elettrica.

Fig. 5. Esempio di utilizzo di YOLO11 per monitorare il bestiame.
Punti chiave#
Esportare i modelli YOLO11 usando l’integrazione NCNN supportata da Ultralytics è un modo semplice per portare l’IA per la visione in ambienti a basso consumo. Che si tratti di droni nelle zone colpite da calamità, cestini intelligenti per la raccolta differenziata o monitoraggio del bestiame in fattorie isolate, YOLO e NCNN consentono di eseguire inferenze di IA in tempo reale in modo rapido, efficiente e portatile. Questo approccio rende i sistemi di IA più accessibili e affidabili nei momenti in cui sono più importanti.
Vuoi saperne di più sull'AI? Esplora il nostro repository GitHub, entra in contatto con la nostra community e scopri le nostre opzioni di licenza per dare il via al tuo progetto di computer vision. Scopri come innovazioni quali l'AI nel commercio al dettaglio e la computer vision in ambito sanitario stanno plasmando il futuro nelle nostre pagine dedicate alle soluzioni.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










