Esportazione dei modelli Ultralytics YOLO11 nel formato modello NCNN
Esporta i modelli Ultralytics YOLO11 nel formato modello NCNN per eseguire inferenze IA efficienti e a bassa latenza su dispositivi edge con risorse di calcolo e potenza limitate.

Le soluzioni AI stanno diventando sempre più comuni, anche in settori ad alto rischio come la gestione delle catastrofi, la gestione dei rifiuti e la lotta antincendio. Con la crescita dell'adozione, i modelli AI vengono distribuiti in ambienti sempre più diversificati, non solo su server o nel cloud, ma direttamente su dispositivi operanti sul campo.
Ad esempio, droni e attrezzature con componenti edge alimentati da piccoli processori possono svolgere un ruolo cruciale nelle zone colpite da disastri. Dotati di termocamere, questi dispositivi possono raccogliere e analizzare dati in loco per individuare persone intrappolate sotto le macerie. Ciò è reso possibile dalla computer vision, una branca dell'intelligenza artificiale che interpreta le informazioni visive da immagini e video.
Tuttavia, distribuire modelli di AI per la visione su dispositivi edge non è semplice come potrebbe sembrare. I modelli di AI devono essere ottimizzati per funzionare in modo efficiente su hardware con potenza di calcolo e memoria limitate. Ecco perché framework di AI come NCNN sono essenziali. Aiutano a convertire e ottimizzare i modelli per prestazioni in tempo reale su dispositivi a basso consumo senza sacrificare la precisione.
In particolare, i modelli Ultralytics YOLO come Ultralytics YOLO11 possono essere facilmente esportati nel formato modello NCNN utilizzando l'integrazione NCNN supportata da Ultralytics. Convertire YOLO11 nel formato modello NCNN consente al modello di essere più veloce, utilizzare meno memoria e funzionare senza problemi su diversi dispositivi senza perdere precisione.
In questo articolo, esploreremo l' integrazione NCNN supportata da Ultralytics e vedremo come esportare il tuo modello YOLO11 nel formato modello NCNN. Iniziamo!
Link to this sectionUna panoramica di NCNN: un framework di rete neurale leggero#
NCNN è un framework di inferenza di rete neurale open source sviluppato da Tencent. È stato progettato specificamente per ambienti mobile ed edge, consentendo un'inferenza ad alte prestazioni con un ingombro minimo. Ciò lo rende ideale per la distribuzione su dispositivi con risorse limitate come smartphone, droni e dispositivi IoT (Internet of Things).
Il framework NCNN ha guadagnato popolarità nella comunità dell'AI e del deep learning grazie alla sua efficienza, portabilità e ottimizzazione per CPU (Central Processing Units) mobili. Consente agli sviluppatori di eseguire modelli di rete neurale su dispositivi economici con memoria e potenza di calcolo limitate. Progettato per essere semplice e flessibile, NCNN supporta un'ampia gamma di modelli di computer vision e funziona su diverse piattaforme, tra cui Android, Linux, iOS e macOS.

Fig 1. I modelli in formato NCNN possono essere distribuiti su molte piattaforme.
Link to this sectionCaratteristiche principali dell'ottimizzazione delle prestazioni di NCNN#
Ecco alcune delle caratteristiche principali che rendono NCNN un framework di inferenza di rete neurale 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 (Graphics Processing Units) o NPU (Neural Processing Units).
- Quantizzazione del modello: Per le applicazioni in cui memoria e velocità sono critiche, NCNN supporta metodi di quantizzazione che riducono le dimensioni del modello e migliorano il tempo di inferenza. Aiuta a eseguire i modelli AI in modo fluido su dispositivi mobili ed embedded.
- Open source e accessibile: Essendo un framework open source, NCNN è disponibile gratuitamente per chiunque voglia usarlo, modificarlo e migliorarlo. Ciò incoraggia l'innovazione e l'adozione diffusa in una varietà di casi d'uso.
- Sviluppo attivo e comunità: NCNN viene attivamente mantenuto su GitHub da Tencent e da una crescente comunità di sviluppatori, con aggiornamenti regolari e miglioramenti della compatibilità dei modelli.
Link to this sectionEsportazione di YOLO11 nel formato modello NCNN: una guida rapida#
Ora che abbiamo discusso cos'è NCNN, esaminiamo più da vicino come esportare i modelli YOLO11 nel formato NCNN.
Link to this sectionPassaggio 1: Installa il pacchetto Python di Ultralytics#
Prima di esportare il modello, il primo passo è installare il pacchetto Python di Ultralytics utilizzando il gestore di pacchetti, pip. Puoi farlo eseguendo "pip install ultralytics" nel tuo terminale o prompt dei comandi. Se lavori in un Jupyter Notebook 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, perfezionare ed esportare modelli di visione AI per una varietà 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.
Link to this sectionPassaggio 2: Esportazione di Ultralytics YOLO11#
Dopo aver installato il pacchetto Ultralytics, puoi caricare il tuo modello YOLO11 ed esportarlo nel formato NCNN. L'esempio seguente utilizza un modello pre-addestrato ("yolo11n.pt") ed lo esporta in formato NCNN, salvando l'output in una cartella denominata "/yolo11n_ncnn_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")Il modello YOLO11 esportato può quindi essere distribuito su vari dispositivi leggeri come smartphone, sistemi embedded o piattaforme IoT. Anche il processo di distribuzione è molto semplificato.
Ad esempio, considera il frammento di codice qui sotto, che mostra come caricare il modello esportato ed eseguire l'inferenza. L'inferenza si riferisce al processo di utilizzo di un modello addestrato per effettuare previsioni su dati nuovi e non visti. In questo esempio, il modello viene testato su un'immagine di un uomo in bicicletta, recuperata da un URL disponibile 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 utilizzando un modello YOLO11 esportato in formato NCNN. Immagine dell'autore.
Link to this sectionPerché scegliere il rilevamento in tempo reale con NCNN#
Mentre esplori le varie integrazioni supportate da Ultralytics, potresti notare che ci sono diverse opzioni di esportazione disponibili. Quindi, quando dovresti scegliere il formato NCNN?
Il formato di esportazione NCNN è una scelta affidabile quando devi distribuire modelli YOLO11 su dispositivi con risorse limitate. È particolarmente utile per applicazioni in tempo reale che vengono eseguite direttamente sul dispositivo, come i dispositivi edge, senza bisogno di una connessione al cloud. Ciò significa che il modello può gestire attività come il rilevamento di oggetti direttamente sul posto.
Ecco alcuni scenari comuni in cui NCNN è un'ottima soluzione:
-
Distribuzione mobile: Il formato NCNN è ottimizzato per Android e iOS, facilitando l'integrazione dei modelli nelle app mobili per un'inferenza rapida sul dispositivo con una latenza minima.
-
Sistemi embedded e dispositivi IoT: Se stai effettuando la distribuzione su dispositivi come Raspberry Pi o NVIDIA Jetson, l'esportazione in NCNN può aiutare a migliorare le prestazioni e la reattività.
-
Distribuzione desktop e server: Sebbene NCNN sia ottimo per dispositivi a basso consumo, supporta anche Linux, Windows e macOS per ambienti desktop e server. Ciò offre agli sviluppatori opzioni flessibili per la distribuzione.

