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 di intelligenza artificiale stanno diventando sempre più comuni, anche in settori ad alto rischio come la gestione delle emergenze, la gestione dei rifiuti e la lotta antincendio. Con la continua crescita dell'adozione, i modelli di intelligenza artificiale vengono distribuiti in ambienti sempre più diversi, non solo su server o nel cloud, ma direttamente su dispositivi operativi sul campo.
Ad esempio, droni e attrezzature con componenti edge alimentati da piccoli processori possono giocare un ruolo cruciale nelle zone disastrate. Dotati di telecamere termiche, questi dispositivi possono raccogliere e analizzare dati in loco per individuare persone intrappolate sotto le macerie. Ciò è reso possibile dalla computer vision, un ramo 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. La conversione di YOLO11 nel formato modello NCNN consente al modello di funzionare più velocemente, utilizzare meno memoria e girare 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!
Una 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'intelligenza artificiale e del deep learning grazie alla sua efficienza, portabilità e ottimizzazione per le CPU mobili (Central Processing Units). 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 computer vision e funziona su più piattaforme, tra cui Android, Linux, iOS e macOS.

Fig 1. I modelli in formato NCNN possono essere distribuiti su molte piattaforme.
Caratteristiche 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 la memoria e la velocità sono fondamentali, NCNN supporta metodi di quantizzazione che riducono le dimensioni del modello e migliorano il tempo di inferenza. Aiuta a eseguire i modelli di intelligenza artificiale senza intoppi su dispositivi mobili e 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.
Esportazione di Ultralytics YOLO11 nel formato del modello NCNN: una guida rapida#
Ora che abbiamo discusso cos'è NCNN, diamo un'occhiata più da vicino a 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 di Ultralytics tramite il gestore di pacchetti pip. Puoi farlo eseguendo "pip install ultralytics" nel tuo terminale o prompt dei comandi. Se stai lavorando 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, ottimizzare ed esportare modelli di intelligenza artificiale visiva 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.
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 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 Ultralytics 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 tramite un modello Ultralytics YOLO11 esportato in formato NCNN. Immagine dell'autore.
Perché scegliere il rilevamento in tempo reale con NCNN#
Mentre esplori le varie integrazioni supportate da Ultralytics, potresti notare che sono disponibili diverse opzioni di esportazione. Quindi, quando dovresti scegliere il formato NCNN?
Il formato di esportazione NCNN è una scelta affidabile quando devi distribuire i modelli Ultralytics YOLO11 su dispositivi con risorse limitate. È particolarmente utile per le 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 il rilascio del modello Ultralytics YOLO11 con NCNN. Immagine dell'autore.
Casi d'uso del rilascio del modello Ultralytics YOLO11 con NCNN#
Successivamente, ci addentriamo in alcuni casi d'uso pratici in cui l'esportazione dei modelli Ultralytics YOLO11 in NCNN può fare una vera differenza.
Caschi con AI per la visione per la lotta antincendio#
I caschi di sicurezza dotati di telecamere e microcomputer integrati possono essere utilizzati in settori come edilizia e antincendio per migliorare la sicurezza e la consapevolezza. I modelli di IA di visione in tempo reale, come Ultralytics 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.
Classificazione dei rifiuti e bidoni intelligenti#
Allo stesso modo, i bidoni della spazzatura intelligenti possono essere integrati con telecamere e processori edge AI compatte per identificare e smistare i materiali mentre vengono gettati via. I modelli di computer vision come YOLO11 possono essere addestrati su misura per rilevare diversi tipi di materiali di scarto come carta, plastica, gomma, ecc.
Una volta identificati i rifiuti, possono essere smistati automaticamente in scomparti separati in base alla loro riutilizzabilità. Utilizzando l'edge AI insieme ai modelli Ultralytics YOLO11 esportati in formato NCNN, questi contenitori 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 rifiuti in plastica tramite YOLO11.
Monitoraggio 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, pecore e pollame. Questo può essere fatto utilizzando modelli di computer vision come YOLO11, che possono essere impiegati 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 anche possibile eseguire ed elaborare questi dati direttamente sui dispositivi edge, rendendola ideale per l'analisi di immagini e video in fattorie in aree remote o off-grid.

Fig 5. Uno sguardo all'uso di YOLO11 per monitorare il bestiame.
Punti 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'intelligenza artificiale? Esplora il nostro repository GitHub, connettiti con la nostra comunità e dai un'occhiata alle nostre opzioni di licensing per dare il via al tuo progetto di computer vision. Scopri come innovazioni come l'intelligenza artificiale nel retail e la computer vision nella sanità stanno plasmando il futuro nelle nostre pagine delle soluzioni.