Fig 3. Opzioni per la distribuzione del modello YOLO11 con NCNN. Immagine dell'autore.
Link to this sectionCasi d'uso della distribuzione del modello YOLO11 con NCNN#
Ora, immergiamoci in alcuni casi d'uso pratici in cui l'esportazione dei modelli YOLO11 in NCNN può fare davvero la differenza.
Link to this sectionCaschi con AI per la visione per la lotta antincendio#
I caschi di sicurezza dotati di telecamere e micro-computer integrati possono essere utilizzati in settori come l'edilizia e la lotta antincendio per migliorare la sicurezza e la consapevolezza. Modelli di visione AI in tempo reale, come YOLO11, possono essere eseguiti su questi dispositivi per rilevare vari tipi di oggetti e attrezzature. Ad esempio, tali caschi possono aiutare i vigili del fuoco a rilevare persone, ostacoli o pericoli in condizioni di scarsa visibilità.
Tuttavia, eseguire modelli di dimensioni complete direttamente su dispositivi indossabili può causare prestazioni lente e drenare rapidamente la batteria. In questo caso, utilizzare l'integrazione NCNN è una scelta intelligente. Consente un'inferenza a bassa latenza ed efficiente dal punto di vista energetico.
Link to this sectionClassificazione dei rifiuti e bidoni intelligenti#
Allo stesso modo, i bidoni dei rifiuti intelligenti possono essere integrati con telecamere e processori AI edge compatti per identificare e smistare i materiali man mano che vengono gettati. Modelli di visione AI come YOLO11 possono essere addestrati su misura per rilevare diversi tipi di materiali di scarto come carta, plastica, gomma, ecc.
Una volta identificato il rifiuto, può essere automaticamente smistato in scomparti separati in base alla sua riutilizzabilità. Utilizzando l'edge AI insieme ai modelli YOLO11 esportati nel formato NCNN, questi bidoni possono elaborare i dati localmente, senza bisogno di una connessione Internet. Ciò consente loro di operare in modo autonomo e prendere decisioni di smistamento in tempo reale con un ritardo minimo.

Fig 4. Rilevamento di materiali di scarto in plastica utilizzando YOLO11.
Link to this sectionMonitoraggio del bestiame utilizzando droni e computer vision#
A volte, le aree agricole in luoghi remoti non hanno accesso a connessioni Internet stabili o persino a un'alimentazione costante, il che limita la loro capacità di eseguire applicazioni AI online. In questi casi, i dispositivi edge e i droni possono essere utilizzati per gestire una varietà di attività.
Un buon esempio è il monitoraggio del bestiame come bovini, ovini e pollame. Questo può essere fatto utilizzando modelli di visione AI come YOLO11, che possono essere utilizzati per tracciare il movimento degli animali, rilevare segni di lesioni, malattie o comportamenti anomali e avvisare gli agricoltori quando gli animali scompaiono. L'integrazione NCNN rende inoltre possibile eseguire ed elaborare questi dati direttamente sui dispositivi edge, rendendolo una soluzione ideale per l'analisi di immagini e video nelle aziende agricole in aree remote o fuori rete.

Fig 5. Uno sguardo all'utilizzo di YOLO11 per monitorare il bestiame.
Link to this sectionPunti chiave#
Esportare i modelli YOLO11 utilizzando l'integrazione NCNN supportata da Ultralytics è un modo semplice per portare l'AI per la visione in ambienti a basso consumo. Che si tratti di droni in zone colpite da disastri, bidoni intelligenti per lo smistamento dei rifiuti o monitoraggio del bestiame in aziende agricole remote, YOLO e NCNN consentono inferenze AI in tempo reale che sono veloci, efficienti e portatili. Questo approccio aiuta a rendere i sistemi AI più accessibili e affidabili quando conta di più.
Vuoi saperne di più sull'AI? Esplora il nostro repository GitHub, connettiti con la nostra comunità e dai un'occhiata alle nostre opzioni di licenza per dare il via al tuo progetto di computer vision. Scopri come innovazioni come l' AI nel retail e la computer vision nell'assistenza sanitaria stanno plasmando il futuro sulle nostre pagine delle soluzioni.






